summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/lldpd')
-rw-r--r--net-misc/lldpd/Manifest2
-rw-r--r--net-misc/lldpd/files/lldpd-0.7.11-bash-completion-dir.patch9
-rw-r--r--net-misc/lldpd/files/lldpd-0.7.11-zsh-completion-dir.patch7
-rw-r--r--net-misc/lldpd/files/lldpd-confd-15
-rw-r--r--net-misc/lldpd/files/lldpd-initd-420
-rw-r--r--net-misc/lldpd/files/lldpd.service12
-rw-r--r--net-misc/lldpd/lldpd-0.7.11-r3.ebuild100
-rw-r--r--net-misc/lldpd/lldpd-0.7.13.ebuild101
-rw-r--r--net-misc/lldpd/metadata.xml35
9 files changed, 291 insertions, 0 deletions
diff --git a/net-misc/lldpd/Manifest b/net-misc/lldpd/Manifest
new file mode 100644
index 000000000000..731b417caaba
--- /dev/null
+++ b/net-misc/lldpd/Manifest
@@ -0,0 +1,2 @@
+DIST lldpd-0.7.11.tar.gz 1509215 SHA256 5257169e0de6037e81efb1bcb26f6dd5755e3efa0a025144d6763bdfaf982e6b SHA512 7f5454ef4255a4fae0e323703d607bd93254b8a511984e434539d0305de1298f8bcf481beb2f121876bedc9890e6f1338cc30f5b08d7b5cf261cf87d5bb69bff WHIRLPOOL 710826936318099a562c7503653ce002c60256055e5f34d7328e7bc5397805c5790670efcc746a11f5abb5a2ff1b6590c888a3ccf02048f260f83a6ea855f28a
+DIST lldpd-0.7.13.tar.gz 1523864 SHA256 bbba3ef922f6b6cc6d2c0f008066dc882750557661c54dd1b97ae7936678d92d SHA512 3fa476a3e06e2d5c15a29a3b46bfd2e147bdd55884fef4748f1197454cde45f82d33e4cc66eb70e559a1e3ad150577781d308b2f39c08f86d75412368099d4a5 WHIRLPOOL c641e0f9f21ce9510a7e30f14ccc0ab34c54251ccbec5317a30504f5b4bca4b64e88391d7a252340490a919bb1d13764627404d1f2c2b9d19057f5b4ca561a97
diff --git a/net-misc/lldpd/files/lldpd-0.7.11-bash-completion-dir.patch b/net-misc/lldpd/files/lldpd-0.7.11-bash-completion-dir.patch
new file mode 100644
index 000000000000..9e2735d737a2
--- /dev/null
+++ b/net-misc/lldpd/files/lldpd-0.7.11-bash-completion-dir.patch
@@ -0,0 +1,9 @@
+diff --git a/src/client/Makefile.am b/src/client/Makefile.am
+index 454bdeb..f1580a0 100644
+--- a/src/client/Makefile.am
++++ b/src/client/Makefile.am
+@@ -44,2 +44,2 @@ endif
+-bashcompletiondir = $(sysconfdir)/bash_completion.d
+-dist_bashcompletion_DATA = lldpcli.bash-completion
++bashcompletiondir = $(datadir)/bash-completion/completions
++dist_bashcompletion_DATA = lldpcli
diff --git a/net-misc/lldpd/files/lldpd-0.7.11-zsh-completion-dir.patch b/net-misc/lldpd/files/lldpd-0.7.11-zsh-completion-dir.patch
new file mode 100644
index 000000000000..ff20d9aabc75
--- /dev/null
+++ b/net-misc/lldpd/files/lldpd-0.7.11-zsh-completion-dir.patch
@@ -0,0 +1,7 @@
+diff --git a/src/client/Makefile.am b/src/client/Makefile.am
+index 454bdeb..fd391fd 100644
+--- a/src/client/Makefile.am
++++ b/src/client/Makefile.am
+@@ -46 +46 @@ dist_bashcompletion_DATA = lldpcli.bash-completion
+-zshcompletiondir = $(datadir)/zsh/vendor-completions
++zshcompletiondir = $(datadir)/zsh/site-functions
diff --git a/net-misc/lldpd/files/lldpd-confd-1 b/net-misc/lldpd/files/lldpd-confd-1
new file mode 100644
index 000000000000..f719a1381d80
--- /dev/null
+++ b/net-misc/lldpd/files/lldpd-confd-1
@@ -0,0 +1,5 @@
+# /etc/conf.d/lldpd: config file for /etc/init.d/lldpd
+
+# see man page for lldpd or run `lldpd -h`
+# for valid cmdline options
+#LLDPD_OPTS=""
diff --git a/net-misc/lldpd/files/lldpd-initd-4 b/net-misc/lldpd/files/lldpd-initd-4
new file mode 100644
index 000000000000..49f996cf7984
--- /dev/null
+++ b/net-misc/lldpd/files/lldpd-initd-4
@@ -0,0 +1,20 @@
+#!/sbin/runscript
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+name=lldpd
+pidfile=/run/lldpd.pid
+command=/usr/sbin/lldpd
+retry="TERM/10/KILL/5"
+command_args="${LLDPD_OPTS}"
+
+depend() {
+ use net
+}
+
+start_pre() {
+ checkpath --directory /run/lldpd
+}
+
+# vim:ft=gentoo-init-d:noet:ts=4:sts=4:sw=4:
diff --git a/net-misc/lldpd/files/lldpd.service b/net-misc/lldpd/files/lldpd.service
new file mode 100644
index 000000000000..c5be8a830021
--- /dev/null
+++ b/net-misc/lldpd/files/lldpd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Link Layer Discovery Protocol daemon
+After=syslog.target
+After=network.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/sbin/lldpd
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-misc/lldpd/lldpd-0.7.11-r3.ebuild b/net-misc/lldpd/lldpd-0.7.11-r3.ebuild
new file mode 100644
index 000000000000..c51e9337131d
--- /dev/null
+++ b/net-misc/lldpd/lldpd-0.7.11-r3.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils user systemd bash-completion-r1 autotools
+
+DESCRIPTION="Implementation of IEEE 802.1ab (LLDP)"
+HOMEPAGE="http://vincentbernat.github.com/lldpd/"
+SRC_URI="http://media.luffy.cx/files/${PN}/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="cdp doc +dot1 +dot3 edp fdp graph jansson json-c +lldpmed seccomp sonmp
+ snmp static-libs readline xml zsh-completion"
+
+RDEPEND=">=dev-libs/libevent-2.0.5
+ snmp? ( net-analyzer/net-snmp[extensible(+)] )
+ xml? ( dev-libs/libxml2 )
+ jansson? ( dev-libs/jansson )
+ json-c? ( dev-libs/json-c )
+ seccomp? ( sys-libs/libseccomp )
+ zsh-completion? ( app-shells/zsh )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ graph? ( app-doc/doxygen[dot] )
+ !graph? ( app-doc/doxygen )
+ )"
+
+REQUIRED_USE="graph? ( doc ) json-c? ( !jansson )"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-zsh-completion-dir.patch
+ "${FILESDIR}"/${P}-bash-completion-dir.patch
+)
+
+pkg_setup() {
+ ebegin "Creating lldpd user and group"
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+ eend $?
+}
+
+src_prepare() {
+ epatch "${PATCHES[@]}"
+ epatch_user
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --without-embedded-libevent \
+ --with-privsep-user=${PN} \
+ --with-privsep-group=${PN} \
+ --with-privsep-chroot=/run/${PN} \
+ --with-lldpd-ctl-socket=/run/${PN}.socket \
+ --with-lldpd-pid-file=/run/${PN}.pid \
+ --docdir=/usr/share/doc/${PF} \
+ $(use_enable graph doxygen-dot) \
+ $(use_enable doc doxygen-man) \
+ $(use_enable doc doxygen-pdf) \
+ $(use_enable doc doxygen-html) \
+ $(use_enable cdp) \
+ $(use_enable dot1) \
+ $(use_enable dot3) \
+ $(use_enable edp) \
+ $(use_enable fdp) \
+ $(use_enable lldpmed) \
+ $(use_enable sonmp) \
+ $(use_enable static-libs static) \
+ $(use_with json-c) \
+ $(use_with jansson) \
+ $(use_with readline) \
+ $(use_with seccomp) \
+ $(use_with snmp) \
+ $(use_with xml)
+}
+
+src_compile() {
+ emake
+ use doc && emake doxygen-doc
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ prune_libtool_files
+
+ newinitd "${FILESDIR}"/${PN}-initd-4 ${PN}
+ newconfd "${FILESDIR}"/${PN}-confd-1 ${PN}
+ newbashcomp src/client/lldpcli.bash-completion lldpcli
+
+ use doc && dohtml -r doxygen/html/*
+
+ keepdir /etc/${PN}.d
+
+ systemd_dounit "${FILESDIR}"/${PN}.service
+}
diff --git a/net-misc/lldpd/lldpd-0.7.13.ebuild b/net-misc/lldpd/lldpd-0.7.13.ebuild
new file mode 100644
index 000000000000..ed5c658d6f3c
--- /dev/null
+++ b/net-misc/lldpd/lldpd-0.7.13.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils user systemd bash-completion-r1 autotools
+
+DESCRIPTION="Implementation of IEEE 802.1ab (LLDP)"
+HOMEPAGE="http://vincentbernat.github.com/lldpd/"
+SRC_URI="http://media.luffy.cx/files/${PN}/${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cdp doc +dot1 +dot3 edp fdp graph jansson json-c +lldpmed seccomp sonmp
+ snmp static-libs readline xml zsh-completion"
+
+RDEPEND=">=dev-libs/libevent-2.0.5
+ snmp? ( net-analyzer/net-snmp[extensible(+)] )
+ xml? ( dev-libs/libxml2 )
+ jansson? ( dev-libs/jansson )
+ json-c? ( dev-libs/json-c )
+ seccomp? ( sys-libs/libseccomp )
+ zsh-completion? ( app-shells/zsh )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ graph? ( app-doc/doxygen[dot] )
+ !graph? ( app-doc/doxygen )
+ )"
+
+REQUIRED_USE="graph? ( doc ) json-c? ( !jansson )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.7.11-zsh-completion-dir.patch
+ "${FILESDIR}"/${PN}-0.7.11-bash-completion-dir.patch
+)
+
+pkg_setup() {
+ ebegin "Creating lldpd user and group"
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+ eend $?
+}
+
+src_prepare() {
+ epatch "${PATCHES[@]}"
+ epatch_user
+ eautoreconf
+ elibtoolize
+}
+
+src_configure() {
+ econf \
+ --without-embedded-libevent \
+ --with-privsep-user=${PN} \
+ --with-privsep-group=${PN} \
+ --with-privsep-chroot=/run/${PN} \
+ --with-lldpd-ctl-socket=/run/${PN}.socket \
+ --with-lldpd-pid-file=/run/${PN}.pid \
+ --docdir=/usr/share/doc/${PF} \
+ $(use_enable graph doxygen-dot) \
+ $(use_enable doc doxygen-man) \
+ $(use_enable doc doxygen-pdf) \
+ $(use_enable doc doxygen-html) \
+ $(use_enable cdp) \
+ $(use_enable dot1) \
+ $(use_enable dot3) \
+ $(use_enable edp) \
+ $(use_enable fdp) \
+ $(use_enable lldpmed) \
+ $(use_enable sonmp) \
+ $(use_enable static-libs static) \
+ $(use_with json-c) \
+ $(use_with jansson) \
+ $(use_with readline) \
+ $(use_with seccomp) \
+ $(use_with snmp) \
+ $(use_with xml)
+}
+
+src_compile() {
+ emake
+ use doc && emake doxygen-doc
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ prune_libtool_files
+
+ newinitd "${FILESDIR}"/${PN}-initd-4 ${PN}
+ newconfd "${FILESDIR}"/${PN}-confd-1 ${PN}
+ newbashcomp src/client/lldpcli.bash-completion lldpcli
+
+ use doc && dohtml -r doxygen/html/*
+
+ keepdir /etc/${PN}.d
+
+ systemd_dounit "${FILESDIR}"/${PN}.service
+}
diff --git a/net-misc/lldpd/metadata.xml b/net-misc/lldpd/metadata.xml
new file mode 100644
index 000000000000..123423424b46
--- /dev/null
+++ b/net-misc/lldpd/metadata.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <longdescription lang="en">
+LLDP (Link Layer Discovery Protocol) (also known as 802.1ab) is an industry standard protocol designed to supplant proprietary Link-Layer protocols such as Extreme's EDP (Extreme Discovery Protocol) and CDP (Cisco Discovery Protocol). The goal of LLDP is to provide an inter-vendor compatible mechanism to deliver Link-Layer notifications to adjacent network devices.
+
+lldpd is a lldp daemon for GNU/Linux and implements both reception and sending. It supports both LLDP and LLDP-MED (contributed by Michael Hanig). It also implements an SNMP subagent for net-snmp to get local and remote LLDP information. The LLDP MIB is partially implemented but the most useful tables are here.
+
+lldpd supports bridge, vlan and bonding. bonding need to be done on real physical devices, not on bridges, vlans, etc. However, vlans can be mapped on the bonding device. You can bridge vlan but not add vlans on bridges. More complex setups may give false results.
+
+A small utility, lldpctl, allows to query information collected through the command line.
+
+lldpd also implements CDP (Cisco Discovery Protocol), FDP (Foundry Discovery Protocol), SONMP (Nortel Discovery Protocol) and EDP (Extreme Discovery Protocol). However, recent versions of IOS should support LLDP and most Extreme stuff support LLDP. When a EDP, CDP or SONMP frame is received on a given interface, lldpd starts sending EDP, CDP or SONMP frame on this interface. Informations collected through EDP/CDP/FDP/SONMP are integrated with other informations and can be queried with lldpctl or through SNMP.
+
+ With the help of lldpd, you can get a map of your network. You may also want to look at Wiremaps or NetDisco which are a web application that helps you to see what is connected to where.
+ </longdescription>
+ <use>
+ <flag name='cdp'>Enable Cisco Discovery Protocol</flag>
+ <flag name='graph'>Create dot graphs in documentations</flag>
+ <flag name='dot1'>Enable Dot1 extension (VLAN stuff)</flag>
+ <flag name='dot3'>Enable Dot3 extension (PHY stuff)</flag>
+ <flag name='edp'>Enable Extreme Discovery Protocol</flag>
+ <flag name='fdp'>Enable Foundry Discovery Protocol</flag>
+ <flag name='jansson'>Enable JSON output via Jansson</flag>
+ <flag name='json-c'>Enable JSON output via json-c</flag>
+ <flag name='lldpmed'>Enable LLDP-MED extension</flag>
+ <flag name='sonmp'>Enable SynOptics Network Management</flag>
+ <flag name='snmp'>Enable the use of SNMP</flag>
+ </use>
+</pkgmetadata>
+