summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyfox@gentoo.org>2017-08-19 11:10:09 +0100
committerSergei Trofimovich <slyfox@gentoo.org>2017-08-19 11:11:55 +0100
commit564e4ed0715605dafe41568a3eb6690102cf6ca0 (patch)
treee2fe638311ed97567cfbe3a54ea19f01571272df /net-misc
parentapp-misc/pax-utils: fix crash on ia64 TEXTRELs, bug #624356 (diff)
downloadgentoo-564e4ed0715605dafe41568a3eb6690102cf6ca0.tar.gz
gentoo-564e4ed0715605dafe41568a3eb6690102cf6ca0.tar.bz2
gentoo-564e4ed0715605dafe41568a3eb6690102cf6ca0.zip
net-misc/radvd: fix /run/radvd clobbering on systemd, bug #603106
Bug happens because systemd has two conflicting mechanisms to create /var/run/: Via .service file: RuntimeDirectory=radvd ProtectSystem=full And via .tmpfilesd: d /run/radvd 0755 radvd radvd Systemd end up trying to start radvd in empty /var/. The change removes tmpfiles.d entry completely. Instead we rely on the following mechanisms to create /run/radvd: - openrc: /etc/init.d/radvd creates it with 'checkpath -d -o radvd:radvd ${PIDFILE%/*}' - systemd: radvd.service creates it with 'RuntimeDirectory=radvd' Reported-by: Randy Barlow Bug: https://bugs.gentoo.org/603106 Package-Manager: Portage-2.3.8, Repoman-2.3.3
Diffstat (limited to 'net-misc')
-rw-r--r--net-misc/radvd/radvd-2.17-r1.ebuild66
1 files changed, 66 insertions, 0 deletions
diff --git a/net-misc/radvd/radvd-2.17-r1.ebuild b/net-misc/radvd/radvd-2.17-r1.ebuild
new file mode 100644
index 000000000000..ffd9ad165f0a
--- /dev/null
+++ b/net-misc/radvd/radvd-2.17-r1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit systemd user eutils readme.gentoo-r1
+
+DESCRIPTION="Linux IPv6 Router Advertisement Daemon"
+HOMEPAGE="http://v6web.litech.org/radvd/"
+SRC_URI="http://v6web.litech.org/radvd/dist/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~sparc ~x86 ~x86-fbsd"
+IUSE="kernel_FreeBSD selinux test"
+
+CDEPEND="dev-libs/libdaemon"
+DEPEND="${CDEPEND}
+ sys-devel/bison
+ sys-devel/flex
+ virtual/pkgconfig
+ test? ( dev-libs/check )"
+RDEPEND="${CDEPEND}
+ selinux? ( sec-policy/selinux-radvd )
+"
+DOCS=( CHANGES README TODO radvd.conf.example )
+
+pkg_setup() {
+ enewgroup radvd
+ enewuser radvd -1 -1 /dev/null radvd
+}
+
+src_configure() {
+ econf --with-pidfile=/run/radvd/radvd.pid \
+ --disable-silent-rules \
+ --with-systemdsystemunitdir=no \
+ $(use_with test check)
+}
+
+src_install() {
+ default
+
+ insinto /usr/share/doc/${PF}/html
+ doins INTRO.html
+
+ newinitd "${FILESDIR}"/${PN}-2.15.init ${PN}
+ newconfd "${FILESDIR}"/${PN}.conf ${PN}
+
+ systemd_dounit "${FILESDIR}"/${PN}.service
+
+ if use kernel_FreeBSD ; then
+ sed -i -e \
+ 's/^SYSCTL_FORWARD=.*$/SYSCTL_FORWARD=net.inet6.ip6.forwarding/g' \
+ "${D}"/etc/init.d/${PN} || die
+ fi
+
+ readme.gentoo_create_doc
+}
+
+DISABLE_AUTOFORMATTING=1
+DOC_CONTENTS="Please create a configuration file ${ROOT}etc/radvd.conf.
+See ${ROOT}usr/share/doc/${PF} for an example.
+
+grsecurity users should allow a specific group to read /proc
+and add the radvd user to that group, otherwise radvd may
+segfault on startup."