summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-misc/lldpd/Manifest1
-rw-r--r--net-misc/lldpd/files/lldpd-0.9-seccomp-missing-syscalls.patch12
-rw-r--r--net-misc/lldpd/files/lldpd-initd-51
-rw-r--r--net-misc/lldpd/files/lldpd.conf1
-rw-r--r--net-misc/lldpd/lldpd-0.9.3.ebuild105
-rw-r--r--net-misc/lldpd/metadata.xml1
6 files changed, 121 insertions, 0 deletions
diff --git a/net-misc/lldpd/Manifest b/net-misc/lldpd/Manifest
index af1aeea3e3d..58b4e3cd4c4 100644
--- a/net-misc/lldpd/Manifest
+++ b/net-misc/lldpd/Manifest
@@ -1,3 +1,4 @@
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
DIST lldpd-0.9.1.tar.gz 1600504 SHA256 16ad6d513a6a0c6c201ce4941693c0e9d6fce83bbfa3733620354d1ac9a60908 SHA512 3a6ea3051ceac689a65045c06dac4f788071291f6ab826286de54175cad48143daadb13f44a2d7ff8a97269ec7c1bf9dc337d929b8cbf256fe135d33f965b3ad WHIRLPOOL b71310da3e7626893fb00b8fc5553c80bb4dbabdabe9cabe028cb72767cfe2f0a46a6c3d09c15fc7cb1b7379b73a8eb9a9e6683ace25492f76a032834db13ce0
+DIST lldpd-0.9.3.tar.gz 1601102 SHA256 cfa8a3245dd71efc1f5de064a72576a7c1afaaf0ccb5833238398b6dc612b127 SHA512 0d40d77bfde78f9ceece56968981f3a36bd7e683b12de05e84e5da0409b8e0d06062e5d665942637a66164af0254a6ac3d1a327aab3bcb48ec91ecfdd2693283 WHIRLPOOL c7be527cf48bd5623ad9b7b3ae684a5e223114d7ff57a71a33623e3e445f6bbb612a6db5353844644c6340f039bdf7caf435b7ae19cf231ae54acf1dad72b62a
diff --git a/net-misc/lldpd/files/lldpd-0.9-seccomp-missing-syscalls.patch b/net-misc/lldpd/files/lldpd-0.9-seccomp-missing-syscalls.patch
new file mode 100644
index 00000000000..be7d341e25b
--- /dev/null
+++ b/net-misc/lldpd/files/lldpd-0.9-seccomp-missing-syscalls.patch
@@ -0,0 +1,12 @@
+diff --git a/src/daemon/priv-seccomp.c b/src/daemon/priv-seccomp.c
+index bccd378..7cd8e7d 100644
+--- a/src/daemon/priv-seccomp.c
++++ b/src/daemon/priv-seccomp.c
+@@ -152,6 +152,7 @@ priv_seccomp_init(int remote, int child)
+ (rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(socket), 0)) < 0 ||
+ (rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(bind), 0)) < 0 ||
+ (rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(setsockopt), 0)) < 0 ||
++ (rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(getsockname), 0)) < 0 ||
+ (rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(uname), 0)) < 0 ||
+ (rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(unlink), 0)) < 0 ||
+ (rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(ioctl), 0)) < 0 ||
diff --git a/net-misc/lldpd/files/lldpd-initd-5 b/net-misc/lldpd/files/lldpd-initd-5
index 5d59f2c78d0..83a0aa65318 100644
--- a/net-misc/lldpd/files/lldpd-initd-5
+++ b/net-misc/lldpd/files/lldpd-initd-5
@@ -8,6 +8,7 @@ pidfile=/run/lldpd.pid
command=/usr/sbin/lldpd
retry="TERM/10/KILL/5"
command_args="${LLDPD_OPTS}"
+start_stop_daemon_args="--wait 300"
depend() {
use net
diff --git a/net-misc/lldpd/files/lldpd.conf b/net-misc/lldpd/files/lldpd.conf
new file mode 100644
index 00000000000..09233b72082
--- /dev/null
+++ b/net-misc/lldpd/files/lldpd.conf
@@ -0,0 +1 @@
+# empty placeholder configuration file for lldpd
diff --git a/net-misc/lldpd/lldpd-0.9.3.ebuild b/net-misc/lldpd/lldpd-0.9.3.ebuild
new file mode 100644
index 00000000000..7e0ac8ab735
--- /dev/null
+++ b/net-misc/lldpd/lldpd-0.9.3.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit eutils user systemd bash-completion-r1 autotools
+
+DESCRIPTION="Implementation of IEEE 802.1ab (LLDP)"
+HOMEPAGE="https://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 +lldpmed old-kernel
+ sanitizers seccomp sonmp snmp static-libs readline xml zsh-completion"
+
+RDEPEND="dev-libs/libbsd
+ >=dev-libs/libevent-2.0.5
+ snmp? ( net-analyzer/net-snmp[extensible(+)] )
+ xml? ( dev-libs/libxml2 )
+ jansson? ( dev-libs/jansson )
+ 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 )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.7.11-zsh-completion-dir.patch"
+ "${FILESDIR}/${PN}-0.9-seccomp-missing-syscalls.patch"
+)
+
+pkg_setup() {
+ ebegin "Creating lldpd user and group"
+ enewgroup ${PN}
+ enewuser ${PN} -1 -1 -1 ${PN}
+ eend $?
+}
+
+src_prepare() {
+ default
+
+ 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 cdp) \
+ $(use_enable doc doxygen-man) \
+ $(use_enable doc doxygen-pdf) \
+ $(use_enable doc doxygen-html) \
+ $(use_enable dot1) \
+ $(use_enable dot3) \
+ $(use_enable edp) \
+ $(use_enable fdp) \
+ $(use_enable graph doxygen-dot) \
+ $(use_with jansson json) \
+ $(use_enable lldpmed) \
+ $(use_enable old-kernel oldies) \
+ $(use_enable sonmp) \
+ $(use_enable static-libs static) \
+ $(use_with readline) \
+ $(use_enable sanitizers) \
+ $(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-5 ${PN}
+ newconfd "${FILESDIR}"/${PN}-confd-1 ${PN}
+ newbashcomp src/client/completion/lldpcli lldpcli
+
+ use doc && dodoc -r doxygen/html
+
+ insinto /etc
+ doins "${FILESDIR}/lldpd.conf"
+ keepdir /etc/${PN}.d
+
+ systemd_dounit "${FILESDIR}"/${PN}.service
+ systemd_newtmpfilesd "${FILESDIR}"/tmpfilesd ${PN}.conf
+}
diff --git a/net-misc/lldpd/metadata.xml b/net-misc/lldpd/metadata.xml
index 0ea2a515da4..4ca20a468e4 100644
--- a/net-misc/lldpd/metadata.xml
+++ b/net-misc/lldpd/metadata.xml
@@ -29,6 +29,7 @@ lldpd also implements CDP (Cisco Discovery Protocol), FDP (Foundry Discovery Pro
<flag name="json-c">Enable JSON output via json-c</flag>
<flag name="lldpmed">Enable LLDP-MED extension</flag>
<flag name="old-kernel">Enable compatibility with Linux kernel older than 2.6.39</flag>
+ <flag name="sanitizers">Enable code instrumentation with selected sanitizers</flag>
<flag name="sonmp">Enable SynOptics Network Management</flag>
<flag name="snmp">Enable the use of SNMP</flag>
</use>