summaryrefslogtreecommitdiff
path: root/sys-apps/systemd
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/systemd')
-rw-r--r--sys-apps/systemd/Manifest9
-rw-r--r--sys-apps/systemd/files/243-rc1-analyze.patch125
-rw-r--r--sys-apps/systemd/systemd-242-r6.ebuild50
-rw-r--r--sys-apps/systemd/systemd-243_rc1.ebuild (renamed from sys-apps/systemd/systemd-241-r4.ebuild)141
-rw-r--r--sys-apps/systemd/systemd-9999.ebuild68
5 files changed, 253 insertions, 140 deletions
diff --git a/sys-apps/systemd/Manifest b/sys-apps/systemd/Manifest
index 450fe874dbe2..864c14fa24d0 100644
--- a/sys-apps/systemd/Manifest
+++ b/sys-apps/systemd/Manifest
@@ -7,6 +7,7 @@ AUX 242-networkd-ipv6-token.patch 6525 BLAKE2B 4bbf64154f96419df91caf03f827f37bf
AUX 242-rdrand-ryzen.patch 16177 BLAKE2B 7d1d3709098a233ba58727788b77c30025c0497fff9abb1df007e21160da3f93a7e9d14b0eeb7e6855bbe5fa93abfeda118156cbba355fc2976c83debcbb91d4 SHA512 38d00535a118b060accb8ed4e87681bab5e547270ef7e0abcdcf4766367e22761ffc35d0db7c829e86e0ad45f13cf4c761e71cfdfc70c2675056ef217c85618d
AUX 242-socket-util-flush-accept.patch 2123 BLAKE2B 74bfbe440ae548b96d90b41ac45c440b21a63c61ae75a9d2b725d2bdec74a03aeca7b673a656821eb925e6740d6728a41d0dc30275287a92519b47d9c477c487 SHA512 7dd0daa70de4ee264d0b3dfe6f80b5e0c563e5bb5255ca2a92f26c4a993fca178f275f85c9048305b82b258d41c9bcbb28d74f9e2b6c2a0e77748464890cb907
AUX 242-wireguard-listenport.patch 1598 BLAKE2B 3266fe600db530ebb5b8eb726822daf14ee87292b035c09a1eb9a46638cc2dc3b8a3f11dd74684a79f3e521d3999b6b8c3a641f8f7475a5d45706567e00d26f6 SHA512 69e047000eb5ed36850bcbc6b8ef37a646b60a642a07a68547624e81aa6e49c77b848745ca4daad883151ddcaee9e7957ea6430f5a0c0c67ffc7887778f536e9
+AUX 243-rc1-analyze.patch 5053 BLAKE2B 5c2a5b320193406c7850762f51c007f94ba3ecba088539ac53f66a8e8af9c8c69b2e778b9d83776878505dc53a011321489b0259516e51ef27be576401d19a11 SHA512 49ce62b19e58b512997ad4c4d70f5f29c089890c502899a1bb930d9b69df00d7bed1d4e7e4a901cb1404df64add99037c04d962c95a05b0ac3b4e70a7023be7d
AUX CVE-2019-6454/0001-Refuse-dbus-message-paths-longer-than-BUS_PATH_SIZE_.patch 1848 BLAKE2B 348c35881ce039f92d8fc8dc8c87af2efa95696afbe79ad8fc4e01129524bdf28b529ab86ec611d08446e589176c0678018d94d8c5fc068c65ab4eb429746cf9 SHA512 693afe328ebc20d34cbf07c632a8da90ee293147e793a599a4d2aac6f757738bfab93048a2f8ed6e68d16f865e9b4112e737c692ad01c7d4946f8c430714161d
AUX CVE-2019-6454/0002-Allocate-temporary-strings-to-hold-dbus-paths-on-the.patch 6660 BLAKE2B 45acb2595245a5cbd10c2a9c7ffa2db0c4bd5b03ef8dc25eb51fc35dd51a49b3acd18bf4cf8db7f639e7a4e61592f3ce0bcb031bf27b0bf3ae6fc96c74445f77 SHA512 7c082ab4effc36543bab08700b84a3ccddfba5d5e87b324d6b935d75f5debb7a5f7be1c2e21208e8d1715f5d40619c8f775629acdde40d3c7b2f406b5c6d9460
AUX gentoo-Dont-enable-audit-by-default.patch 1027 BLAKE2B 9193a409db4e5c1dec6f6b66ee6e0a4cc1ada49d41ab758c788cf12534fffb67bd7370b8558a6af56572d7f2b73cf47db255fef105e56362c15f0a426f80b256 SHA512 44e512d8bbadbc5714192896a3ba262e460af034846e4e9b9832b4143fff772e2734e655316fd88d1ef386509bd234c195dce2087348f220836b3bf4f26790e0
@@ -14,9 +15,9 @@ AUX gentoo-generator-path-r1.patch 1037 BLAKE2B 5eb80521a6726c9b4693f9b0f56d3e68
AUX gentoo-systemd-user-pam.patch 443 BLAKE2B fad5c24f35666313efbf1e33640320058022fe17acff869a80104ed87ce0ad7ebaa1498915f8e933985e9c2d66d77172eb21ab480fc4fa857e0e5b985735831a SHA512 0a47368b1b38995a4193492e3add5c716c063366a9bc53dec03b7cb59b524da644033e095344da6e15e01dc84d8f5b335e7510442eeaba26e06918403fed0e5c
AUX gentoo-uucp-group-r1.patch 562 BLAKE2B 98b629d9b20e4fedfb017864dca1346aa1766d606583d12930e0375a43b10871cfdafabacdaa5f3d70ed8e8f4256b66a61369f459419931e80f57a13cd9f953a SHA512 27a3f0a037494326674e9098eab96199d2dbbd84dfa94a7dd23df0bf7fc632d1ddb21643288e71cc64109342bbcfcc4d77add07348d70633ec1da7cdf2253dc9
AUX nsswitch.conf 734 BLAKE2B 5f5a7821a84f6c8aa31fe9a68c29a1a0f24be578d427a623f14a9ef795e7da481f226efe5511d92932b5edf5638fa719808a0c3a0b8fd340799dd6bcb703a0a1 SHA512 dcbd51dacaaebdff32edb3840cc7b9b47b6521009b8786690e3673a2e78bc60bfd8e591b1048c5d452117c6659b9917ae2864462f5057cc39b704b0130522e60
-DIST systemd-241.tar.gz 7640538 BLAKE2B 69d7196fee0d0ad06ea8d7c78b0299cc17517ecce3ca4c0b1181a3fbb13bc2627629156785051e2ff427dcc21414f7a078724c6409ebaa431618e4799ebcd50a SHA512 a7757574590e8aa37e1291ea0b2c5eb03a8d8062fe9462fa5b0bf50830c933e2b301d106c70d904f94afc0aa8e43a8acfd11926dfa25b1b89174580e491e545e
DIST systemd-242.tar.gz 7831435 BLAKE2B 288e65d0a8e133ef5885689eb16118a83d93c730e342da63115cea0892fc999104c3a4856c83f3e7ef909ba2f3311146730b05ee02d84cc0400851ccbdcd54cd SHA512 578f68a3c8f2d454198fc04ff8d943abcfb390531d57f9603d185857f7afa7f4dc641dafecf49ce50fe22f5837b252b181400891e8efd4459fd4f69bb4283cb4
-EBUILD systemd-241-r4.ebuild 14021 BLAKE2B 7a0014e7f02b50ceb4f9f415151d0b08e1ede30198878e5cacd53e7bf92004e91e1a2cda881c54b6ae2be01a461e6e4dea466981e0a936c485e222b84a562ece SHA512 d9fabf0ec0241798a68b8dbed4c3d228fa856f5f911e4b66aaa7fa7fa0e1a8576c36f55fd2adff11a97cb3e73ea9859d3e91a1562cb32e15c9c4bbc884b95256
-EBUILD systemd-242-r6.ebuild 13930 BLAKE2B 501db4acaa27994de0b9f2a6f426b9504182c55e63e7c23357a37c347fdfbda6198de5031fc8d9a0c4a4f97cc6ffb6eee2739fbf08b3f505d48337d6ac78d5b6 SHA512 b6d503bde38f2ea5f508a67cd7e004df49f09fa90f231d21eda13aad5f1ffcee5f4f7c17f8b7592c11266758a6c25a8e96d28448d9a3c83f9a18359921d36559
-EBUILD systemd-9999.ebuild 13642 BLAKE2B a9118840d6af75bb76094c91ae8ad93ed29ed516daf4a9bd34894a349dad5b3bd70fa5f4e670fb8267a263add1cf9e77d6f21bb5ea66caa69f455bf3e84f9bed SHA512 2c94c375ae8c765707f1e310dc7c984da60c615f0bc5ab84edb8edde4a558ae80be53f118c6ab7e18df94d02d4d76daedb35345263630e4af7cf3e97729c96e9
+DIST systemd-243-rc1.tar.gz 8209533 BLAKE2B 6f28d839563104b488bfe030483bf1b24c3d01cedb59ffa655f03a37d7c636c2daef34ca9d13b9fbe848b131d21920138583c63a049c1747f7e569c68384c0bf SHA512 6626d7fd5781578d01a30c0d2647a293668d0819f2f85ce78a6aaf62ae1aa4b2c687cf237ca833c5befbc00321a344ff5ca56747cedc6ce00cd0f51c71dd25ff
+EBUILD systemd-242-r6.ebuild 13863 BLAKE2B 0b99239d3a55dd85c3d337a12c91c49bf38eaf3f1a1aff4f3d1d7f90056c4a1559cb8a835cf1fa97ac7bbc3257298d34d09967f034a14f60d5c2cca2fea918d8 SHA512 e3bd2ab3986d99bca4ddafb3a831b389ed2dd728060388f401a4ea5e79adde28d2236aba6388788edacdfdcab7f023346a5ed157e9018b480c6db64cd47d9d45
+EBUILD systemd-243_rc1.ebuild 13399 BLAKE2B 30e2142f4098c9917f9f60e34fdaa05521856be9ac632dc9618cb69364352e02e3a85014561c71ee1664ac10c8c0a426e01b28e69fafb65a52b5b531b0348bbd SHA512 b20984a072a32b2f13a6ec9f251ba8218fdd785a3df6f117851d3a7e671be336409830366c1eeb035291a7b64216c41789fc5b1dee65ef00f37e52940b2377b9
+EBUILD systemd-9999.ebuild 13361 BLAKE2B fa7a0b0eb157fbe5132044cbf865dbbdb2e53396b0bec5a065c5248124c965b52c4bcdf9efa210b5f634a830f118462bbca5bd7be932ad459efc4b0179d7ba85 SHA512 7505f7d9803ac956fab47c13f75a686ef8797580b0d5f525cd21aa70696bdee6b10a49ae8bf78538f81012635e9854586428f19e4c3d57945db301c086c4c2e4
MISC metadata.xml 2035 BLAKE2B e38c5ee2b2db699ff926aab596d880804b57650ca3fc8627d92f0188249070b445263c3fa82b8a08b0aafa9d7a295790299928e34ae87e327f1f5665a2380beb SHA512 73083a03ae004e5c6d85747a122d715e14a2e81776a2e5d12e82621d10a51ece1d183f302df8eab3cf3a0192e5348a79145aebf56f4eec1e5b2ca82f4a6ebd00
diff --git a/sys-apps/systemd/files/243-rc1-analyze.patch b/sys-apps/systemd/files/243-rc1-analyze.patch
new file mode 100644
index 000000000000..e38b51eb1210
--- /dev/null
+++ b/sys-apps/systemd/files/243-rc1-analyze.patch
@@ -0,0 +1,125 @@
+From 417b82e1c341946d277383471f2972b7227061ff Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Tue, 30 Jul 2019 14:51:38 -0400
+Subject: [PATCH] analyze: declare dump_exit_status outside of HAVE_SECCOMP
+ block
+
+Fixes: 76ed04d936f757763c32db5dbaaebd8b13785d7b
+Closes: https://github.com/systemd/systemd/issues/13230
+---
+ src/analyze/analyze.c | 92 +++++++++++++++++++++----------------------
+ 1 file changed, 46 insertions(+), 46 deletions(-)
+
+diff --git a/src/analyze/analyze.c b/src/analyze/analyze.c
+index f62879371d..4d81026084 100644
+--- a/src/analyze/analyze.c
++++ b/src/analyze/analyze.c
+@@ -1608,6 +1608,52 @@ static int dump_unit_paths(int argc, char *argv[], void *userdata) {
+ return 0;
+ }
+
++static int dump_exit_status(int argc, char *argv[], void *userdata) {
++ _cleanup_(table_unrefp) Table *table = NULL;
++ int r;
++
++ table = table_new("name", "status", "class");
++ if (!table)
++ return log_oom();
++
++ r = table_set_align_percent(table, table_get_cell(table, 0, 1), 100);
++ if (r < 0)
++ return log_error_errno(r, "Failed to right-align status: %m");
++
++ if (strv_isempty(strv_skip(argv, 1)))
++ for (size_t i = 0; i < ELEMENTSOF(exit_status_mappings); i++) {
++ if (!exit_status_mappings[i].name)
++ continue;
++
++ r = table_add_many(table,
++ TABLE_STRING, exit_status_mappings[i].name,
++ TABLE_INT, (int) i,
++ TABLE_STRING, exit_status_class(i));
++ if (r < 0)
++ return r;
++ }
++ else
++ for (int i = 1; i < argc; i++) {
++ int status;
++
++ status = exit_status_from_string(argv[i]);
++ if (status < 0)
++ return log_error_errno(r, "Invalid exit status \"%s\": %m", argv[i]);
++
++ assert(status >= 0 && (size_t) status < ELEMENTSOF(exit_status_mappings));
++ r = table_add_many(table,
++ TABLE_STRING, exit_status_mappings[status].name ?: "-",
++ TABLE_INT, status,
++ TABLE_STRING, exit_status_class(status) ?: "-");
++ if (r < 0)
++ return r;
++ }
++
++ (void) pager_open(arg_pager_flags);
++
++ return table_print(table, NULL);
++}
++
+ #if HAVE_SECCOMP
+
+ static int load_kernel_syscalls(Set **ret) {
+@@ -1685,52 +1731,6 @@ static void dump_syscall_filter(const SyscallFilterSet *set) {
+ printf(" %s%s%s\n", syscall[0] == '@' ? ansi_underline() : "", syscall, ansi_normal());
+ }
+
+-static int dump_exit_status(int argc, char *argv[], void *userdata) {
+- _cleanup_(table_unrefp) Table *table = NULL;
+- int r;
+-
+- table = table_new("name", "status", "class");
+- if (!table)
+- return log_oom();
+-
+- r = table_set_align_percent(table, table_get_cell(table, 0, 1), 100);
+- if (r < 0)
+- return log_error_errno(r, "Failed to right-align status: %m");
+-
+- if (strv_isempty(strv_skip(argv, 1)))
+- for (size_t i = 0; i < ELEMENTSOF(exit_status_mappings); i++) {
+- if (!exit_status_mappings[i].name)
+- continue;
+-
+- r = table_add_many(table,
+- TABLE_STRING, exit_status_mappings[i].name,
+- TABLE_INT, (int) i,
+- TABLE_STRING, exit_status_class(i));
+- if (r < 0)
+- return r;
+- }
+- else
+- for (int i = 1; i < argc; i++) {
+- int status;
+-
+- status = exit_status_from_string(argv[i]);
+- if (status < 0)
+- return log_error_errno(r, "Invalid exit status \"%s\": %m", argv[i]);
+-
+- assert(status >= 0 && (size_t) status < ELEMENTSOF(exit_status_mappings));
+- r = table_add_many(table,
+- TABLE_STRING, exit_status_mappings[status].name ?: "-",
+- TABLE_INT, status,
+- TABLE_STRING, exit_status_class(status) ?: "-");
+- if (r < 0)
+- return r;
+- }
+-
+- (void) pager_open(arg_pager_flags);
+-
+- return table_print(table, NULL);
+-}
+-
+ static int dump_syscall_filters(int argc, char *argv[], void *userdata) {
+ bool first = true;
+
+--
+2.22.0
+
diff --git a/sys-apps/systemd/systemd-242-r6.ebuild b/sys-apps/systemd/systemd-242-r6.ebuild
index 9ac1d4cb4722..eb97107359b6 100644
--- a/sys-apps/systemd/systemd-242-r6.ebuild
+++ b/sys-apps/systemd/systemd-242-r6.ebuild
@@ -11,12 +11,12 @@ else
MY_P=${PN}-${MY_PV}
S=${WORKDIR}/${MY_P}
SRC_URI="https://github.com/systemd/systemd/archive/v${MY_PV}/${MY_P}.tar.gz"
- KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ia64 ~mips ~ppc ~ppc64 sparc x86"
+ KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 ~mips ppc ppc64 sparc x86"
fi
PYTHON_COMPAT=( python{3_5,3_6,3_7} )
-inherit bash-completion-r1 linux-info meson multilib-minimal ninja-utils pam python-any-r1 systemd toolchain-funcs udev user
+inherit bash-completion-r1 linux-info meson multilib-minimal ninja-utils pam python-any-r1 systemd toolchain-funcs udev
DESCRIPTION="System and service manager for Linux"
HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd"
@@ -72,6 +72,26 @@ DEPEND="${COMMON_DEPEND}
# baselayout-2.2 has /run
RDEPEND="${COMMON_DEPEND}
+ acct-group/adm
+ acct-group/wheel
+ acct-group/kmem
+ acct-group/tty
+ acct-group/utmp
+ acct-group/audio
+ acct-group/cdrom
+ acct-group/dialout
+ acct-group/disk
+ acct-group/input
+ acct-group/kvm
+ acct-group/render
+ acct-group/tape
+ acct-group/video
+ acct-group/systemd-journal
+ acct-user/systemd-journal-remote
+ acct-user/systemd-coredump
+ acct-user/systemd-network
+ acct-user/systemd-resolve
+ acct-user/systemd-timesync
>=sys-apps/baselayout-2.2
selinux? ( sec-policy/selinux-base-policy[systemd] )
sysv-utils? ( !sys-apps/sysvinit )
@@ -85,7 +105,8 @@ RDEPEND="${COMMON_DEPEND}
!sys-auth/nss-myhostname
!<sys-kernel/dracut-044
!sys-fs/eudev
- !sys-fs/udev"
+ !sys-fs/udev
+"
# sys-apps/dbus: the daemon only (+ build-time lib dep for tests)
PDEPEND=">=sys-apps/dbus-1.9.8[systemd]
@@ -180,7 +201,6 @@ src_prepare() {
PATCHES+=(
"${FILESDIR}/gentoo-Dont-enable-audit-by-default.patch"
"${FILESDIR}/gentoo-systemd-user-pam.patch"
- "${FILESDIR}/gentoo-uucp-group-r1.patch"
"${FILESDIR}/gentoo-generator-path-r1.patch"
)
fi
@@ -261,11 +281,10 @@ multilib_src_configure() {
-Dselinux=$(meson_multilib_native_use selinux)
-Ddbus=$(meson_multilib_native_use test)
-Dxkbcommon=$(meson_multilib_native_use xkb)
- # hardcode a few paths to spare some deps
- -Dkill-path=/bin/kill
-Dntp-servers="0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org"
# Breaks screen, tmux, etc.
-Ddefault-kill-user-processes=false
+ -Dcreate-log-dirs=false
# multilib options
-Dbacklight=$(meson_multilib)
@@ -350,7 +369,7 @@ multilib_src_install_all() {
keepdir /usr/lib/{binfmt.d,modules-load.d}
keepdir /usr/lib/systemd/user-generators
keepdir /var/lib/systemd
- rm -rf "${ED}"/var/log || die
+ keepdir /var/log/journal
# Symlink /etc/sysctl.conf for easy migration.
dosym ../sysctl.conf /etc/sysctl.d/99-sysctl.conf
@@ -426,23 +445,6 @@ pkg_preinst() {
}
pkg_postinst() {
- newusergroup() {
- enewgroup "$1"
- enewuser "$1" -1 -1 -1 "$1"
- }
-
- enewgroup input
- enewgroup kvm 78
- enewgroup render
- enewgroup systemd-journal
- newusergroup systemd-coredump
- newusergroup systemd-journal-gateway
- newusergroup systemd-journal-remote
- newusergroup systemd-journal-upload
- newusergroup systemd-network
- newusergroup systemd-resolve
- newusergroup systemd-timesync
-
systemd_update_catalog
# Keep this here in case the database format changes so it gets updated
diff --git a/sys-apps/systemd/systemd-241-r4.ebuild b/sys-apps/systemd/systemd-243_rc1.ebuild
index 1ace2cf3dc3b..3f4f5a43b843 100644
--- a/sys-apps/systemd/systemd-241-r4.ebuild
+++ b/sys-apps/systemd/systemd-243_rc1.ebuild
@@ -11,19 +11,19 @@ else
MY_P=${PN}-${MY_PV}
S=${WORKDIR}/${MY_P}
SRC_URI="https://github.com/systemd/systemd/archive/v${MY_PV}/${MY_P}.tar.gz"
- KEYWORDS="alpha amd64 arm arm64 ~hppa ia64 ~mips ppc ppc64 sparc x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
fi
PYTHON_COMPAT=( python{3_5,3_6,3_7} )
-inherit bash-completion-r1 linux-info meson multilib-minimal ninja-utils pam python-any-r1 systemd toolchain-funcs udev user
+inherit bash-completion-r1 linux-info meson multilib-minimal ninja-utils pam python-any-r1 systemd toolchain-funcs udev
DESCRIPTION="System and service manager for Linux"
HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd"
LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
SLOT="0/2"
-IUSE="acl apparmor audit build cryptsetup curl elfutils +gcrypt gnuefi http idn importd +kmod libidn2 +lz4 lzma nat pam pcre policykit qrcode +resolvconf +seccomp selinux split-usr ssl +sysv-utils test vanilla xkb"
+IUSE="acl apparmor audit build cryptsetup curl dns-over-tls elfutils +gcrypt gnuefi http idn importd +kmod +lz4 lzma nat pam pcre policykit qrcode +resolvconf +seccomp selinux split-usr +sysv-utils test vanilla xkb"
REQUIRED_USE="importd? ( curl gcrypt lzma )"
RESTRICT="!test? ( test )"
@@ -38,16 +38,14 @@ COMMON_DEPEND=">=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}]
audit? ( >=sys-process/audit-2:0= )
cryptsetup? ( >=sys-fs/cryptsetup-1.6:0= )
curl? ( net-misc/curl:0= )
+ dns-over-tls? ( >=net-libs/gnutls-3.5.3:0= )
elfutils? ( >=dev-libs/elfutils-0.158:0= )
gcrypt? ( >=dev-libs/libgcrypt-1.4.5:0=[${MULTILIB_USEDEP}] )
http? (
- >=net-libs/libmicrohttpd-0.9.33:0=
- ssl? ( >=net-libs/gnutls-3.1.4:0= )
- )
- idn? (
- libidn2? ( net-dns/libidn2:= )
- !libidn2? ( net-dns/libidn:= )
+ >=net-libs/libmicrohttpd-0.9.33:0=[epoll(+)]
+ >=net-libs/gnutls-3.1.4:0=
)
+ idn? ( net-dns/libidn2:= )
importd? (
app-arch/bzip2:0=
sys-libs/zlib:0=
@@ -63,8 +61,34 @@ COMMON_DEPEND=">=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}]
selinux? ( sys-libs/libselinux:0= )
xkb? ( >=x11-libs/libxkbcommon-0.4.1:0= )"
+# Newer linux-headers needed by ia64, bug #480218
+DEPEND="${COMMON_DEPEND}
+ >=sys-kernel/linux-headers-${MINKV}
+ gnuefi? ( >=sys-boot/gnu-efi-3.0.2 )
+"
+
# baselayout-2.2 has /run
RDEPEND="${COMMON_DEPEND}
+ acct-group/adm
+ acct-group/wheel
+ acct-group/kmem
+ acct-group/tty
+ acct-group/utmp
+ acct-group/audio
+ acct-group/cdrom
+ acct-group/dialout
+ acct-group/disk
+ acct-group/input
+ acct-group/kvm
+ acct-group/render
+ acct-group/tape
+ acct-group/video
+ acct-group/systemd-journal
+ acct-user/systemd-journal-remote
+ acct-user/systemd-coredump
+ acct-user/systemd-network
+ acct-user/systemd-resolve
+ acct-user/systemd-timesync
>=sys-apps/baselayout-2.2
selinux? ( sec-policy/selinux-base-policy[systemd] )
sysv-utils? ( !sys-apps/sysvinit )
@@ -78,7 +102,8 @@ RDEPEND="${COMMON_DEPEND}
!sys-auth/nss-myhostname
!<sys-kernel/dracut-044
!sys-fs/eudev
- !sys-fs/udev"
+ !sys-fs/udev
+"
# sys-apps/dbus: the daemon only (+ build-time lib dep for tests)
PDEPEND=">=sys-apps/dbus-1.9.8[systemd]
@@ -87,12 +112,6 @@ PDEPEND=">=sys-apps/dbus-1.9.8[systemd]
policykit? ( sys-auth/polkit )
!vanilla? ( sys-apps/gentoo-systemd-integration )"
-# Newer linux-headers needed by ia64, bug #480218
-DEPEND="
- >=sys-kernel/linux-headers-${MINKV}
- gnuefi? ( >=sys-boot/gnu-efi-3.0.2 )
-"
-
BDEPEND="
app-arch/xz-utils:0
dev-util/gperf
@@ -166,21 +185,13 @@ src_prepare() {
# Add local patches here
PATCHES+=(
- "${FILESDIR}"/CVE-2019-6454/0001-Refuse-dbus-message-paths-longer-than-BUS_PATH_SIZE_.patch
- "${FILESDIR}"/CVE-2019-6454/0002-Allocate-temporary-strings-to-hold-dbus-paths-on-the.patch
- "${FILESDIR}"/241-version-dep.patch
- "${FILESDIR}"/242-gcc-9.patch
- "${FILESDIR}"/242-file-max.patch
- "${FILESDIR}"/241-wrapper-msan-unpoinson.patch
- "${FILESDIR}"/242-rdrand-ryzen.patch
- "${FILESDIR}"/242-networkd-ipv6-token.patch
+ "${FILESDIR}"/243-rc1-analyze.patch
)
if ! use vanilla; then
PATCHES+=(
"${FILESDIR}/gentoo-Dont-enable-audit-by-default.patch"
"${FILESDIR}/gentoo-systemd-user-pam.patch"
- "${FILESDIR}/gentoo-uucp-group-r1.patch"
"${FILESDIR}/gentoo-generator-path-r1.patch"
)
fi
@@ -240,12 +251,13 @@ multilib_src_configure() {
-Daudit=$(meson_multilib_native_use audit)
-Dlibcryptsetup=$(meson_multilib_native_use cryptsetup)
-Dlibcurl=$(meson_multilib_native_use curl)
+ -Ddns-over-tls=$(meson_multilib_native_use dns-over-tls)
-Delfutils=$(meson_multilib_native_use elfutils)
-Dgcrypt=$(meson_use gcrypt)
-Dgnu-efi=$(meson_multilib_native_use gnuefi)
- -Defi-libdir="${EPREFIX}/usr/$(get_libdir)"
+ -Defi-libdir="${ESYSROOT}/usr/$(get_libdir)"
-Dmicrohttpd=$(meson_multilib_native_use http)
- $(usex http -Dgnutls=$(meson_multilib_native_use ssl) -Dgnutls=false)
+ -Didn=$(meson_multilib_native_use idn)
-Dimportd=$(meson_multilib_native_use importd)
-Dbzip2=$(meson_multilib_native_use importd)
-Dzlib=$(meson_multilib_native_use importd)
@@ -259,14 +271,12 @@ multilib_src_configure() {
-Dqrencode=$(meson_multilib_native_use qrcode)
-Dseccomp=$(meson_multilib_native_use seccomp)
-Dselinux=$(meson_multilib_native_use selinux)
- #-Dtests=$(meson_multilib_native_use test)
-Ddbus=$(meson_multilib_native_use test)
-Dxkbcommon=$(meson_multilib_native_use xkb)
- # hardcode a few paths to spare some deps
- -Dkill-path=/bin/kill
-Dntp-servers="0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org"
# Breaks screen, tmux, etc.
-Ddefault-kill-user-processes=false
+ -Dcreate-log-dirs=false
# multilib options
-Dbacklight=$(meson_multilib)
@@ -291,18 +301,6 @@ multilib_src_configure() {
-Dvconsole=$(meson_multilib)
)
- if multilib_is_native_abi && use idn; then
- myconf+=(
- -Dlibidn2=$(usex libidn2 true false)
- -Dlibidn=$(usex libidn2 false true)
- )
- else
- myconf+=(
- -Dlibidn2=false
- -Dlibidn=false
- )
- fi
-
meson_src_configure "${myconf[@]}"
}
@@ -344,23 +342,18 @@ multilib_src_install_all() {
# Preserve empty dirs in /etc & /var, bug #437008
keepdir /etc/{binfmt.d,modules-load.d,tmpfiles.d}
- keepdir /etc/systemd/{ntp-units.d,user} /var/lib/systemd
+ keepdir /etc/kernel/install.d
+ keepdir /etc/systemd/{network,user}
keepdir /etc/udev/{hwdb.d,rules.d}
- keepdir /var/log/journal/remote
+ keepdir "${rootprefix}"/lib/systemd/{system-sleep,system-shutdown}
+ keepdir /usr/lib/{binfmt.d,modules-load.d}
+ keepdir /usr/lib/systemd/user-generators
+ keepdir /var/lib/systemd
+ keepdir /var/log/journal
# Symlink /etc/sysctl.conf for easy migration.
dosym ../sysctl.conf /etc/sysctl.d/99-sysctl.conf
- # If we install these symlinks, there is no way for the sysadmin to remove them
- # permanently.
- rm -f "${ED}"/etc/systemd/system/multi-user.target.wants/systemd-networkd.service || die
- rm -f "${ED}"/etc/systemd/system/dbus-org.freedesktop.network1.service || die
- rm -f "${ED}"/etc/systemd/system/multi-user.target.wants/systemd-resolved.service || die
- rm -f "${ED}"/etc/systemd/system/dbus-org.freedesktop.resolve1.service || die
- rm -fr "${ED}"/etc/systemd/system/network-online.target.wants || die
- rm -fr "${ED}"/etc/systemd/system/sockets.target.wants || die
- rm -fr "${ED}"/etc/systemd/system/sysinit.target.wants || die
-
local udevdir=/lib/udev
use split-usr || udevdir=/usr/lib/udev
@@ -417,25 +410,21 @@ migrate_locale() {
fi
}
-pkg_postinst() {
- newusergroup() {
- enewgroup "$1"
- enewuser "$1" -1 -1 -1 "$1"
- }
-
- enewgroup input
- enewgroup kvm 78
- enewgroup render
- enewgroup systemd-journal
- newusergroup systemd-bus-proxy
- newusergroup systemd-coredump
- newusergroup systemd-journal-gateway
- newusergroup systemd-journal-remote
- newusergroup systemd-journal-upload
- newusergroup systemd-network
- newusergroup systemd-resolve
- newusergroup systemd-timesync
+save_enabled_units() {
+ ENABLED_UNITS=()
+ type systemctl &>/dev/null || return
+ for x; do
+ if systemctl --quiet --root="${ROOT:-/}" is-enabled "${x}"; then
+ ENABLED_UNITS+=( "${x}" )
+ fi
+ done
+}
+pkg_preinst() {
+ save_enabled_units {machines,remote-{cryptsetup,fs}}.target getty@tty1.service
+}
+
+pkg_postinst() {
systemd_update_catalog
# Keep this here in case the database format changes so it gets updated
@@ -452,6 +441,14 @@ pkg_postinst() {
systemd_reenable systemd-networkd.service systemd-resolved.service
+ if [[ ${ENABLED_UNITS[@]} ]]; then
+ systemctl --root="${ROOT:-/}" enable "${ENABLED_UNITS[@]}"
+ fi
+
+ if [[ -L ${EROOT}/var/lib/systemd/timesync ]]; then
+ rm "${EROOT}/var/lib/systemd/timesync"
+ fi
+
if [[ -z ${ROOT} && -d /run/systemd/system ]]; then
ebegin "Reexecuting system manager"
systemctl daemon-reexec
diff --git a/sys-apps/systemd/systemd-9999.ebuild b/sys-apps/systemd/systemd-9999.ebuild
index e0fd800a5e9c..a2bb8171bab6 100644
--- a/sys-apps/systemd/systemd-9999.ebuild
+++ b/sys-apps/systemd/systemd-9999.ebuild
@@ -16,14 +16,14 @@ fi
PYTHON_COMPAT=( python{3_5,3_6,3_7} )
-inherit bash-completion-r1 linux-info meson multilib-minimal ninja-utils pam python-any-r1 systemd toolchain-funcs udev user
+inherit bash-completion-r1 linux-info meson multilib-minimal ninja-utils pam python-any-r1 systemd toolchain-funcs udev
DESCRIPTION="System and service manager for Linux"
HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd"
LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
SLOT="0/2"
-IUSE="acl apparmor audit build cryptsetup curl dns-over-tls elfutils +gcrypt gnuefi http idn importd +kmod libidn2 +lz4 lzma nat pam pcre policykit qrcode +resolvconf +seccomp selinux split-usr +sysv-utils test vanilla xkb"
+IUSE="acl apparmor audit build cryptsetup curl dns-over-tls elfutils +gcrypt gnuefi http idn importd +kmod +lz4 lzma nat pam pcre policykit qrcode +resolvconf +seccomp selinux split-usr +sysv-utils test vanilla xkb"
REQUIRED_USE="importd? ( curl gcrypt lzma )"
RESTRICT="!test? ( test )"
@@ -45,10 +45,7 @@ COMMON_DEPEND=">=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}]
>=net-libs/libmicrohttpd-0.9.33:0=[epoll(+)]
>=net-libs/gnutls-3.1.4:0=
)
- idn? (
- libidn2? ( net-dns/libidn2:= )
- !libidn2? ( net-dns/libidn:= )
- )
+ idn? ( net-dns/libidn2:= )
importd? (
app-arch/bzip2:0=
sys-libs/zlib:0=
@@ -72,6 +69,26 @@ DEPEND="${COMMON_DEPEND}
# baselayout-2.2 has /run
RDEPEND="${COMMON_DEPEND}
+ acct-group/adm
+ acct-group/wheel
+ acct-group/kmem
+ acct-group/tty
+ acct-group/utmp
+ acct-group/audio
+ acct-group/cdrom
+ acct-group/dialout
+ acct-group/disk
+ acct-group/input
+ acct-group/kvm
+ acct-group/render
+ acct-group/tape
+ acct-group/video
+ acct-group/systemd-journal
+ acct-user/systemd-journal-remote
+ acct-user/systemd-coredump
+ acct-user/systemd-network
+ acct-user/systemd-resolve
+ acct-user/systemd-timesync
>=sys-apps/baselayout-2.2
selinux? ( sec-policy/selinux-base-policy[systemd] )
sysv-utils? ( !sys-apps/sysvinit )
@@ -85,7 +102,8 @@ RDEPEND="${COMMON_DEPEND}
!sys-auth/nss-myhostname
!<sys-kernel/dracut-044
!sys-fs/eudev
- !sys-fs/udev"
+ !sys-fs/udev
+"
# sys-apps/dbus: the daemon only (+ build-time lib dep for tests)
PDEPEND=">=sys-apps/dbus-1.9.8[systemd]
@@ -173,7 +191,6 @@ src_prepare() {
PATCHES+=(
"${FILESDIR}/gentoo-Dont-enable-audit-by-default.patch"
"${FILESDIR}/gentoo-systemd-user-pam.patch"
- "${FILESDIR}/gentoo-uucp-group-r1.patch"
"${FILESDIR}/gentoo-generator-path-r1.patch"
)
fi
@@ -239,6 +256,7 @@ multilib_src_configure() {
-Dgnu-efi=$(meson_multilib_native_use gnuefi)
-Defi-libdir="${ESYSROOT}/usr/$(get_libdir)"
-Dmicrohttpd=$(meson_multilib_native_use http)
+ -Didn=$(meson_multilib_native_use idn)
-Dimportd=$(meson_multilib_native_use importd)
-Dbzip2=$(meson_multilib_native_use importd)
-Dzlib=$(meson_multilib_native_use importd)
@@ -254,11 +272,10 @@ multilib_src_configure() {
-Dselinux=$(meson_multilib_native_use selinux)
-Ddbus=$(meson_multilib_native_use test)
-Dxkbcommon=$(meson_multilib_native_use xkb)
- # hardcode a few paths to spare some deps
- -Dkill-path=/bin/kill
-Dntp-servers="0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org"
# Breaks screen, tmux, etc.
-Ddefault-kill-user-processes=false
+ -Dcreate-log-dirs=false
# multilib options
-Dbacklight=$(meson_multilib)
@@ -283,18 +300,6 @@ multilib_src_configure() {
-Dvconsole=$(meson_multilib)
)
- if multilib_is_native_abi && use idn; then
- myconf+=(
- -Dlibidn2=$(usex libidn2 true false)
- -Dlibidn=$(usex libidn2 false true)
- )
- else
- myconf+=(
- -Dlibidn2=false
- -Dlibidn=false
- )
- fi
-
meson_src_configure "${myconf[@]}"
}
@@ -343,7 +348,7 @@ multilib_src_install_all() {
keepdir /usr/lib/{binfmt.d,modules-load.d}
keepdir /usr/lib/systemd/user-generators
keepdir /var/lib/systemd
- rm -rf "${ED}"/var/log || die
+ keepdir /var/log/journal
# Symlink /etc/sysctl.conf for easy migration.
dosym ../sysctl.conf /etc/sysctl.d/99-sysctl.conf
@@ -419,23 +424,6 @@ pkg_preinst() {
}
pkg_postinst() {
- newusergroup() {
- enewgroup "$1"
- enewuser "$1" -1 -1 -1 "$1"
- }
-
- enewgroup input
- enewgroup kvm 78
- enewgroup render
- enewgroup systemd-journal
- newusergroup systemd-coredump
- newusergroup systemd-journal-gateway
- newusergroup systemd-journal-remote
- newusergroup systemd-journal-upload
- newusergroup systemd-network
- newusergroup systemd-resolve
- newusergroup systemd-timesync
-
systemd_update_catalog
# Keep this here in case the database format changes so it gets updated