summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc')
-rw-r--r--net-misc/lldpd/files/lldpd-0.9-seccomp-missing-syscalls.patch9
-rw-r--r--net-misc/lldpd/lldpd-0.9.3-r1.ebuild105
2 files changed, 112 insertions, 2 deletions
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
index be7d341e25ba..183306a90482 100644
--- a/net-misc/lldpd/files/lldpd-0.9-seccomp-missing-syscalls.patch
+++ b/net-misc/lldpd/files/lldpd-0.9-seccomp-missing-syscalls.patch
@@ -1,8 +1,13 @@
diff --git a/src/daemon/priv-seccomp.c b/src/daemon/priv-seccomp.c
-index bccd378..7cd8e7d 100644
+index bccd378..4f9e6e6 100644
--- a/src/daemon/priv-seccomp.c
+++ b/src/daemon/priv-seccomp.c
-@@ -152,6 +152,7 @@ priv_seccomp_init(int remote, int child)
+@@ -148,10 +148,12 @@ priv_seccomp_init(int remote, int child)
+ if ((rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(read), 0)) < 0 ||
+ (rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(write), 0)) < 0 || /* write needed for */
+ (rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(open), 0)) < 0 ||
++ (rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(fcntl), 0)) < 0 ||
+ (rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(kill), 0)) < 0 ||
(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 ||
diff --git a/net-misc/lldpd/lldpd-0.9.3-r1.ebuild b/net-misc/lldpd/lldpd-0.9.3-r1.ebuild
new file mode 100644
index 000000000000..7e0ac8ab7351
--- /dev/null
+++ b/net-misc/lldpd/lldpd-0.9.3-r1.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
+}