homebrew-core/Formula/lldpd.rb
Vincent Bernat f6b041ee96 lldpd 0.7.1
lldpd is a 802.1AB implementation (LLDP). It discovers L2 neighbors
along with some information like hostname, port name, VLAN, etc.

Formula comes with support for launchd, creation of privilege
separation user and group and optional SNMP support.

Closes Homebrew/homebrew#17052.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
2013-04-20 09:38:08 -07:00

61 lines
1.7 KiB
Ruby

require 'formula'
class Lldpd < Formula
homepage 'http://vincentbernat.github.io/lldpd/'
url 'http://media.luffy.cx/files/lldpd/lldpd-0.7.1.tar.gz'
sha1 '8eb804ee6b93d12486ee0527828b752dc43158f9'
option 'with-snmp', "Build SNMP subagent support"
option 'with-json', "Build JSON support for lldpcli"
depends_on 'pkg-config' => :build
depends_on 'readline'
depends_on 'libevent'
depends_on 'net-snmp' if build.include? 'with-snmp'
depends_on 'jansson' if build.include? 'with-json'
def install
readline = Formula.factory 'readline'
args = [ "--prefix=#{prefix}",
"--with-xml",
"--with-readline",
"--with-privsep-chroot=/var/empty",
"--with-privsep-user=nobody",
"--with-privsep-group=nogroup",
"CPPFLAGS=-I#{readline.include} -DRONLY=1",
"LDFLAGS=-L#{readline.lib}" ]
args << "--with-snmp" if build.include? 'with-snmp'
args << "--with-json" if build.include? 'with-json'
system "./configure", *args
system "make"
system "make install"
end
plist_options :startup => true
def plist
additional_args = ""
if build.include? 'with-snmp'
additional_args += "<string>-x</string>"
end
return <<-EOS.undent
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>#{plist_name}</string>
<key>ProgramArguments</key>
<array>
<string>#{opt_prefix}/sbin/lldpd</string>
#{additional_args}
</array>
<key>RunAtLoad</key><true/>
<key>KeepAlive</key><true/>
</dict>
</plist>
EOS
end
end