commit: 884081f76bfb615b4ff37f2cbebe02195a94d6d6 Author: Mike Gilbert <floppym <AT> gentoo <DOT> org> AuthorDate: Fri Sep 25 14:49:55 2015 +0000 Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org> CommitDate: Fri Sep 25 14:51:33 2015 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=884081f7
sys-apps/systemd: Disable cleaning of /tmp and /var/tmp Bug: https://bugs.gentoo.org/490676 Package-Manager: portage-2.2.21_p119 sys-apps/systemd/files/218-noclean-tmp.patch | 28 +++++ sys-apps/systemd/files/226-noclean-tmp.patch | 28 +++++ .../{systemd-9999.ebuild => systemd-218-r4.ebuild} | 135 ++++++++++----------- .../{systemd-9999.ebuild => systemd-226-r1.ebuild} | 3 +- sys-apps/systemd/systemd-9999.ebuild | 1 + 5 files changed, 121 insertions(+), 74 deletions(-) diff --git a/sys-apps/systemd/files/218-noclean-tmp.patch b/sys-apps/systemd/files/218-noclean-tmp.patch new file mode 100644 index 0000000..5dcc4b9 --- /dev/null +++ b/sys-apps/systemd/files/218-noclean-tmp.patch @@ -0,0 +1,28 @@ +From 63e5f76a91e2401e8a6227d0d8ae5e75dd2213b0 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert <flop...@gentoo.org> +Date: Fri, 25 Sep 2015 10:26:18 -0400 +Subject: [PATCH] tmpfiles: Disable cleaning of /tmp and /var/tmp + +Bug: https://bugs.gentoo.org/490676 +--- + tmpfiles.d/tmp.conf | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tmpfiles.d/tmp.conf b/tmpfiles.d/tmp.conf +index b80dab4..241fad5 100644 +--- a/tmpfiles.d/tmp.conf ++++ b/tmpfiles.d/tmp.conf +@@ -8,8 +8,8 @@ + # See tmpfiles.d(5) for details + + # Clear tmp directories separately, to make them easier to override +-d /tmp 1777 root root 10d +-d /var/tmp 1777 root root 30d ++v /tmp 1777 root root ++v /var/tmp 1777 root root + + # Exclude namespace mountpoints created with PrivateTmp=yes + x /tmp/systemd-private-%b-* +-- +2.5.3 + diff --git a/sys-apps/systemd/files/226-noclean-tmp.patch b/sys-apps/systemd/files/226-noclean-tmp.patch new file mode 100644 index 0000000..290b1bd --- /dev/null +++ b/sys-apps/systemd/files/226-noclean-tmp.patch @@ -0,0 +1,28 @@ +From 3a44775e2618896526d093f7142934205e46d33a Mon Sep 17 00:00:00 2001 +From: Mike Gilbert <flop...@gentoo.org> +Date: Fri, 25 Sep 2015 10:26:18 -0400 +Subject: [PATCH] tmpfiles: Disable cleaning of /tmp and /var/tmp + +Bug: https://bugs.gentoo.org/490676 +--- + tmpfiles.d/tmp.conf | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tmpfiles.d/tmp.conf b/tmpfiles.d/tmp.conf +index ffdd82f..241fad5 100644 +--- a/tmpfiles.d/tmp.conf ++++ b/tmpfiles.d/tmp.conf +@@ -8,8 +8,8 @@ + # See tmpfiles.d(5) for details + + # Clear tmp directories separately, to make them easier to override +-v /tmp 1777 root root 10d +-v /var/tmp 1777 root root 30d ++v /tmp 1777 root root ++v /var/tmp 1777 root root + + # Exclude namespace mountpoints created with PrivateTmp=yes + x /tmp/systemd-private-%b-* +-- +2.5.3 + diff --git a/sys-apps/systemd/systemd-9999.ebuild b/sys-apps/systemd/systemd-218-r4.ebuild similarity index 84% copy from sys-apps/systemd/systemd-9999.ebuild copy to sys-apps/systemd/systemd-218-r4.ebuild index 2ec9957..7be421d 100644 --- a/sys-apps/systemd/systemd-9999.ebuild +++ b/sys-apps/systemd/systemd-218-r4.ebuild @@ -4,32 +4,27 @@ EAPI=5 -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://github.com/systemd/systemd.git" - inherit git-r3 -else - SRC_URI="https://github.com/systemd/systemd/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86" -fi - -inherit autotools bash-completion-r1 linux-info multilib \ - multilib-minimal pam systemd toolchain-funcs udev user +AUTOTOOLS_PRUNE_LIBTOOL_FILES=all +PYTHON_COMPAT=( python{2_7,3_3,3_4} ) +inherit autotools-utils bash-completion-r1 linux-info multilib \ + multilib-minimal pam python-single-r1 systemd toolchain-funcs udev \ + user DESCRIPTION="System and service manager for Linux" HOMEPAGE="http://www.freedesktop.org/wiki/Software/systemd" +SRC_URI="http://www.freedesktop.org/software/systemd/${P}.tar.xz" LICENSE="GPL-2 LGPL-2.1 MIT public-domain" SLOT="0/2" -IUSE="acl apparmor audit cryptsetup curl elfutils gcrypt gnuefi http - idn importd +kdbus +kmod +lz4 lzma nat pam policykit - qrcode +seccomp selinux ssl sysv-utils test vanilla xkb" - -REQUIRED_USE="importd? ( curl gcrypt lzma )" +KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sparc x86" +IUSE="acl apparmor audit cryptsetup curl doc elfutils gcrypt gudev http + idn introspection kdbus +kmod +lz4 lzma pam policykit python qrcode +seccomp + selinux ssl sysv-utils terminal test vanilla xkb" -MINKV="3.11" +MINKV="3.8" -COMMON_DEPEND=">=sys-apps/util-linux-2.27:0=[${MULTILIB_USEDEP}] - sys-libs/libcap:0=[${MULTILIB_USEDEP}] +COMMON_DEPEND=">=sys-apps/util-linux-2.25:0= + sys-libs/libcap:0= !<sys-libs/glibc-2.16 acl? ( sys-apps/acl:0= ) apparmor? ( sys-libs/libapparmor:0= ) @@ -38,26 +33,27 @@ COMMON_DEPEND=">=sys-apps/util-linux-2.27:0=[${MULTILIB_USEDEP}] curl? ( net-misc/curl:0= ) elfutils? ( >=dev-libs/elfutils-0.158:0= ) gcrypt? ( >=dev-libs/libgcrypt-1.4.5:0=[${MULTILIB_USEDEP}] ) + gudev? ( >=dev-libs/glib-2.34.3:2=[${MULTILIB_USEDEP}] ) http? ( >=net-libs/libmicrohttpd-0.9.33:0= ssl? ( >=net-libs/gnutls-3.1.4:0= ) ) idn? ( net-dns/libidn:0= ) - importd? ( - app-arch/bzip2:0= - sys-libs/zlib:0= - ) + introspection? ( >=dev-libs/gobject-introspection-1.31.1:0= ) kmod? ( >=sys-apps/kmod-15:0= ) lz4? ( >=app-arch/lz4-0_p119:0=[${MULTILIB_USEDEP}] ) lzma? ( >=app-arch/xz-utils-5.0.5-r1:0=[${MULTILIB_USEDEP}] ) - nat? ( net-firewall/iptables:0= ) pam? ( virtual/pam:= ) + python? ( ${PYTHON_DEPS} ) qrcode? ( media-gfx/qrencode:0= ) seccomp? ( sys-libs/libseccomp:0= ) selinux? ( sys-libs/libselinux:0= ) sysv-utils? ( !sys-apps/systemd-sysv-utils !sys-apps/sysvinit ) + terminal? ( >=dev-libs/libevdev-1.2:0= + >=x11-libs/libxkbcommon-0.5:0= + >=x11-libs/libdrm-2.4:0= ) xkb? ( >=x11-libs/libxkbcommon-0.4.1:0= ) abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r9 !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )" @@ -67,11 +63,12 @@ RDEPEND="${COMMON_DEPEND} >=sys-apps/baselayout-2.2 !sys-auth/nss-myhostname !sys-fs/eudev - !sys-fs/udev" + !sys-fs/udev + gudev? ( !dev-libs/libgudev )" # sys-apps/dbus: the daemon only (+ build-time lib dep for tests) PDEPEND=">=sys-apps/dbus-1.6.8-r1:0[systemd] - >=sys-apps/hwids-20150417[udev] + >=sys-apps/hwids-20130717-r1[udev] >=sys-fs/udev-init-scripts-25 policykit? ( sys-auth/polkit ) !vanilla? ( sys-apps/gentoo-systemd-integration )" @@ -85,14 +82,16 @@ DEPEND="${COMMON_DEPEND} >=sys-devel/binutils-2.23.1 >=sys-devel/gcc-4.6 >=sys-kernel/linux-headers-${MINKV} + ia64? ( >=sys-kernel/linux-headers-3.9 ) virtual/pkgconfig - gnuefi? ( >=sys-boot/gnu-efi-3.0.2 ) - test? ( >=sys-apps/dbus-1.6.8-r1:0 ) - app-text/docbook-xml-dtd:4.2 - app-text/docbook-xml-dtd:4.5 - app-text/docbook-xsl-stylesheets - dev-libs/libxslt:0 - >=dev-libs/libgcrypt-1.4.5:0" + doc? ( >=dev-util/gtk-doc-1.18 ) + python? ( dev-python/lxml[${PYTHON_USEDEP}] ) + test? ( >=sys-apps/dbus-1.6.8-r1:0 )" + +PATCHES=( + "${FILESDIR}/218-Dont-enable-audit-by-default.patch" + "${FILESDIR}/218-noclean-tmp.patch" +) pkg_pretend() { local CONFIG_CHECK="~AUTOFS4_FS ~BLK_DEV_BSG ~CGROUPS @@ -133,20 +132,18 @@ pkg_pretend() { } pkg_setup() { - : -} - -src_unpack() { - default - [[ ${PV} != 9999 ]] || git-r3_src_unpack + use python && python-single-r1_pkg_setup } src_prepare() { # Bug 463376 sed -i -e 's/GROUP="dialout"/GROUP="uucp"/' rules/*.rules || die - epatch "${FILESDIR}/218-Dont-enable-audit-by-default.patch" - epatch_user - eautoreconf + + # missing in tarball + cp "${FILESDIR}"/217-systemd-consoled.service.in \ + units/user/systemd-consoled.service.in || die + + autotools-utils_src_prepare } src_configure() { @@ -155,9 +152,6 @@ src_configure() { # Fix systems broken by bug #509454. [[ ${MY_UDEVDIR} ]] || MY_UDEVDIR=/lib/udev - # Prevent conflicts with i686 cross toolchain, bug 559726 - tc-export AR CC NM OBJCOPY RANLIB - multilib-minimal_src_configure } @@ -167,9 +161,6 @@ multilib_src_configure() { # and makes distcc less effective cc_cv_CFLAGS__flto=no - # Workaround for gcc-4.7, bug 554454. - cc_cv_CFLAGS__Werror_shadow=no - # Workaround for bug 516346 --enable-dependency-tracking @@ -189,7 +180,6 @@ multilib_src_configure() { # no deps --enable-efi --enable-ima - --without-python # Optional components/dependencies $(multilib_native_use_enable acl) @@ -197,48 +187,59 @@ multilib_src_configure() { $(multilib_native_use_enable audit) $(multilib_native_use_enable cryptsetup libcryptsetup) $(multilib_native_use_enable curl libcurl) + $(multilib_native_use_enable doc gtk-doc) $(multilib_native_use_enable elfutils) $(use_enable gcrypt) - $(multilib_native_use_enable gnuefi) + $(use_enable gudev) $(multilib_native_use_enable http microhttpd) $(usex http $(multilib_native_use_enable ssl gnutls) --disable-gnutls) $(multilib_native_use_enable idn libidn) - $(multilib_native_use_enable importd) - $(multilib_native_use_enable importd bzip2) - $(multilib_native_use_enable importd zlib) + $(multilib_native_use_enable introspection) $(use_enable kdbus) $(multilib_native_use_enable kmod) $(use_enable lz4) $(use_enable lzma xz) - $(multilib_native_use_enable nat libiptc) $(multilib_native_use_enable pam) $(multilib_native_use_enable policykit polkit) + $(multilib_native_use_with python) + $(multilib_native_use_enable python python-devel) $(multilib_native_use_enable qrcode qrencode) $(multilib_native_use_enable seccomp) $(multilib_native_use_enable selinux) + $(multilib_native_use_enable terminal) $(multilib_native_use_enable test tests) $(multilib_native_use_enable test dbus) $(multilib_native_use_enable xkb xkbcommon) + # not supported (avoid automagic deps in the future) + --disable-chkconfig + # hardcode a few paths to spare some deps QUOTAON=/usr/sbin/quotaon QUOTACHECK=/usr/sbin/quotacheck - # TODO: we may need to restrict this to gcc - EFI_CC="$(tc-getCC)" - # dbus paths --with-dbuspolicydir="${EPREFIX}/etc/dbus-1/system.d" --with-dbussessionservicedir="${EPREFIX}/usr/share/dbus-1/services" --with-dbussystemservicedir="${EPREFIX}/usr/share/dbus-1/system-services" + --with-dbusinterfacedir="${EPREFIX}/usr/share/dbus-1/interfaces" --with-ntp-servers="0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org" ) + if ! multilib_is_native_abi; then + myeconfargs+=( + MOUNT_{CFLAGS,LIBS}=' ' + + ac_cv_search_cap_init= + ac_cv_header_sys_capability_h=yes + ) + fi + # Work around bug 463846. tc-export CC - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" + autotools-utils_src_configure } multilib_src_compile() { @@ -249,6 +250,9 @@ multilib_src_compile() { if multilib_is_native_abi; then emake "${mymakeopts[@]}" else + # prerequisites for gudev + use gudev && emake src/gudev/gudev{enumtypes,marshal}.{c,h} + echo 'gentoo: $(BUILT_SOURCES)' | \ emake "${mymakeopts[@]}" -f Makefile -f - gentoo echo 'gentoo: $(lib_LTLIBRARIES) $(pkgconfiglib_DATA)' | \ @@ -259,10 +263,6 @@ multilib_src_compile() { multilib_src_test() { multilib_is_native_abi || continue - # Needed for bus-related tests - local -x SANDBOX_WRITE=${SANDBOX_WRITE} - addwrite /sys/fs/kdbus - default } @@ -285,6 +285,7 @@ multilib_src_install() { install-pkgconfiglibDATA install-includeHEADERS # safe to call unconditionally, 'installs' empty list + install-libgudev_includeHEADERS install-pkgincludeHEADERS ) @@ -330,7 +331,6 @@ multilib_src_install_all() { rm "${D}"/etc/systemd/system/multi-user.target.wants/systemd-networkd.service || die rm "${D}"/etc/systemd/system/multi-user.target.wants/systemd-resolved.service || die rm -r "${D}"/etc/systemd/system/network-online.target.wants || die - rm -r "${D}"/etc/systemd/system/sockets.target.wants || die rm -r "${D}"/etc/systemd/system/sysinit.target.wants || die } @@ -406,14 +406,6 @@ migrate_net_name_slot() { fi } -reenable_unit() { - if systemctl is-enabled --root="${ROOT}" "$1" &> /dev/null; then - ebegin "Re-enabling $1" - systemctl reenable --root="${ROOT}" "$1" - eend $? || FAIL=1 - fi -} - pkg_postinst() { newusergroup() { enewgroup "$1" @@ -448,9 +440,6 @@ pkg_postinst() { # Migrate 80-net-name-slot.rules -> 80-net-setup-link.rules migrate_net_name_slot - # Re-enable systemd-networkd for socket activation - reenable_unit systemd-networkd.service - if [[ ${FAIL} ]]; then eerror "One of the postinst commands failed. Please check the postinst output" eerror "for errors. You may need to clean up your system and/or try installing" diff --git a/sys-apps/systemd/systemd-9999.ebuild b/sys-apps/systemd/systemd-226-r1.ebuild similarity index 99% copy from sys-apps/systemd/systemd-9999.ebuild copy to sys-apps/systemd/systemd-226-r1.ebuild index 2ec9957..9a7bc96 100644 --- a/sys-apps/systemd/systemd-9999.ebuild +++ b/sys-apps/systemd/systemd-226-r1.ebuild @@ -28,7 +28,7 @@ REQUIRED_USE="importd? ( curl gcrypt lzma )" MINKV="3.11" -COMMON_DEPEND=">=sys-apps/util-linux-2.27:0=[${MULTILIB_USEDEP}] +COMMON_DEPEND=">=sys-apps/util-linux-2.26:0=[${MULTILIB_USEDEP}] sys-libs/libcap:0=[${MULTILIB_USEDEP}] !<sys-libs/glibc-2.16 acl? ( sys-apps/acl:0= ) @@ -145,6 +145,7 @@ src_prepare() { # Bug 463376 sed -i -e 's/GROUP="dialout"/GROUP="uucp"/' rules/*.rules || die epatch "${FILESDIR}/218-Dont-enable-audit-by-default.patch" + epatch "${FILESDIR}/226-noclean-tmp.patch" epatch_user eautoreconf } diff --git a/sys-apps/systemd/systemd-9999.ebuild b/sys-apps/systemd/systemd-9999.ebuild index 2ec9957..ca76f13 100644 --- a/sys-apps/systemd/systemd-9999.ebuild +++ b/sys-apps/systemd/systemd-9999.ebuild @@ -145,6 +145,7 @@ src_prepare() { # Bug 463376 sed -i -e 's/GROUP="dialout"/GROUP="uucp"/' rules/*.rules || die epatch "${FILESDIR}/218-Dont-enable-audit-by-default.patch" + epatch "${FILESDIR}/226-noclean-tmp.patch" epatch_user eautoreconf }