diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2017-08-19 11:10:09 +0100 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2017-08-19 11:11:55 +0100 |
commit | 564e4ed0715605dafe41568a3eb6690102cf6ca0 (patch) | |
tree | e2fe638311ed97567cfbe3a54ea19f01571272df /net-misc/radvd | |
parent | app-misc/pax-utils: fix crash on ia64 TEXTRELs, bug #624356 (diff) | |
download | gentoo-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/radvd')
-rw-r--r-- | net-misc/radvd/radvd-2.17-r1.ebuild | 66 |
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." |