summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick McLean <chutzpah@gentoo.org>2018-07-20 14:30:11 -0700
committerPatrick McLean <chutzpah@gentoo.org>2018-07-20 14:30:35 -0700
commitb41cdc9a3dab0701f044ed053a15690b5daa4410 (patch)
treec7a2c2540110ed951c905f6bad2b6d4232c9bdd5 /net-misc/lldpd
parentdistutils-r1.eclass: Enable parallel builds in py3.5+ (diff)
downloadgentoo-b41cdc9a3dab0701f044ed053a15690b5daa4410.tar.gz
gentoo-b41cdc9a3dab0701f044ed053a15690b5daa4410.tar.bz2
gentoo-b41cdc9a3dab0701f044ed053a15690b5daa4410.zip
net-misc/lldpd: Revision bump, allow brk with seccomp (bug #657932)
Closes: https://bugs.gentoo.org/657932 Package-Manager: Portage-2.3.43, Repoman-2.3.10
Diffstat (limited to 'net-misc/lldpd')
-rw-r--r--net-misc/lldpd/files/lldpd-1.0.1-seccomp-add-brk.patch11
-rw-r--r--net-misc/lldpd/lldpd-1.0.1-r1.ebuild103
2 files changed, 114 insertions, 0 deletions
diff --git a/net-misc/lldpd/files/lldpd-1.0.1-seccomp-add-brk.patch b/net-misc/lldpd/files/lldpd-1.0.1-seccomp-add-brk.patch
new file mode 100644
index 000000000000..40cc428ec8f2
--- /dev/null
+++ b/net-misc/lldpd/files/lldpd-1.0.1-seccomp-add-brk.patch
@@ -0,0 +1,11 @@
+diff -purN lldpd-1.0.1.orig/src/daemon/priv-seccomp.c lldpd-1.0.1/src/daemon/priv-seccomp.c
+--- lldpd-1.0.1.orig/src/daemon/priv-seccomp.c 2018-06-12 07:48:04.282557213 +0200
++++ lldpd-1.0.1/src/daemon/priv-seccomp.c 2018-06-12 07:52:26.214348537 +0200
+@@ -162,6 +162,7 @@ priv_seccomp_init(int remote, int child)
+ (rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(sendmmsg), 0)) < 0 ||
+ (rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(wait4), 0)) < 0 ||
+ (rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(stat), 0)) < 0 ||
++ (rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(brk), 0)) < 0 || /* brk needed for newer libc */
+ (rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(getpid), 0)) < 0 ||
+ (rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(rt_sigreturn), 0)) < 0 ||
+ (rc = seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(close), 0)) < 0 ||
diff --git a/net-misc/lldpd/lldpd-1.0.1-r1.ebuild b/net-misc/lldpd/lldpd-1.0.1-r1.ebuild
new file mode 100644
index 000000000000..88ddeebee8dd
--- /dev/null
+++ b/net-misc/lldpd/lldpd-1.0.1-r1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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 +lldpmed old-kernel sanitizers
+ seccomp sonmp snmp static-libs test readline xml zsh-completion"
+
+RDEPEND="dev-libs/libbsd
+ >=dev-libs/libevent-2.0.5:=
+ snmp? ( net-analyzer/net-snmp[extensible(+)] )
+ xml? ( dev-libs/libxml2 )
+ seccomp? ( sys-libs/libseccomp )
+ zsh-completion? ( app-shells/zsh )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? (
+ graph? ( app-doc/doxygen[dot] )
+ !graph? ( app-doc/doxygen )
+ )
+ test? ( dev-libs/check )"
+
+REQUIRED_USE="graph? ( doc )"
+
+PATCHES=(
+ "${FILESDIR}/lldpd-0.9.5-seccomp-add-socket-ops.patch"
+ "${FILESDIR}/lldpd-1.0.1-seccomp-add-brk.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_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
+}