Gentoo Archives: gentoo-commits

From: Mike Gilbert <floppym@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-apps/systemd/, sys-apps/systemd/files/
Date: Sun, 01 Apr 2018 16:31:53
Message-Id: 1522600287.2266f8440e17591fc6a4905a706c74432051854f.floppym@gentoo
1 commit: 2266f8440e17591fc6a4905a706c74432051854f
2 Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
3 AuthorDate: Sun Apr 1 16:31:04 2018 +0000
4 Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
5 CommitDate: Sun Apr 1 16:31:27 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2266f844
7
8 sys-apps/systemd: remove old
9
10 Package-Manager: Portage-2.3.24, Repoman-2.3.6_p81
11
12 sys-apps/systemd/Manifest | 5 -
13 .../files/237-0001-networkctl-display-type.patch | 266 ------------
14 sys-apps/systemd/metadata.xml | 1 -
15 sys-apps/systemd/systemd-233-r6.ebuild | 458 ---------------------
16 sys-apps/systemd/systemd-237-r2.ebuild | 440 --------------------
17 sys-apps/systemd/systemd-237-r3.ebuild | 442 --------------------
18 sys-apps/systemd/systemd-238-r1.ebuild | 437 --------------------
19 7 files changed, 2049 deletions(-)
20
21 diff --git a/sys-apps/systemd/Manifest b/sys-apps/systemd/Manifest
22 index f5ba7882937..42cccb76c59 100644
23 --- a/sys-apps/systemd/Manifest
24 +++ b/sys-apps/systemd/Manifest
25 @@ -1,9 +1,4 @@
26 -DIST systemd-233-man.tar.gz 31386 BLAKE2B e4947e658db3efeec6b5a6adf340d2cc8e8aff2a14db4932720f90c3dc898b1e78595db983948373a2e28191fb3b0aad234f80feb91ee8ae4b607a44038a9cae SHA512 cc5215d3590ffc3c9203a64c14d6adeb0148c421c1396b8c1e43dcb58763b687ce99bdee327dd8a00abab7198171e73b22109a3f2032e4cec6adf2dcc85acf40
27 -DIST systemd-233-patches.tar.gz 12553 BLAKE2B 5d19f2dc82cc6cbd9b2e9393f932dfa3c88a981358b282fe56d43cd432d0ee0c0245e9c13d5460b94d83908b84a382dad3348b999f2356ab3ef2ae2c542a867d SHA512 3081f4cf64542ba64a28fe2eff11d8040af42255eb99b5210db9d583fc4b4360a4a4bb8769a1e43d38474d69ead681974cb98d4605968b38f98fd3d9b40bf211
28 -DIST systemd-233.tar.gz 4660737 BLAKE2B 38cdd74543447b3c02391b328428fed169fe2cf2df6e9341dcaf2f7d3d977612ec102301e144c1cada90d61e9e9bda3b2faaef708c8ff4bd0b52b143760a83b2 SHA512 5ad5329ea116d973cf67096f7e7ad28e9ea0905696e9451291f1d25e5064f4a9bfcfae87e912996c6a38397e9f4a148d4ccecfa9b70f7ecdf04deadb61784c8e
29 DIST systemd-236-patches-2.tar.gz 54737 BLAKE2B bce5f9e234c975a2b6e474ca2a0c2c82e704f02cf19885134dddc5edbd0b7bfb3773d737f88f78ba2ab81093dfceeb44d76ecda99cf2b916072dcdfa84720c19 SHA512 b74ab6944135c938b2d0d2a1dd40ac4cc4ff26d072603d6bfbe4529d808b2e481eb910155895bce14607842ad6d30751aded51654a53f76278becbb5e317b875
30 DIST systemd-236.tar.gz 6759035 BLAKE2B 0fc26bd67fb6cc3b0565c763fc26e38186c4b05c3d38652b73a2189dfbfb46382dba239f7f6f889eec57ad1d8f69d4098745c8f4ca16a707aa23b7771f2328f3 SHA512 1a9672960e03e05c09e41fb8cfe9b0f25e867fd43f37f8371515ddddfdbd4270afd746a6da733f6d1d3b2cc43db1ecc7a9f2245f2dac2ec233db74e9e70e4f6d
31 -DIST systemd-237-patches-0.tar.gz 74617 BLAKE2B 52750bb08731e9e694a00fedc1e42beb7c6ad7736d3b6567f2ab094d4356506d10ec11e1c4c62623078d647c3314c71c9f141eb7c8628b610fd8a5e818b90ec6 SHA512 a6db99b330585e57c722bb0e692b0d988d5fbfef60c6cc87efbb7b903e55642c2f03bf6cdc80f15da22d0c41b5051387dac23a2f04238331f235154b17f32d1b
32 -DIST systemd-237.tar.gz 6871350 BLAKE2B 4734a110a297fbbd6679bced6302fcdca55ab5d4207905e8dee9f5545f1de841d5adeaa4fd89961b9e63709d04b5c862b8bc81481311cf8e72ee327e459c9d91 SHA512 15ef4b92815a6dd9a6c51672dbc00fd7cd0f08068ef0cbeaca574f68d330b28bc67ba1946f24f75ef3d9e7b63843a73eea700db54688061dbf5c9f8470394c3b
33 DIST systemd-238-patches-0.tar.gz 30019 BLAKE2B 0f393865cd6bcd815c1a6e932c0e5a25e125768d2bdef072d5fa7830b9ea012d0986380a1cdea8e369e1fffe89ea7657e4d55de2bae0d785ae374796a4e7c64b SHA512 f7e6fb7bf3b5cde2717a9e5dcd779a4595d6185d1ecdad8405a075edbb55b32c2573558f6af119ff50ea0df8eacef12ae7ee710fadd269f83db0985d76eb22dc
34 DIST systemd-238.tar.gz 6954022 BLAKE2B 9b5cc36a7234c0d037a2656ee1e5ed54186a394b8be41771ebc29c903d3efcecf7f13f004a6d1695c022923bd0d540a243e897852f07e810f73fd3163f688dde SHA512 c0f272b022308d3bd94679184e102a8dc85de55310bda205a458ea33c77c7733e5c8c8e5b15f786ba3e0ce59e7c6a9bf0d5a0950517c6b91e0f345950129b9c8
35
36 diff --git a/sys-apps/systemd/files/237-0001-networkctl-display-type.patch b/sys-apps/systemd/files/237-0001-networkctl-display-type.patch
37 deleted file mode 100644
38 index e29cf2206aa..00000000000
39 --- a/sys-apps/systemd/files/237-0001-networkctl-display-type.patch
40 +++ /dev/null
41 @@ -1,266 +0,0 @@
42 -From a18461bc7d446f8e130e9276de4397d00059267f Mon Sep 17 00:00:00 2001
43 -From: "Jason A. Donenfeld" <Jason@×××××.com>
44 -Date: Mon, 29 Jan 2018 20:58:24 +0100
45 -Subject: [PATCH 1/4] networkd: display wireguard devtype
46 -
47 -It's not useful to simply show "none", when we have more interesting
48 -information to display.
49 -
50 -Signed-off-by: Jason A. Donenfeld <Jason@×××××.com>
51 ----
52 - src/network/networkctl.c | 22 +++++++++++++++-------
53 - 1 file changed, 15 insertions(+), 7 deletions(-)
54 -
55 -diff --git a/src/network/networkctl.c b/src/network/networkctl.c
56 -index 59ce098cd1..6ce00dff6d 100644
57 ---- a/src/network/networkctl.c
58 -+++ b/src/network/networkctl.c
59 -@@ -62,18 +62,26 @@ static int link_get_type_string(unsigned short iftype, sd_device *d, char **ret)
60 -
61 - assert(ret);
62 -
63 -- if (iftype == ARPHRD_ETHER && d) {
64 -+ if (d) {
65 - const char *devtype = NULL, *id = NULL;
66 -+
67 -+ (void) sd_device_get_devtype(d, &devtype);
68 -+
69 - /* WLANs have iftype ARPHRD_ETHER, but we want
70 - * to show a more useful type string for
71 - * them */
72 -+ if (iftype == ARPHRD_ETHER) {
73 -+ if (streq_ptr(devtype, "wlan"))
74 -+ id = "wlan";
75 -+ else if (streq_ptr(devtype, "wwan"))
76 -+ id = "wwan";
77 -+ }
78 -
79 -- (void) sd_device_get_devtype(d, &devtype);
80 --
81 -- if (streq_ptr(devtype, "wlan"))
82 -- id = "wlan";
83 -- else if (streq_ptr(devtype, "wwan"))
84 -- id = "wwan";
85 -+ /* Likewise, WireGuard has iftype ARPHRD_NONE,
86 -+ * since it's layer 3, but we of course want
87 -+ * something more useful than that. */
88 -+ if (iftype == ARPHRD_NONE && streq_ptr(devtype, "wireguard"))
89 -+ id = "wireguard";
90 -
91 - if (id) {
92 - p = strdup(id);
93 -
94 -From f119082e7a1ccfbf50c30a99819b6e303cdf09a1 Mon Sep 17 00:00:00 2001
95 -From: "Jason A. Donenfeld" <Jason@×××××.com>
96 -Date: Mon, 29 Jan 2018 21:01:46 +0100
97 -Subject: [PATCH 2/4] networkd: simplify and display all devtypes
98 -
99 -Every place the kernel actually calls SET_NETDEV_DEVTYPE, it's adding a
100 -piece of information that looks useful and relevant for us to use. So
101 -let's use it when it's there.
102 -
103 -The previous matching based on the corresponding ARPHRD didn't really
104 -make much sense. The more sensible logic for getting a textual
105 -representation of the link type is to see if the kernel supplies a
106 -devtype. If it does, great. If not, then we can fall back on the ARPHRD,
107 -as before.
108 -
109 -Signed-off-by: Jason A. Donenfeld <Jason@×××××.com>
110 ----
111 - src/network/networkctl.c | 23 +++--------------------
112 - 1 file changed, 3 insertions(+), 20 deletions(-)
113 -
114 -diff --git a/src/network/networkctl.c b/src/network/networkctl.c
115 -index 6ce00dff6d..8a08304240 100644
116 ---- a/src/network/networkctl.c
117 -+++ b/src/network/networkctl.c
118 -@@ -63,28 +63,11 @@ static int link_get_type_string(unsigned short iftype, sd_device *d, char **ret)
119 - assert(ret);
120 -
121 - if (d) {
122 -- const char *devtype = NULL, *id = NULL;
123 -+ const char *devtype = NULL;
124 -
125 - (void) sd_device_get_devtype(d, &devtype);
126 --
127 -- /* WLANs have iftype ARPHRD_ETHER, but we want
128 -- * to show a more useful type string for
129 -- * them */
130 -- if (iftype == ARPHRD_ETHER) {
131 -- if (streq_ptr(devtype, "wlan"))
132 -- id = "wlan";
133 -- else if (streq_ptr(devtype, "wwan"))
134 -- id = "wwan";
135 -- }
136 --
137 -- /* Likewise, WireGuard has iftype ARPHRD_NONE,
138 -- * since it's layer 3, but we of course want
139 -- * something more useful than that. */
140 -- if (iftype == ARPHRD_NONE && streq_ptr(devtype, "wireguard"))
141 -- id = "wireguard";
142 --
143 -- if (id) {
144 -- p = strdup(id);
145 -+ if (!isempty(devtype)) {
146 -+ p = strdup(devtype);
147 - if (!p)
148 - return -ENOMEM;
149 -
150 -
151 -From fdce7817b9a27a370c01b7dd9da6a84fcae1038e Mon Sep 17 00:00:00 2001
152 -From: "Jason A. Donenfeld" <Jason@×××××.com>
153 -Date: Mon, 29 Jan 2018 21:05:36 +0100
154 -Subject: [PATCH 3/4] networkd: clean up link_get_type_string
155 -
156 -The return value is always ignored, so get rid of it.
157 -
158 -Signed-off-by: Jason A. Donenfeld <Jason@×××××.com>
159 ----
160 - src/network/networkctl.c | 16 +++++++---------
161 - 1 file changed, 7 insertions(+), 9 deletions(-)
162 -
163 -diff --git a/src/network/networkctl.c b/src/network/networkctl.c
164 -index 8a08304240..7b33e0db17 100644
165 ---- a/src/network/networkctl.c
166 -+++ b/src/network/networkctl.c
167 -@@ -56,7 +56,7 @@ static bool arg_no_pager = false;
168 - static bool arg_legend = true;
169 - static bool arg_all = false;
170 -
171 --static int link_get_type_string(unsigned short iftype, sd_device *d, char **ret) {
172 -+static void link_get_type_string(unsigned short iftype, sd_device *d, char **ret) {
173 - const char *t;
174 - char *p;
175 -
176 -@@ -69,27 +69,25 @@ static int link_get_type_string(unsigned short iftype, sd_device *d, char **ret)
177 - if (!isempty(devtype)) {
178 - p = strdup(devtype);
179 - if (!p)
180 -- return -ENOMEM;
181 -+ return;
182 -
183 - *ret = p;
184 -- return 1;
185 -+ return;
186 - }
187 - }
188 -
189 - t = arphrd_to_name(iftype);
190 - if (!t) {
191 - *ret = NULL;
192 -- return 0;
193 -+ return;
194 - }
195 -
196 - p = strdup(t);
197 - if (!p)
198 -- return -ENOMEM;
199 -+ return;
200 -
201 - ascii_strlower(p);
202 - *ret = p;
203 --
204 -- return 0;
205 - }
206 -
207 - static void operational_state_to_color(const char *state, const char **on, const char **off) {
208 -@@ -314,7 +312,7 @@ static int list_links(int argc, char *argv[], void *userdata) {
209 - xsprintf(devid, "n%i", links[i].ifindex);
210 - (void) sd_device_new_from_device_id(&d, devid);
211 -
212 -- (void) link_get_type_string(links[i].iftype, d, &t);
213 -+ link_get_type_string(links[i].iftype, d, &t);
214 -
215 - printf("%3i %-16s %-18s %s%-11s%s %s%-10s%s\n",
216 - links[i].ifindex, links[i].name, strna(t),
217 -@@ -807,7 +805,7 @@ static int link_status_one(
218 - (void) sd_device_get_property_value(d, "ID_MODEL", &model);
219 - }
220 -
221 -- (void) link_get_type_string(info->iftype, d, &t);
222 -+ link_get_type_string(info->iftype, d, &t);
223 -
224 - (void) sd_network_link_get_network_file(info->ifindex, &network);
225 -
226 -
227 -From b55822c349d3e0559c1efc7475fd0f74cf086453 Mon Sep 17 00:00:00 2001
228 -From: "Jason A. Donenfeld" <Jason@×××××.com>
229 -Date: Mon, 29 Jan 2018 21:08:39 +0100
230 -Subject: [PATCH 4/4] networkd: clean up link_get_type_string returns
231 -
232 -It's cleaner and more consistent to actually return what we were
233 -planning on returning.
234 -
235 -Signed-off-by: Jason A. Donenfeld <Jason@×××××.com>
236 ----
237 - src/network/networkctl.c | 28 +++++++++-------------------
238 - 1 file changed, 9 insertions(+), 19 deletions(-)
239 -
240 -diff --git a/src/network/networkctl.c b/src/network/networkctl.c
241 -index 7b33e0db17..14d8ecb03f 100644
242 ---- a/src/network/networkctl.c
243 -+++ b/src/network/networkctl.c
244 -@@ -56,38 +56,28 @@ static bool arg_no_pager = false;
245 - static bool arg_legend = true;
246 - static bool arg_all = false;
247 -
248 --static void link_get_type_string(unsigned short iftype, sd_device *d, char **ret) {
249 -+static char *link_get_type_string(unsigned short iftype, sd_device *d) {
250 - const char *t;
251 - char *p;
252 -
253 -- assert(ret);
254 --
255 - if (d) {
256 - const char *devtype = NULL;
257 -
258 - (void) sd_device_get_devtype(d, &devtype);
259 -- if (!isempty(devtype)) {
260 -- p = strdup(devtype);
261 -- if (!p)
262 -- return;
263 --
264 -- *ret = p;
265 -- return;
266 -- }
267 -+ if (!isempty(devtype))
268 -+ return strdup(devtype);
269 - }
270 -
271 - t = arphrd_to_name(iftype);
272 -- if (!t) {
273 -- *ret = NULL;
274 -- return;
275 -- }
276 -+ if (!t)
277 -+ return NULL;
278 -
279 - p = strdup(t);
280 - if (!p)
281 -- return;
282 -+ return NULL;
283 -
284 - ascii_strlower(p);
285 -- *ret = p;
286 -+ return p;
287 - }
288 -
289 - static void operational_state_to_color(const char *state, const char **on, const char **off) {
290 -@@ -312,7 +302,7 @@ static int list_links(int argc, char *argv[], void *userdata) {
291 - xsprintf(devid, "n%i", links[i].ifindex);
292 - (void) sd_device_new_from_device_id(&d, devid);
293 -
294 -- link_get_type_string(links[i].iftype, d, &t);
295 -+ t = link_get_type_string(links[i].iftype, d);
296 -
297 - printf("%3i %-16s %-18s %s%-11s%s %s%-10s%s\n",
298 - links[i].ifindex, links[i].name, strna(t),
299 -@@ -805,7 +795,7 @@ static int link_status_one(
300 - (void) sd_device_get_property_value(d, "ID_MODEL", &model);
301 - }
302 -
303 -- link_get_type_string(info->iftype, d, &t);
304 -+ t = link_get_type_string(info->iftype, d);
305 -
306 - (void) sd_network_link_get_network_file(info->ifindex, &network);
307 -
308
309 diff --git a/sys-apps/systemd/metadata.xml b/sys-apps/systemd/metadata.xml
310 index c0dbc0de012..d2004bef107 100644
311 --- a/sys-apps/systemd/metadata.xml
312 +++ b/sys-apps/systemd/metadata.xml
313 @@ -13,7 +13,6 @@
314 <flag name="audit">Enable support for <pkg>sys-process/audit</pkg></flag>
315 <flag name="curl">Enable support for uploading journals</flag>
316 <flag name="cryptsetup">Enable cryptsetup tools (includes unit generator for crypttab)</flag>
317 - <flag name="doc">Generate systemd.index.7 and systemd.directives.7</flag>
318 <flag name="gnuefi">Enable EFI boot manager and stub loader (built using <pkg>sys-boot/gnu-efi</pkg>)</flag>
319 <flag name="elfutils">Enable coredump stacktraces in the journal</flag>
320 <flag name="gcrypt">Enable sealing of journal files using gcrypt</flag>
321
322 diff --git a/sys-apps/systemd/systemd-233-r6.ebuild b/sys-apps/systemd/systemd-233-r6.ebuild
323 deleted file mode 100644
324 index 307333c182d..00000000000
325 --- a/sys-apps/systemd/systemd-233-r6.ebuild
326 +++ /dev/null
327 @@ -1,458 +0,0 @@
328 -# Copyright 1999-2018 Gentoo Foundation
329 -# Distributed under the terms of the GNU General Public License v2
330 -
331 -EAPI=6
332 -
333 -if [[ ${PV} == 9999 ]]; then
334 - EGIT_REPO_URI="https://github.com/systemd/systemd.git"
335 - inherit git-r3
336 -else
337 - SRC_URI="https://github.com/systemd/systemd/archive/v${PV}.tar.gz -> ${P}.tar.gz
338 - https://dev.gentoo.org/~floppym/dist/${P}-patches.tar.gz
339 - !doc? ( https://dev.gentoo.org/~floppym/dist/${P}-man.tar.gz )"
340 - KEYWORDS="alpha amd64 arm ~arm64 ia64 ppc ppc64 ~sparc x86"
341 -fi
342 -
343 -PYTHON_COMPAT=( python{3_4,3_5,3_6} )
344 -
345 -inherit autotools bash-completion-r1 linux-info multilib-minimal pam python-any-r1 systemd toolchain-funcs udev user
346 -
347 -DESCRIPTION="System and service manager for Linux"
348 -HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd"
349 -
350 -LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
351 -SLOT="0/2"
352 -IUSE="acl apparmor audit build cryptsetup curl doc elfutils +gcrypt gnuefi http
353 - idn importd +kmod +lz4 lzma nat pam policykit
354 - qrcode +seccomp selinux ssl sysv-utils test vanilla xkb"
355 -
356 -REQUIRED_USE="importd? ( curl gcrypt lzma )"
357 -
358 -MINKV="3.11"
359 -
360 -COMMON_DEPEND=">=sys-apps/util-linux-2.27.1:0=[${MULTILIB_USEDEP}]
361 - sys-libs/libcap:0=[${MULTILIB_USEDEP}]
362 - !<sys-libs/glibc-2.16
363 - acl? ( sys-apps/acl:0= )
364 - apparmor? ( sys-libs/libapparmor:0= )
365 - audit? ( >=sys-process/audit-2:0= )
366 - cryptsetup? ( >=sys-fs/cryptsetup-1.6:0= )
367 - curl? ( net-misc/curl:0= )
368 - elfutils? ( >=dev-libs/elfutils-0.158:0= )
369 - gcrypt? ( >=dev-libs/libgcrypt-1.4.5:0=[${MULTILIB_USEDEP}] )
370 - http? (
371 - >=net-libs/libmicrohttpd-0.9.33:0=
372 - ssl? ( >=net-libs/gnutls-3.1.4:0= )
373 - )
374 - idn? ( net-dns/libidn:0= )
375 - importd? (
376 - app-arch/bzip2:0=
377 - sys-libs/zlib:0=
378 - )
379 - kmod? ( >=sys-apps/kmod-15:0= )
380 - lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
381 - lzma? ( >=app-arch/xz-utils-5.0.5-r1:0=[${MULTILIB_USEDEP}] )
382 - nat? ( net-firewall/iptables:0= )
383 - pam? ( virtual/pam:=[${MULTILIB_USEDEP}] )
384 - qrcode? ( media-gfx/qrencode:0= )
385 - seccomp? ( >=sys-libs/libseccomp-2.3.1:0= )
386 - selinux? ( sys-libs/libselinux:0= )
387 - xkb? ( >=x11-libs/libxkbcommon-0.4.1:0= )
388 - abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r9
389 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
390 -
391 -# baselayout-2.2 has /run
392 -RDEPEND="${COMMON_DEPEND}
393 - >=sys-apps/baselayout-2.2
394 - selinux? ( sec-policy/selinux-base-policy[systemd] )
395 - sysv-utils? ( !sys-apps/sysvinit )
396 - !sysv-utils? ( sys-apps/sysvinit )
397 - !build? ( || (
398 - sys-apps/util-linux[kill(-)]
399 - sys-process/procps[kill(+)]
400 - sys-apps/coreutils[kill(-)]
401 - ) )
402 - !sys-auth/nss-myhostname
403 - !<sys-kernel/dracut-044
404 - !sys-fs/eudev
405 - !sys-fs/udev"
406 -
407 -# sys-apps/dbus: the daemon only (+ build-time lib dep for tests)
408 -PDEPEND=">=sys-apps/dbus-1.9.8[systemd]
409 - >=sys-apps/hwids-20150417[udev]
410 - >=sys-fs/udev-init-scripts-25
411 - policykit? ( sys-auth/polkit )
412 - !vanilla? ( sys-apps/gentoo-systemd-integration )"
413 -
414 -# Newer linux-headers needed by ia64, bug #480218
415 -DEPEND="${COMMON_DEPEND}
416 - app-arch/xz-utils:0
417 - dev-util/gperf
418 - >=dev-util/intltool-0.50
419 - >=sys-apps/coreutils-8.16
420 - >=sys-kernel/linux-headers-${MINKV}
421 - virtual/pkgconfig
422 - gnuefi? ( >=sys-boot/gnu-efi-3.0.2 )
423 - test? ( sys-apps/dbus )
424 - app-text/docbook-xml-dtd:4.2
425 - app-text/docbook-xml-dtd:4.5
426 - app-text/docbook-xsl-stylesheets
427 - dev-libs/libxslt:0
428 - doc? ( $(python_gen_any_dep 'dev-python/lxml[${PYTHON_USEDEP}]') )
429 -"
430 -
431 -python_check_deps() {
432 - has_version --host-root "dev-python/lxml[${PYTHON_USEDEP}]"
433 -}
434 -
435 -pkg_pretend() {
436 - if [[ ${MERGE_TYPE} != buildonly ]]; then
437 - local CONFIG_CHECK="~AUTOFS4_FS ~BLK_DEV_BSG ~CGROUPS
438 - ~CHECKPOINT_RESTORE ~DEVTMPFS ~EPOLL ~FANOTIFY ~FHANDLE
439 - ~INOTIFY_USER ~IPV6 ~NET ~NET_NS ~PROC_FS ~SIGNALFD ~SYSFS
440 - ~TIMERFD ~TMPFS_XATTR ~UNIX
441 - ~CRYPTO_HMAC ~CRYPTO_SHA256 ~CRYPTO_USER_API_HASH
442 - ~!FW_LOADER_USER_HELPER_FALLBACK ~!GRKERNSEC_PROC ~!IDE ~!SYSFS_DEPRECATED
443 - ~!SYSFS_DEPRECATED_V2"
444 -
445 - use acl && CONFIG_CHECK+=" ~TMPFS_POSIX_ACL"
446 - use seccomp && CONFIG_CHECK+=" ~SECCOMP ~SECCOMP_FILTER"
447 - kernel_is -lt 3 7 && CONFIG_CHECK+=" ~HOTPLUG"
448 - kernel_is -lt 4 7 && CONFIG_CHECK+=" ~DEVPTS_MULTIPLE_INSTANCES"
449 -
450 - if linux_config_exists; then
451 - local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
452 - if [[ -n ${uevent_helper_path} ]] && [[ ${uevent_helper_path} != '""' ]]; then
453 - ewarn "It's recommended to set an empty value to the following kernel config option:"
454 - ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
455 - fi
456 - if linux_chkconfig_present X86; then
457 - CONFIG_CHECK+=" ~DMIID"
458 - fi
459 - fi
460 -
461 - if kernel_is -lt ${MINKV//./ }; then
462 - ewarn "Kernel version at least ${MINKV} required"
463 - fi
464 -
465 - check_extra_config
466 - fi
467 -}
468 -
469 -pkg_setup() {
470 - :
471 -}
472 -
473 -src_unpack() {
474 - default
475 - [[ ${PV} != 9999 ]] || git-r3_src_unpack
476 -}
477 -
478 -src_prepare() {
479 - # Bug 463376
480 - sed -i -e 's/GROUP="dialout"/GROUP="uucp"/' rules/*.rules || die
481 -
482 - local PATCHES=(
483 - "${FILESDIR}/CVE-2017-15908.patch"
484 - )
485 -
486 - if ! use vanilla; then
487 - PATCHES+=(
488 - "${FILESDIR}/gentoo-Dont-enable-audit-by-default.patch"
489 - "${FILESDIR}/gentoo-noclean-tmp.patch"
490 - "${FILESDIR}/gentoo-systemd-user-pam.patch"
491 - )
492 - fi
493 -
494 - [[ -d "${WORKDIR}"/patches ]] && PATCHES+=( "${WORKDIR}"/patches )
495 -
496 - default
497 -
498 - eautoreconf
499 -}
500 -
501 -src_configure() {
502 - # Keep using the one where the rules were installed.
503 - MY_UDEVDIR=$(get_udevdir)
504 - # Fix systems broken by bug #509454.
505 - [[ ${MY_UDEVDIR} ]] || MY_UDEVDIR=/lib/udev
506 -
507 - # Prevent conflicts with i686 cross toolchain, bug 559726
508 - tc-export AR CC NM OBJCOPY RANLIB
509 -
510 - use doc && python_setup
511 -
512 - multilib-minimal_src_configure
513 -}
514 -
515 -multilib_src_configure() {
516 - local myeconfargs=(
517 - # disable -flto since it is an optimization flag
518 - # and makes distcc less effective
519 - cc_cv_CFLAGS__flto=no
520 - # disable -fuse-ld=gold since Gentoo supports explicit linker
521 - # choice and forcing gold is undesired, #539998
522 - # ld.gold may collide with user's LDFLAGS, #545168
523 - # ld.gold breaks sparc, #573874
524 - cc_cv_LDFLAGS__Wl__fuse_ld_gold=no
525 -
526 - # Workaround for gcc-4.7, bug 554454.
527 - cc_cv_CFLAGS__Werror_shadow=no
528 -
529 - # Workaround for bug 516346
530 - --enable-dependency-tracking
531 -
532 - --disable-maintainer-mode
533 - --localstatedir=/var
534 - --with-pamlibdir=$(getpam_mod_dir)
535 - # avoid bash-completion dep
536 - --with-bashcompletiondir="$(get_bashcompdir)"
537 - # make sure we get /bin:/sbin in $PATH
538 - --enable-split-usr
539 - # For testing.
540 - --with-rootprefix="${ROOTPREFIX-/usr}"
541 - --with-rootlibdir="${ROOTPREFIX-/usr}/$(get_libdir)"
542 - # disable sysv compatibility
543 - --with-sysvinit-path=
544 - --with-sysvrcnd-path=
545 - # no deps
546 - --enable-efi
547 - --enable-ima
548 -
549 - # Optional components/dependencies
550 - $(multilib_native_use_enable acl)
551 - $(multilib_native_use_enable apparmor)
552 - $(multilib_native_use_enable audit)
553 - $(multilib_native_use_enable cryptsetup libcryptsetup)
554 - $(multilib_native_use_enable curl libcurl)
555 - $(multilib_native_use_enable elfutils)
556 - $(use_enable gcrypt)
557 - $(multilib_native_use_enable gnuefi)
558 - --with-efi-libdir="/usr/$(get_libdir)"
559 - $(multilib_native_use_enable http microhttpd)
560 - $(usex http $(multilib_native_use_enable ssl gnutls) --disable-gnutls)
561 - $(multilib_native_use_enable idn libidn)
562 - $(multilib_native_use_enable importd)
563 - $(multilib_native_use_enable importd bzip2)
564 - $(multilib_native_use_enable importd zlib)
565 - $(multilib_native_use_enable kmod)
566 - $(use_enable lz4)
567 - $(use_enable lzma xz)
568 - $(multilib_native_use_enable nat libiptc)
569 - $(use_enable pam)
570 - $(multilib_native_use_enable policykit polkit)
571 - $(multilib_native_use_enable qrcode qrencode)
572 - $(multilib_native_use_enable seccomp)
573 - $(multilib_native_use_enable selinux)
574 - $(multilib_native_use_enable test tests)
575 - $(multilib_native_use_enable test dbus)
576 - $(multilib_native_use_enable xkb xkbcommon)
577 - $(multilib_native_use_with doc python)
578 -
579 - # hardcode a few paths to spare some deps
580 - KILL=/bin/kill
581 - QUOTAON=/usr/sbin/quotaon
582 - QUOTACHECK=/usr/sbin/quotacheck
583 -
584 - # TODO: we may need to restrict this to gcc
585 - EFI_CC="$(tc-getCC)"
586 -
587 - # dbus paths
588 - --with-dbuspolicydir="${EPREFIX}/etc/dbus-1/system.d"
589 - --with-dbussessionservicedir="${EPREFIX}/usr/share/dbus-1/services"
590 - --with-dbussystemservicedir="${EPREFIX}/usr/share/dbus-1/system-services"
591 -
592 - --with-ntp-servers="0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org"
593 -
594 - # Breaks screen, tmux, etc.
595 - --without-kill-user-processes
596 - )
597 -
598 - # Work around bug 463846.
599 - tc-export CC
600 -
601 - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
602 -}
603 -
604 -multilib_src_compile() {
605 - local mymakeopts=(
606 - udevlibexecdir="${MY_UDEVDIR}"
607 - )
608 -
609 - if multilib_is_native_abi; then
610 - emake "${mymakeopts[@]}"
611 - else
612 - emake built-sources
613 - local targets=(
614 - '$(rootlib_LTLIBRARIES)'
615 - '$(lib_LTLIBRARIES)'
616 - '$(pamlib_LTLIBRARIES)'
617 - '$(pkgconfiglib_DATA)'
618 - )
619 - echo "gentoo: ${targets[*]}" | emake "${mymakeopts[@]}" -f Makefile -f - gentoo
620 - fi
621 -}
622 -
623 -multilib_src_test() {
624 - multilib_is_native_abi || return 0
625 - default
626 -}
627 -
628 -multilib_src_install() {
629 - local mymakeopts=(
630 - # automake fails with parallel libtool relinking
631 - # https://bugs.gentoo.org/show_bug.cgi?id=491398
632 - -j1
633 -
634 - udevlibexecdir="${MY_UDEVDIR}"
635 - dist_udevhwdb_DATA=
636 - DESTDIR="${D}"
637 - )
638 -
639 - if multilib_is_native_abi; then
640 - emake "${mymakeopts[@]}" install
641 - else
642 - mymakeopts+=(
643 - install-rootlibLTLIBRARIES
644 - install-libLTLIBRARIES
645 - install-pamlibLTLIBRARIES
646 - install-pkgconfiglibDATA
647 - install-includeHEADERS
648 - install-pkgincludeHEADERS
649 - )
650 -
651 - emake "${mymakeopts[@]}"
652 - fi
653 -}
654 -
655 -multilib_src_install_all() {
656 - prune_libtool_files --modules
657 - einstalldocs
658 - dodoc "${FILESDIR}"/nsswitch.conf
659 -
660 - if [[ ${PV} != 9999 ]]; then
661 - use doc || doman "${WORKDIR}"/man/systemd.{directives,index}.7
662 - fi
663 -
664 - if use sysv-utils; then
665 - for app in halt poweroff reboot runlevel shutdown telinit; do
666 - dosym "..${ROOTPREFIX-/usr}/bin/systemctl" /sbin/${app}
667 - done
668 - dosym "..${ROOTPREFIX-/usr}/lib/systemd/systemd" /sbin/init
669 - else
670 - # we just keep sysvinit tools, so no need for the mans
671 - rm "${D}"/usr/share/man/man8/{halt,poweroff,reboot,runlevel,shutdown,telinit}.8 \
672 - || die
673 - rm "${D}"/usr/share/man/man1/init.1 || die
674 - fi
675 -
676 - # Preserve empty dirs in /etc & /var, bug #437008
677 - keepdir /etc/binfmt.d /etc/modules-load.d /etc/tmpfiles.d \
678 - /etc/systemd/ntp-units.d /etc/systemd/user /var/lib/systemd \
679 - /var/log/journal/remote
680 -
681 - # Symlink /etc/sysctl.conf for easy migration.
682 - dosym ../sysctl.conf /etc/sysctl.d/99-sysctl.conf
683 -
684 - # If we install these symlinks, there is no way for the sysadmin to remove them
685 - # permanently.
686 - rm -f "${ED%/}"/etc/systemd/system/multi-user.target.wants/systemd-networkd.service || die
687 - rm -f "${ED%/}"/etc/systemd/system/dbus-org.freedesktop.network1.service || die
688 - rm -f "${ED%/}"/etc/systemd/system/multi-user.target.wants/systemd-resolved.service || die
689 - rm -f "${ED%/}"/etc/systemd/system/dbus-org.freedesktop.resolve1.service || die
690 - rm -fr "${ED%/}"/etc/systemd/system/network-online.target.wants || die
691 - rm -fr "${ED%/}"/etc/systemd/system/sockets.target.wants || die
692 - rm -fr "${ED%/}"/etc/systemd/system/sysinit.target.wants || die
693 -}
694 -
695 -migrate_locale() {
696 - local envd_locale_def="${EROOT%/}/etc/env.d/02locale"
697 - local envd_locale=( "${EROOT%/}"/etc/env.d/??locale )
698 - local locale_conf="${EROOT%/}/etc/locale.conf"
699 -
700 - if [[ ! -L ${locale_conf} && ! -e ${locale_conf} ]]; then
701 - # If locale.conf does not exist...
702 - if [[ -e ${envd_locale} ]]; then
703 - # ...either copy env.d/??locale if there's one
704 - ebegin "Moving ${envd_locale} to ${locale_conf}"
705 - mv "${envd_locale}" "${locale_conf}"
706 - eend ${?} || FAIL=1
707 - else
708 - # ...or create a dummy default
709 - ebegin "Creating ${locale_conf}"
710 - cat > "${locale_conf}" <<-EOF
711 - # This file has been created by the sys-apps/systemd ebuild.
712 - # See locale.conf(5) and localectl(1).
713 -
714 - # LANG=${LANG}
715 - EOF
716 - eend ${?} || FAIL=1
717 - fi
718 - fi
719 -
720 - if [[ ! -L ${envd_locale} ]]; then
721 - # now, if env.d/??locale is not a symlink (to locale.conf)...
722 - if [[ -e ${envd_locale} ]]; then
723 - # ...warn the user that he has duplicate locale settings
724 - ewarn
725 - ewarn "To ensure consistent behavior, you should replace ${envd_locale}"
726 - ewarn "with a symlink to ${locale_conf}. Please migrate your settings"
727 - ewarn "and create the symlink with the following command:"
728 - ewarn "ln -s -n -f ../locale.conf ${envd_locale}"
729 - ewarn
730 - else
731 - # ...or just create the symlink if there's nothing here
732 - ebegin "Creating ${envd_locale_def} -> ../locale.conf symlink"
733 - ln -n -s ../locale.conf "${envd_locale_def}"
734 - eend ${?} || FAIL=1
735 - fi
736 - fi
737 -}
738 -
739 -pkg_postinst() {
740 - newusergroup() {
741 - enewgroup "$1"
742 - enewuser "$1" -1 -1 -1 "$1"
743 - }
744 -
745 - enewgroup input
746 - enewgroup systemd-journal
747 - newusergroup systemd-bus-proxy
748 - newusergroup systemd-coredump
749 - newusergroup systemd-journal-gateway
750 - newusergroup systemd-journal-remote
751 - newusergroup systemd-journal-upload
752 - newusergroup systemd-network
753 - newusergroup systemd-resolve
754 - newusergroup systemd-timesync
755 -
756 - systemd_update_catalog
757 -
758 - # Keep this here in case the database format changes so it gets updated
759 - # when required. Despite that this file is owned by sys-apps/hwids.
760 - if has_version "sys-apps/hwids[udev]"; then
761 - udevadm hwdb --update --root="${ROOT%/}"
762 - fi
763 -
764 - udev_reload || FAIL=1
765 -
766 - # Bug 465468, make sure locales are respect, and ensure consistency
767 - # between OpenRC & systemd
768 - migrate_locale
769 -
770 - systemd_reenable systemd-networkd.service systemd-resolved.service
771 -
772 - if [[ ${FAIL} ]]; then
773 - eerror "One of the postinst commands failed. Please check the postinst output"
774 - eerror "for errors. You may need to clean up your system and/or try installing"
775 - eerror "systemd again."
776 - eerror
777 - fi
778 -}
779 -
780 -pkg_prerm() {
781 - # If removing systemd completely, remove the catalog database.
782 - if [[ ! ${REPLACED_BY_VERSION} ]]; then
783 - rm -f -v "${EROOT}"/var/lib/systemd/catalog/database
784 - fi
785 -}
786
787 diff --git a/sys-apps/systemd/systemd-237-r2.ebuild b/sys-apps/systemd/systemd-237-r2.ebuild
788 deleted file mode 100644
789 index 06b717f4da4..00000000000
790 --- a/sys-apps/systemd/systemd-237-r2.ebuild
791 +++ /dev/null
792 @@ -1,440 +0,0 @@
793 -# Copyright 1999-2018 Gentoo Foundation
794 -# Distributed under the terms of the GNU General Public License v2
795 -
796 -EAPI=6
797 -
798 -if [[ ${PV} == 9999 ]]; then
799 - EGIT_REPO_URI="https://github.com/systemd/systemd.git"
800 - inherit git-r3
801 -else
802 - SRC_URI="https://github.com/systemd/systemd/archive/v${PV}/${P}.tar.gz"
803 - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86"
804 -fi
805 -
806 -PYTHON_COMPAT=( python{3_4,3_5,3_6} )
807 -
808 -inherit bash-completion-r1 linux-info meson multilib-minimal ninja-utils pam python-any-r1 systemd toolchain-funcs udev user
809 -
810 -DESCRIPTION="System and service manager for Linux"
811 -HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd"
812 -
813 -LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
814 -SLOT="0/2"
815 -IUSE="acl apparmor audit build cryptsetup curl elfutils +gcrypt gnuefi http idn importd +kmod libidn2 +lz4 lzma nat pam pcre policykit qrcode +seccomp selinux ssl +sysv-utils test usrmerge vanilla xkb"
816 -
817 -REQUIRED_USE="importd? ( curl gcrypt lzma )"
818 -RESTRICT="!test? ( test )"
819 -
820 -MINKV="3.11"
821 -
822 -COMMON_DEPEND=">=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}]
823 - sys-libs/libcap:0=[${MULTILIB_USEDEP}]
824 - !<sys-libs/glibc-2.16
825 - acl? ( sys-apps/acl:0= )
826 - apparmor? ( sys-libs/libapparmor:0= )
827 - audit? ( >=sys-process/audit-2:0= )
828 - cryptsetup? ( >=sys-fs/cryptsetup-1.6:0= )
829 - curl? ( net-misc/curl:0= )
830 - elfutils? ( >=dev-libs/elfutils-0.158:0= )
831 - gcrypt? ( >=dev-libs/libgcrypt-1.4.5:0=[${MULTILIB_USEDEP}] )
832 - http? (
833 - >=net-libs/libmicrohttpd-0.9.33:0=
834 - ssl? ( >=net-libs/gnutls-3.1.4:0= )
835 - )
836 - idn? (
837 - libidn2? ( net-dns/libidn2 )
838 - !libidn2? ( net-dns/libidn )
839 - )
840 - importd? (
841 - app-arch/bzip2:0=
842 - sys-libs/zlib:0=
843 - )
844 - kmod? ( >=sys-apps/kmod-15:0= )
845 - lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
846 - lzma? ( >=app-arch/xz-utils-5.0.5-r1:0=[${MULTILIB_USEDEP}] )
847 - nat? ( net-firewall/iptables:0= )
848 - pam? ( virtual/pam:=[${MULTILIB_USEDEP}] )
849 - pcre? ( dev-libs/libpcre2 )
850 - qrcode? ( media-gfx/qrencode:0= )
851 - seccomp? ( >=sys-libs/libseccomp-2.3.1:0= )
852 - selinux? ( sys-libs/libselinux:0= )
853 - xkb? ( >=x11-libs/libxkbcommon-0.4.1:0= )
854 - abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r9
855 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
856 -
857 -# baselayout-2.2 has /run
858 -RDEPEND="${COMMON_DEPEND}
859 - >=sys-apps/baselayout-2.2
860 - selinux? ( sec-policy/selinux-base-policy[systemd] )
861 - sysv-utils? ( !sys-apps/sysvinit )
862 - !sysv-utils? ( sys-apps/sysvinit )
863 - !build? ( || (
864 - sys-apps/util-linux[kill(-)]
865 - sys-process/procps[kill(+)]
866 - sys-apps/coreutils[kill(-)]
867 - ) )
868 - !sys-auth/nss-myhostname
869 - !<sys-kernel/dracut-044
870 - !sys-fs/eudev
871 - !sys-fs/udev"
872 -
873 -# sys-apps/dbus: the daemon only (+ build-time lib dep for tests)
874 -PDEPEND=">=sys-apps/dbus-1.9.8[systemd]
875 - >=sys-apps/hwids-20150417[udev]
876 - >=sys-fs/udev-init-scripts-25
877 - policykit? ( sys-auth/polkit )
878 - !vanilla? ( sys-apps/gentoo-systemd-integration )"
879 -
880 -# Newer linux-headers needed by ia64, bug #480218
881 -DEPEND="${COMMON_DEPEND}
882 - app-arch/xz-utils:0
883 - dev-util/gperf
884 - >=dev-util/intltool-0.50
885 - >=sys-apps/coreutils-8.16
886 - >=sys-kernel/linux-headers-${MINKV}
887 - virtual/pkgconfig
888 - gnuefi? ( >=sys-boot/gnu-efi-3.0.2 )
889 - test? ( sys-apps/dbus )
890 - app-text/docbook-xml-dtd:4.2
891 - app-text/docbook-xml-dtd:4.5
892 - app-text/docbook-xsl-stylesheets
893 - dev-libs/libxslt:0
894 - $(python_gen_any_dep 'dev-python/lxml[${PYTHON_USEDEP}]')
895 -"
896 -
897 -pkg_pretend() {
898 - if [[ ${MERGE_TYPE} != buildonly ]]; then
899 - local CONFIG_CHECK="~AUTOFS4_FS ~BLK_DEV_BSG ~CGROUPS
900 - ~CHECKPOINT_RESTORE ~DEVTMPFS ~EPOLL ~FANOTIFY ~FHANDLE
901 - ~INOTIFY_USER ~IPV6 ~NET ~NET_NS ~PROC_FS ~SIGNALFD ~SYSFS
902 - ~TIMERFD ~TMPFS_XATTR ~UNIX
903 - ~CRYPTO_HMAC ~CRYPTO_SHA256 ~CRYPTO_USER_API_HASH
904 - ~!FW_LOADER_USER_HELPER_FALLBACK ~!GRKERNSEC_PROC ~!IDE ~!SYSFS_DEPRECATED
905 - ~!SYSFS_DEPRECATED_V2"
906 -
907 - use acl && CONFIG_CHECK+=" ~TMPFS_POSIX_ACL"
908 - use seccomp && CONFIG_CHECK+=" ~SECCOMP ~SECCOMP_FILTER"
909 - kernel_is -lt 3 7 && CONFIG_CHECK+=" ~HOTPLUG"
910 - kernel_is -lt 4 7 && CONFIG_CHECK+=" ~DEVPTS_MULTIPLE_INSTANCES"
911 - kernel_is -ge 4 10 && CONFIG_CHECK+=" ~CGROUP_BPF"
912 -
913 - if linux_config_exists; then
914 - local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
915 - if [[ -n ${uevent_helper_path} ]] && [[ ${uevent_helper_path} != '""' ]]; then
916 - ewarn "It's recommended to set an empty value to the following kernel config option:"
917 - ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
918 - fi
919 - if linux_chkconfig_present X86; then
920 - CONFIG_CHECK+=" ~DMIID"
921 - fi
922 - fi
923 -
924 - if kernel_is -lt ${MINKV//./ }; then
925 - ewarn "Kernel version at least ${MINKV} required"
926 - fi
927 -
928 - check_extra_config
929 - fi
930 -}
931 -
932 -pkg_setup() {
933 - :
934 -}
935 -
936 -src_unpack() {
937 - default
938 - [[ ${PV} != 9999 ]] || git-r3_src_unpack
939 -}
940 -
941 -src_prepare() {
942 - local PATCHES=(
943 - "${FILESDIR}/237-0001-networkctl-display-type.patch"
944 - )
945 -
946 - [[ -d "${WORKDIR}"/patches ]] && PATCHES+=( "${WORKDIR}"/patches )
947 -
948 - if ! use vanilla; then
949 - PATCHES+=(
950 - "${FILESDIR}/gentoo-Dont-enable-audit-by-default.patch"
951 - "${FILESDIR}/gentoo-systemd-user-pam.patch"
952 - "${FILESDIR}/gentoo-uucp-group-r1.patch"
953 - "${FILESDIR}/gentoo-generator-path.patch"
954 - )
955 - fi
956 -
957 - default
958 -}
959 -
960 -src_configure() {
961 - # Prevent conflicts with i686 cross toolchain, bug 559726
962 - tc-export AR CC NM OBJCOPY RANLIB
963 -
964 - python_setup
965 -
966 - multilib-minimal_src_configure
967 -}
968 -
969 -meson_use() {
970 - usex "$1" true false
971 -}
972 -
973 -meson_multilib() {
974 - if multilib_is_native_abi; then
975 - echo true
976 - else
977 - echo false
978 - fi
979 -}
980 -
981 -meson_multilib_native_use() {
982 - if multilib_is_native_abi && use "$1"; then
983 - echo true
984 - else
985 - echo false
986 - fi
987 -}
988 -
989 -multilib_src_configure() {
990 - local myconf=(
991 - --localstatedir="${EPREFIX}/var"
992 - -Dpamlibdir="$(getpam_mod_dir)"
993 - # avoid bash-completion dep
994 - -Dbashcompletiondir="$(get_bashcompdir)"
995 - # make sure we get /bin:/sbin in PATH
996 - -Dsplit-usr=$(usex usrmerge false true)
997 - -Drootprefix="$(usex usrmerge "${EPREFIX}/usr" "${EPREFIX:-/}")"
998 - -Dsysvinit-path=
999 - -Dsysvrcnd-path=
1000 - # Avoid infinite exec recursion, bug 642724
1001 - -Dtelinit-path="${EPREFIX}/lib/sysvinit/telinit"
1002 - # no deps
1003 - -Defi=$(meson_multilib)
1004 - -Dima=true
1005 - # Optional components/dependencies
1006 - -Dacl=$(meson_multilib_native_use acl)
1007 - -Dapparmor=$(meson_multilib_native_use apparmor)
1008 - -Daudit=$(meson_multilib_native_use audit)
1009 - -Dlibcryptsetup=$(meson_multilib_native_use cryptsetup)
1010 - -Dlibcurl=$(meson_multilib_native_use curl)
1011 - -Delfutils=$(meson_multilib_native_use elfutils)
1012 - -Dgcrypt=$(meson_use gcrypt)
1013 - -Dgnu-efi=$(meson_multilib_native_use gnuefi)
1014 - -Defi-libdir="${EPREFIX}/usr/$(get_libdir)"
1015 - -Dmicrohttpd=$(meson_multilib_native_use http)
1016 - $(usex http -Dgnutls=$(meson_multilib_native_use ssl) -Dgnutls=false)
1017 - -Dimportd=$(meson_multilib_native_use importd)
1018 - -Dbzip2=$(meson_multilib_native_use importd)
1019 - -Dzlib=$(meson_multilib_native_use importd)
1020 - -Dkmod=$(meson_multilib_native_use kmod)
1021 - -Dlz4=$(meson_use lz4)
1022 - -Dxz=$(meson_use lzma)
1023 - -Dlibiptc=$(meson_multilib_native_use nat)
1024 - -Dpam=$(meson_use pam)
1025 - -Dpcre2=$(meson_multilib_native_use pcre)
1026 - -Dpolkit=$(meson_multilib_native_use policykit)
1027 - -Dqrencode=$(meson_multilib_native_use qrcode)
1028 - -Dseccomp=$(meson_multilib_native_use seccomp)
1029 - -Dselinux=$(meson_multilib_native_use selinux)
1030 - #-Dtests=$(meson_multilib_native_use test)
1031 - -Ddbus=$(meson_multilib_native_use test)
1032 - -Dxkbcommon=$(meson_multilib_native_use xkb)
1033 - # hardcode a few paths to spare some deps
1034 - -Dkill-path=/bin/kill
1035 - -Dntp-servers="0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org"
1036 - # Breaks screen, tmux, etc.
1037 - -Ddefault-kill-user-processes=false
1038 -
1039 - # multilib options
1040 - -Dbacklight=$(meson_multilib)
1041 - -Dbinfmt=$(meson_multilib)
1042 - -Dcoredump=$(meson_multilib)
1043 - -Denvironment-d=$(meson_multilib)
1044 - -Dfirstboot=$(meson_multilib)
1045 - -Dhibernate=$(meson_multilib)
1046 - -Dhostnamed=$(meson_multilib)
1047 - -Dhwdb=$(meson_multilib)
1048 - -Dldconfig=$(meson_multilib)
1049 - -Dlocaled=$(meson_multilib)
1050 - -Dman=$(meson_multilib)
1051 - -Dnetworkd=$(meson_multilib)
1052 - -Dquotacheck=$(meson_multilib)
1053 - -Drandomseed=$(meson_multilib)
1054 - -Drfkill=$(meson_multilib)
1055 - -Dsysusers=$(meson_multilib)
1056 - -Dtimedated=$(meson_multilib)
1057 - -Dtimesyncd=$(meson_multilib)
1058 - -Dtmpfiles=$(meson_multilib)
1059 - -Dvconsole=$(meson_multilib)
1060 - )
1061 -
1062 - if multilib_is_native_abi && use idn; then
1063 - myconf+=(
1064 - -Dlibidn2=$(usex libidn2 true false)
1065 - -Dlibidn=$(usex libidn2 false true)
1066 - )
1067 - else
1068 - myconf+=(
1069 - -Dlibidn2=false
1070 - -Dlibidn=false
1071 - )
1072 - fi
1073 -
1074 - meson_src_configure "${myconf[@]}"
1075 -}
1076 -
1077 -multilib_src_compile() {
1078 - eninja
1079 -}
1080 -
1081 -multilib_src_test() {
1082 - eninja test
1083 -}
1084 -
1085 -multilib_src_install() {
1086 - DESTDIR="${D}" eninja install
1087 -}
1088 -
1089 -multilib_src_install_all() {
1090 - # meson doesn't know about docdir
1091 - mv "${ED%/}"/usr/share/doc/{systemd,${PF}} || die
1092 -
1093 - einstalldocs
1094 - dodoc "${FILESDIR}"/nsswitch.conf
1095 -
1096 - if use sysv-utils; then
1097 - local app
1098 - for app in halt poweroff reboot runlevel shutdown telinit; do
1099 - dosym ../bin/systemctl /sbin/${app}
1100 - done
1101 - dosym ../lib/systemd/systemd /sbin/init
1102 - else
1103 - # we just keep sysvinit tools, so no need for the mans
1104 - rm "${ED%/}"/usr/share/man/man8/{halt,poweroff,reboot,runlevel,shutdown,telinit}.8 \
1105 - || die
1106 - rm "${ED%/}"/usr/share/man/man1/init.1 || die
1107 - fi
1108 -
1109 - # Preserve empty dirs in /etc & /var, bug #437008
1110 - keepdir /etc/{binfmt.d,modules-load.d,tmpfiles.d}
1111 - keepdir /etc/systemd/{ntp-units.d,user} /var/lib/systemd
1112 - keepdir /etc/udev/{hwdb.d,rules.d}
1113 - keepdir /var/log/journal/remote
1114 -
1115 - # Symlink /etc/sysctl.conf for easy migration.
1116 - dosym ../sysctl.conf /etc/sysctl.d/99-sysctl.conf
1117 -
1118 - # If we install these symlinks, there is no way for the sysadmin to remove them
1119 - # permanently.
1120 - rm -f "${ED%/}"/etc/systemd/system/multi-user.target.wants/systemd-networkd.service || die
1121 - rm -f "${ED%/}"/etc/systemd/system/dbus-org.freedesktop.network1.service || die
1122 - rm -f "${ED%/}"/etc/systemd/system/multi-user.target.wants/systemd-resolved.service || die
1123 - rm -f "${ED%/}"/etc/systemd/system/dbus-org.freedesktop.resolve1.service || die
1124 - rm -fr "${ED%/}"/etc/systemd/system/network-online.target.wants || die
1125 - rm -fr "${ED%/}"/etc/systemd/system/sockets.target.wants || die
1126 - rm -fr "${ED%/}"/etc/systemd/system/sysinit.target.wants || die
1127 -
1128 - local udevdir=/lib/udev
1129 - use usrmerge && udevdir=/usr/lib/udev
1130 -
1131 - rm -r "${ED%/}${udevdir}/hwdb.d" || die
1132 -
1133 - if ! use usrmerge; then
1134 - # Avoid breaking boot/reboot
1135 - dosym ../../../lib/systemd/systemd /usr/lib/systemd/systemd
1136 - dosym ../../../lib/systemd/systemd-shutdown /usr/lib/systemd/systemd-shutdown
1137 - fi
1138 -}
1139 -
1140 -migrate_locale() {
1141 - local envd_locale_def="${EROOT%/}/etc/env.d/02locale"
1142 - local envd_locale=( "${EROOT%/}"/etc/env.d/??locale )
1143 - local locale_conf="${EROOT%/}/etc/locale.conf"
1144 -
1145 - if [[ ! -L ${locale_conf} && ! -e ${locale_conf} ]]; then
1146 - # If locale.conf does not exist...
1147 - if [[ -e ${envd_locale} ]]; then
1148 - # ...either copy env.d/??locale if there's one
1149 - ebegin "Moving ${envd_locale} to ${locale_conf}"
1150 - mv "${envd_locale}" "${locale_conf}"
1151 - eend ${?} || FAIL=1
1152 - else
1153 - # ...or create a dummy default
1154 - ebegin "Creating ${locale_conf}"
1155 - cat > "${locale_conf}" <<-EOF
1156 - # This file has been created by the sys-apps/systemd ebuild.
1157 - # See locale.conf(5) and localectl(1).
1158 -
1159 - # LANG=${LANG}
1160 - EOF
1161 - eend ${?} || FAIL=1
1162 - fi
1163 - fi
1164 -
1165 - if [[ ! -L ${envd_locale} ]]; then
1166 - # now, if env.d/??locale is not a symlink (to locale.conf)...
1167 - if [[ -e ${envd_locale} ]]; then
1168 - # ...warn the user that he has duplicate locale settings
1169 - ewarn
1170 - ewarn "To ensure consistent behavior, you should replace ${envd_locale}"
1171 - ewarn "with a symlink to ${locale_conf}. Please migrate your settings"
1172 - ewarn "and create the symlink with the following command:"
1173 - ewarn "ln -s -n -f ../locale.conf ${envd_locale}"
1174 - ewarn
1175 - else
1176 - # ...or just create the symlink if there's nothing here
1177 - ebegin "Creating ${envd_locale_def} -> ../locale.conf symlink"
1178 - ln -n -s ../locale.conf "${envd_locale_def}"
1179 - eend ${?} || FAIL=1
1180 - fi
1181 - fi
1182 -}
1183 -
1184 -pkg_postinst() {
1185 - newusergroup() {
1186 - enewgroup "$1"
1187 - enewuser "$1" -1 -1 -1 "$1"
1188 - }
1189 -
1190 - enewgroup input
1191 - enewgroup kvm 78
1192 - enewgroup render
1193 - enewgroup systemd-journal
1194 - newusergroup systemd-bus-proxy
1195 - newusergroup systemd-coredump
1196 - newusergroup systemd-journal-gateway
1197 - newusergroup systemd-journal-remote
1198 - newusergroup systemd-journal-upload
1199 - newusergroup systemd-network
1200 - newusergroup systemd-resolve
1201 - newusergroup systemd-timesync
1202 -
1203 - systemd_update_catalog
1204 -
1205 - # Keep this here in case the database format changes so it gets updated
1206 - # when required. Despite that this file is owned by sys-apps/hwids.
1207 - if has_version "sys-apps/hwids[udev]"; then
1208 - udevadm hwdb --update --root="${EROOT%/}"
1209 - fi
1210 -
1211 - udev_reload || FAIL=1
1212 -
1213 - # Bug 465468, make sure locales are respect, and ensure consistency
1214 - # between OpenRC & systemd
1215 - migrate_locale
1216 -
1217 - systemd_reenable systemd-networkd.service systemd-resolved.service
1218 -
1219 - if [[ ${FAIL} ]]; then
1220 - eerror "One of the postinst commands failed. Please check the postinst output"
1221 - eerror "for errors. You may need to clean up your system and/or try installing"
1222 - eerror "systemd again."
1223 - eerror
1224 - fi
1225 -}
1226 -
1227 -pkg_prerm() {
1228 - # If removing systemd completely, remove the catalog database.
1229 - if [[ ! ${REPLACED_BY_VERSION} ]]; then
1230 - rm -f -v "${EROOT}"/var/lib/systemd/catalog/database
1231 - fi
1232 -}
1233
1234 diff --git a/sys-apps/systemd/systemd-237-r3.ebuild b/sys-apps/systemd/systemd-237-r3.ebuild
1235 deleted file mode 100644
1236 index d0254ee71db..00000000000
1237 --- a/sys-apps/systemd/systemd-237-r3.ebuild
1238 +++ /dev/null
1239 @@ -1,442 +0,0 @@
1240 -# Copyright 1999-2018 Gentoo Foundation
1241 -# Distributed under the terms of the GNU General Public License v2
1242 -
1243 -EAPI=6
1244 -
1245 -if [[ ${PV} == 9999 ]]; then
1246 - EGIT_REPO_URI="https://github.com/systemd/systemd.git"
1247 - inherit git-r3
1248 -else
1249 - SRC_URI="https://github.com/systemd/systemd/archive/v${PV}/${P}.tar.gz
1250 - https://dev.gentoo.org/~floppym/dist/${P}-patches-0.tar.gz"
1251 - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~x86"
1252 -fi
1253 -
1254 -PYTHON_COMPAT=( python{3_4,3_5,3_6} )
1255 -
1256 -inherit bash-completion-r1 linux-info meson multilib-minimal ninja-utils pam python-any-r1 systemd toolchain-funcs udev user
1257 -
1258 -DESCRIPTION="System and service manager for Linux"
1259 -HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd"
1260 -
1261 -LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
1262 -SLOT="0/2"
1263 -IUSE="acl apparmor audit build cryptsetup curl elfutils +gcrypt gnuefi http idn importd +kmod libidn2 +lz4 lzma nat pam pcre policykit qrcode +seccomp selinux ssl +sysv-utils test usrmerge vanilla xkb"
1264 -
1265 -REQUIRED_USE="importd? ( curl gcrypt lzma )"
1266 -RESTRICT="!test? ( test )"
1267 -
1268 -MINKV="3.11"
1269 -
1270 -COMMON_DEPEND=">=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}]
1271 - sys-libs/libcap:0=[${MULTILIB_USEDEP}]
1272 - !<sys-libs/glibc-2.16
1273 - acl? ( sys-apps/acl:0= )
1274 - apparmor? ( sys-libs/libapparmor:0= )
1275 - audit? ( >=sys-process/audit-2:0= )
1276 - cryptsetup? ( >=sys-fs/cryptsetup-1.6:0= )
1277 - curl? ( net-misc/curl:0= )
1278 - elfutils? ( >=dev-libs/elfutils-0.158:0= )
1279 - gcrypt? ( >=dev-libs/libgcrypt-1.4.5:0=[${MULTILIB_USEDEP}] )
1280 - http? (
1281 - >=net-libs/libmicrohttpd-0.9.33:0=
1282 - ssl? ( >=net-libs/gnutls-3.1.4:0= )
1283 - )
1284 - idn? (
1285 - libidn2? ( net-dns/libidn2 )
1286 - !libidn2? ( net-dns/libidn )
1287 - )
1288 - importd? (
1289 - app-arch/bzip2:0=
1290 - sys-libs/zlib:0=
1291 - )
1292 - kmod? ( >=sys-apps/kmod-15:0= )
1293 - lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
1294 - lzma? ( >=app-arch/xz-utils-5.0.5-r1:0=[${MULTILIB_USEDEP}] )
1295 - nat? ( net-firewall/iptables:0= )
1296 - pam? ( virtual/pam:=[${MULTILIB_USEDEP}] )
1297 - pcre? ( dev-libs/libpcre2 )
1298 - qrcode? ( media-gfx/qrencode:0= )
1299 - seccomp? ( >=sys-libs/libseccomp-2.3.1:0= )
1300 - selinux? ( sys-libs/libselinux:0= )
1301 - xkb? ( >=x11-libs/libxkbcommon-0.4.1:0= )
1302 - abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r9
1303 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
1304 -
1305 -# baselayout-2.2 has /run
1306 -RDEPEND="${COMMON_DEPEND}
1307 - >=sys-apps/baselayout-2.2
1308 - selinux? ( sec-policy/selinux-base-policy[systemd] )
1309 - sysv-utils? ( !sys-apps/sysvinit )
1310 - !sysv-utils? ( sys-apps/sysvinit )
1311 - !build? ( || (
1312 - sys-apps/util-linux[kill(-)]
1313 - sys-process/procps[kill(+)]
1314 - sys-apps/coreutils[kill(-)]
1315 - ) )
1316 - !sys-auth/nss-myhostname
1317 - !<sys-kernel/dracut-044
1318 - !sys-fs/eudev
1319 - !sys-fs/udev"
1320 -
1321 -# sys-apps/dbus: the daemon only (+ build-time lib dep for tests)
1322 -PDEPEND=">=sys-apps/dbus-1.9.8[systemd]
1323 - >=sys-apps/hwids-20150417[udev]
1324 - >=sys-fs/udev-init-scripts-25
1325 - policykit? ( sys-auth/polkit )
1326 - !vanilla? ( sys-apps/gentoo-systemd-integration )"
1327 -
1328 -# Newer linux-headers needed by ia64, bug #480218
1329 -DEPEND="${COMMON_DEPEND}
1330 - app-arch/xz-utils:0
1331 - dev-util/gperf
1332 - >=dev-util/intltool-0.50
1333 - >=sys-apps/coreutils-8.16
1334 - >=sys-kernel/linux-headers-${MINKV}
1335 - virtual/pkgconfig
1336 - gnuefi? ( >=sys-boot/gnu-efi-3.0.2 )
1337 - test? ( sys-apps/dbus )
1338 - app-text/docbook-xml-dtd:4.2
1339 - app-text/docbook-xml-dtd:4.5
1340 - app-text/docbook-xsl-stylesheets
1341 - dev-libs/libxslt:0
1342 - $(python_gen_any_dep 'dev-python/lxml[${PYTHON_USEDEP}]')
1343 -"
1344 -
1345 -pkg_pretend() {
1346 - if [[ ${MERGE_TYPE} != buildonly ]]; then
1347 - local CONFIG_CHECK="~AUTOFS4_FS ~BLK_DEV_BSG ~CGROUPS
1348 - ~CHECKPOINT_RESTORE ~DEVTMPFS ~EPOLL ~FANOTIFY ~FHANDLE
1349 - ~INOTIFY_USER ~IPV6 ~NET ~NET_NS ~PROC_FS ~SIGNALFD ~SYSFS
1350 - ~TIMERFD ~TMPFS_XATTR ~UNIX
1351 - ~CRYPTO_HMAC ~CRYPTO_SHA256 ~CRYPTO_USER_API_HASH
1352 - ~!FW_LOADER_USER_HELPER_FALLBACK ~!GRKERNSEC_PROC ~!IDE ~!SYSFS_DEPRECATED
1353 - ~!SYSFS_DEPRECATED_V2"
1354 -
1355 - use acl && CONFIG_CHECK+=" ~TMPFS_POSIX_ACL"
1356 - use seccomp && CONFIG_CHECK+=" ~SECCOMP ~SECCOMP_FILTER"
1357 - kernel_is -lt 3 7 && CONFIG_CHECK+=" ~HOTPLUG"
1358 - kernel_is -lt 4 7 && CONFIG_CHECK+=" ~DEVPTS_MULTIPLE_INSTANCES"
1359 - kernel_is -ge 4 10 && CONFIG_CHECK+=" ~CGROUP_BPF"
1360 -
1361 - if linux_config_exists; then
1362 - local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
1363 - if [[ -n ${uevent_helper_path} ]] && [[ ${uevent_helper_path} != '""' ]]; then
1364 - ewarn "It's recommended to set an empty value to the following kernel config option:"
1365 - ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
1366 - fi
1367 - if linux_chkconfig_present X86; then
1368 - CONFIG_CHECK+=" ~DMIID"
1369 - fi
1370 - fi
1371 -
1372 - if kernel_is -lt ${MINKV//./ }; then
1373 - ewarn "Kernel version at least ${MINKV} required"
1374 - fi
1375 -
1376 - check_extra_config
1377 - fi
1378 -}
1379 -
1380 -pkg_setup() {
1381 - :
1382 -}
1383 -
1384 -src_unpack() {
1385 - default
1386 - [[ ${PV} != 9999 ]] || git-r3_src_unpack
1387 -}
1388 -
1389 -src_prepare() {
1390 - local PATCHES=(
1391 - "${FILESDIR}/237-0001-networkctl-display-type.patch"
1392 - "${FILESDIR}/238-libmount-include.patch"
1393 - )
1394 -
1395 - [[ -d "${WORKDIR}"/patches ]] && PATCHES+=( "${WORKDIR}"/patches )
1396 -
1397 - if ! use vanilla; then
1398 - PATCHES+=(
1399 - "${FILESDIR}/gentoo-Dont-enable-audit-by-default.patch"
1400 - "${FILESDIR}/gentoo-systemd-user-pam.patch"
1401 - "${FILESDIR}/gentoo-uucp-group-r1.patch"
1402 - "${FILESDIR}/gentoo-generator-path.patch"
1403 - )
1404 - fi
1405 -
1406 - default
1407 -}
1408 -
1409 -src_configure() {
1410 - # Prevent conflicts with i686 cross toolchain, bug 559726
1411 - tc-export AR CC NM OBJCOPY RANLIB
1412 -
1413 - python_setup
1414 -
1415 - multilib-minimal_src_configure
1416 -}
1417 -
1418 -meson_use() {
1419 - usex "$1" true false
1420 -}
1421 -
1422 -meson_multilib() {
1423 - if multilib_is_native_abi; then
1424 - echo true
1425 - else
1426 - echo false
1427 - fi
1428 -}
1429 -
1430 -meson_multilib_native_use() {
1431 - if multilib_is_native_abi && use "$1"; then
1432 - echo true
1433 - else
1434 - echo false
1435 - fi
1436 -}
1437 -
1438 -multilib_src_configure() {
1439 - local myconf=(
1440 - --localstatedir="${EPREFIX}/var"
1441 - -Dpamlibdir="$(getpam_mod_dir)"
1442 - # avoid bash-completion dep
1443 - -Dbashcompletiondir="$(get_bashcompdir)"
1444 - # make sure we get /bin:/sbin in PATH
1445 - -Dsplit-usr=$(usex usrmerge false true)
1446 - -Drootprefix="$(usex usrmerge "${EPREFIX}/usr" "${EPREFIX:-/}")"
1447 - -Dsysvinit-path=
1448 - -Dsysvrcnd-path=
1449 - # Avoid infinite exec recursion, bug 642724
1450 - -Dtelinit-path="${EPREFIX}/lib/sysvinit/telinit"
1451 - # no deps
1452 - -Defi=$(meson_multilib)
1453 - -Dima=true
1454 - # Optional components/dependencies
1455 - -Dacl=$(meson_multilib_native_use acl)
1456 - -Dapparmor=$(meson_multilib_native_use apparmor)
1457 - -Daudit=$(meson_multilib_native_use audit)
1458 - -Dlibcryptsetup=$(meson_multilib_native_use cryptsetup)
1459 - -Dlibcurl=$(meson_multilib_native_use curl)
1460 - -Delfutils=$(meson_multilib_native_use elfutils)
1461 - -Dgcrypt=$(meson_use gcrypt)
1462 - -Dgnu-efi=$(meson_multilib_native_use gnuefi)
1463 - -Defi-libdir="${EPREFIX}/usr/$(get_libdir)"
1464 - -Dmicrohttpd=$(meson_multilib_native_use http)
1465 - $(usex http -Dgnutls=$(meson_multilib_native_use ssl) -Dgnutls=false)
1466 - -Dimportd=$(meson_multilib_native_use importd)
1467 - -Dbzip2=$(meson_multilib_native_use importd)
1468 - -Dzlib=$(meson_multilib_native_use importd)
1469 - -Dkmod=$(meson_multilib_native_use kmod)
1470 - -Dlz4=$(meson_use lz4)
1471 - -Dxz=$(meson_use lzma)
1472 - -Dlibiptc=$(meson_multilib_native_use nat)
1473 - -Dpam=$(meson_use pam)
1474 - -Dpcre2=$(meson_multilib_native_use pcre)
1475 - -Dpolkit=$(meson_multilib_native_use policykit)
1476 - -Dqrencode=$(meson_multilib_native_use qrcode)
1477 - -Dseccomp=$(meson_multilib_native_use seccomp)
1478 - -Dselinux=$(meson_multilib_native_use selinux)
1479 - #-Dtests=$(meson_multilib_native_use test)
1480 - -Ddbus=$(meson_multilib_native_use test)
1481 - -Dxkbcommon=$(meson_multilib_native_use xkb)
1482 - # hardcode a few paths to spare some deps
1483 - -Dkill-path=/bin/kill
1484 - -Dntp-servers="0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org"
1485 - # Breaks screen, tmux, etc.
1486 - -Ddefault-kill-user-processes=false
1487 -
1488 - # multilib options
1489 - -Dbacklight=$(meson_multilib)
1490 - -Dbinfmt=$(meson_multilib)
1491 - -Dcoredump=$(meson_multilib)
1492 - -Denvironment-d=$(meson_multilib)
1493 - -Dfirstboot=$(meson_multilib)
1494 - -Dhibernate=$(meson_multilib)
1495 - -Dhostnamed=$(meson_multilib)
1496 - -Dhwdb=$(meson_multilib)
1497 - -Dldconfig=$(meson_multilib)
1498 - -Dlocaled=$(meson_multilib)
1499 - -Dman=$(meson_multilib)
1500 - -Dnetworkd=$(meson_multilib)
1501 - -Dquotacheck=$(meson_multilib)
1502 - -Drandomseed=$(meson_multilib)
1503 - -Drfkill=$(meson_multilib)
1504 - -Dsysusers=$(meson_multilib)
1505 - -Dtimedated=$(meson_multilib)
1506 - -Dtimesyncd=$(meson_multilib)
1507 - -Dtmpfiles=$(meson_multilib)
1508 - -Dvconsole=$(meson_multilib)
1509 - )
1510 -
1511 - if multilib_is_native_abi && use idn; then
1512 - myconf+=(
1513 - -Dlibidn2=$(usex libidn2 true false)
1514 - -Dlibidn=$(usex libidn2 false true)
1515 - )
1516 - else
1517 - myconf+=(
1518 - -Dlibidn2=false
1519 - -Dlibidn=false
1520 - )
1521 - fi
1522 -
1523 - meson_src_configure "${myconf[@]}"
1524 -}
1525 -
1526 -multilib_src_compile() {
1527 - eninja
1528 -}
1529 -
1530 -multilib_src_test() {
1531 - eninja test
1532 -}
1533 -
1534 -multilib_src_install() {
1535 - DESTDIR="${D}" eninja install
1536 -}
1537 -
1538 -multilib_src_install_all() {
1539 - # meson doesn't know about docdir
1540 - mv "${ED%/}"/usr/share/doc/{systemd,${PF}} || die
1541 -
1542 - einstalldocs
1543 - dodoc "${FILESDIR}"/nsswitch.conf
1544 -
1545 - if use sysv-utils; then
1546 - local app
1547 - for app in halt poweroff reboot runlevel shutdown telinit; do
1548 - dosym ../bin/systemctl /sbin/${app}
1549 - done
1550 - dosym ../lib/systemd/systemd /sbin/init
1551 - else
1552 - # we just keep sysvinit tools, so no need for the mans
1553 - rm "${ED%/}"/usr/share/man/man8/{halt,poweroff,reboot,runlevel,shutdown,telinit}.8 \
1554 - || die
1555 - rm "${ED%/}"/usr/share/man/man1/init.1 || die
1556 - fi
1557 -
1558 - # Preserve empty dirs in /etc & /var, bug #437008
1559 - keepdir /etc/{binfmt.d,modules-load.d,tmpfiles.d}
1560 - keepdir /etc/systemd/{ntp-units.d,user} /var/lib/systemd
1561 - keepdir /etc/udev/{hwdb.d,rules.d}
1562 - keepdir /var/log/journal/remote
1563 -
1564 - # Symlink /etc/sysctl.conf for easy migration.
1565 - dosym ../sysctl.conf /etc/sysctl.d/99-sysctl.conf
1566 -
1567 - # If we install these symlinks, there is no way for the sysadmin to remove them
1568 - # permanently.
1569 - rm -f "${ED%/}"/etc/systemd/system/multi-user.target.wants/systemd-networkd.service || die
1570 - rm -f "${ED%/}"/etc/systemd/system/dbus-org.freedesktop.network1.service || die
1571 - rm -f "${ED%/}"/etc/systemd/system/multi-user.target.wants/systemd-resolved.service || die
1572 - rm -f "${ED%/}"/etc/systemd/system/dbus-org.freedesktop.resolve1.service || die
1573 - rm -fr "${ED%/}"/etc/systemd/system/network-online.target.wants || die
1574 - rm -fr "${ED%/}"/etc/systemd/system/sockets.target.wants || die
1575 - rm -fr "${ED%/}"/etc/systemd/system/sysinit.target.wants || die
1576 -
1577 - local udevdir=/lib/udev
1578 - use usrmerge && udevdir=/usr/lib/udev
1579 -
1580 - rm -r "${ED%/}${udevdir}/hwdb.d" || die
1581 -
1582 - if ! use usrmerge; then
1583 - # Avoid breaking boot/reboot
1584 - dosym ../../../lib/systemd/systemd /usr/lib/systemd/systemd
1585 - dosym ../../../lib/systemd/systemd-shutdown /usr/lib/systemd/systemd-shutdown
1586 - fi
1587 -}
1588 -
1589 -migrate_locale() {
1590 - local envd_locale_def="${EROOT%/}/etc/env.d/02locale"
1591 - local envd_locale=( "${EROOT%/}"/etc/env.d/??locale )
1592 - local locale_conf="${EROOT%/}/etc/locale.conf"
1593 -
1594 - if [[ ! -L ${locale_conf} && ! -e ${locale_conf} ]]; then
1595 - # If locale.conf does not exist...
1596 - if [[ -e ${envd_locale} ]]; then
1597 - # ...either copy env.d/??locale if there's one
1598 - ebegin "Moving ${envd_locale} to ${locale_conf}"
1599 - mv "${envd_locale}" "${locale_conf}"
1600 - eend ${?} || FAIL=1
1601 - else
1602 - # ...or create a dummy default
1603 - ebegin "Creating ${locale_conf}"
1604 - cat > "${locale_conf}" <<-EOF
1605 - # This file has been created by the sys-apps/systemd ebuild.
1606 - # See locale.conf(5) and localectl(1).
1607 -
1608 - # LANG=${LANG}
1609 - EOF
1610 - eend ${?} || FAIL=1
1611 - fi
1612 - fi
1613 -
1614 - if [[ ! -L ${envd_locale} ]]; then
1615 - # now, if env.d/??locale is not a symlink (to locale.conf)...
1616 - if [[ -e ${envd_locale} ]]; then
1617 - # ...warn the user that he has duplicate locale settings
1618 - ewarn
1619 - ewarn "To ensure consistent behavior, you should replace ${envd_locale}"
1620 - ewarn "with a symlink to ${locale_conf}. Please migrate your settings"
1621 - ewarn "and create the symlink with the following command:"
1622 - ewarn "ln -s -n -f ../locale.conf ${envd_locale}"
1623 - ewarn
1624 - else
1625 - # ...or just create the symlink if there's nothing here
1626 - ebegin "Creating ${envd_locale_def} -> ../locale.conf symlink"
1627 - ln -n -s ../locale.conf "${envd_locale_def}"
1628 - eend ${?} || FAIL=1
1629 - fi
1630 - fi
1631 -}
1632 -
1633 -pkg_postinst() {
1634 - newusergroup() {
1635 - enewgroup "$1"
1636 - enewuser "$1" -1 -1 -1 "$1"
1637 - }
1638 -
1639 - enewgroup input
1640 - enewgroup kvm 78
1641 - enewgroup render
1642 - enewgroup systemd-journal
1643 - newusergroup systemd-bus-proxy
1644 - newusergroup systemd-coredump
1645 - newusergroup systemd-journal-gateway
1646 - newusergroup systemd-journal-remote
1647 - newusergroup systemd-journal-upload
1648 - newusergroup systemd-network
1649 - newusergroup systemd-resolve
1650 - newusergroup systemd-timesync
1651 -
1652 - systemd_update_catalog
1653 -
1654 - # Keep this here in case the database format changes so it gets updated
1655 - # when required. Despite that this file is owned by sys-apps/hwids.
1656 - if has_version "sys-apps/hwids[udev]"; then
1657 - udevadm hwdb --update --root="${EROOT%/}"
1658 - fi
1659 -
1660 - udev_reload || FAIL=1
1661 -
1662 - # Bug 465468, make sure locales are respect, and ensure consistency
1663 - # between OpenRC & systemd
1664 - migrate_locale
1665 -
1666 - systemd_reenable systemd-networkd.service systemd-resolved.service
1667 -
1668 - if [[ ${FAIL} ]]; then
1669 - eerror "One of the postinst commands failed. Please check the postinst output"
1670 - eerror "for errors. You may need to clean up your system and/or try installing"
1671 - eerror "systemd again."
1672 - eerror
1673 - fi
1674 -}
1675 -
1676 -pkg_prerm() {
1677 - # If removing systemd completely, remove the catalog database.
1678 - if [[ ! ${REPLACED_BY_VERSION} ]]; then
1679 - rm -f -v "${EROOT}"/var/lib/systemd/catalog/database
1680 - fi
1681 -}
1682
1683 diff --git a/sys-apps/systemd/systemd-238-r1.ebuild b/sys-apps/systemd/systemd-238-r1.ebuild
1684 deleted file mode 100644
1685 index 2903bb82e51..00000000000
1686 --- a/sys-apps/systemd/systemd-238-r1.ebuild
1687 +++ /dev/null
1688 @@ -1,437 +0,0 @@
1689 -# Copyright 1999-2018 Gentoo Foundation
1690 -# Distributed under the terms of the GNU General Public License v2
1691 -
1692 -EAPI=6
1693 -
1694 -if [[ ${PV} == 9999 ]]; then
1695 - EGIT_REPO_URI="https://github.com/systemd/systemd.git"
1696 - inherit git-r3
1697 -else
1698 - SRC_URI="https://github.com/systemd/systemd/archive/v${PV}/${P}.tar.gz"
1699 - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~x86"
1700 -fi
1701 -
1702 -PYTHON_COMPAT=( python{3_4,3_5,3_6} )
1703 -
1704 -inherit bash-completion-r1 linux-info meson multilib-minimal ninja-utils pam python-any-r1 systemd toolchain-funcs udev user
1705 -
1706 -DESCRIPTION="System and service manager for Linux"
1707 -HOMEPAGE="https://www.freedesktop.org/wiki/Software/systemd"
1708 -
1709 -LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
1710 -SLOT="0/2"
1711 -IUSE="acl apparmor audit build cryptsetup curl elfutils +gcrypt gnuefi http idn importd +kmod libidn2 +lz4 lzma nat pam pcre policykit qrcode +seccomp selinux ssl +sysv-utils test usrmerge vanilla xkb"
1712 -
1713 -REQUIRED_USE="importd? ( curl gcrypt lzma )"
1714 -RESTRICT="!test? ( test )"
1715 -
1716 -MINKV="3.11"
1717 -
1718 -COMMON_DEPEND=">=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}]
1719 - sys-libs/libcap:0=[${MULTILIB_USEDEP}]
1720 - !<sys-libs/glibc-2.16
1721 - acl? ( sys-apps/acl:0= )
1722 - apparmor? ( sys-libs/libapparmor:0= )
1723 - audit? ( >=sys-process/audit-2:0= )
1724 - cryptsetup? ( >=sys-fs/cryptsetup-1.6:0= )
1725 - curl? ( net-misc/curl:0= )
1726 - elfutils? ( >=dev-libs/elfutils-0.158:0= )
1727 - gcrypt? ( >=dev-libs/libgcrypt-1.4.5:0=[${MULTILIB_USEDEP}] )
1728 - http? (
1729 - >=net-libs/libmicrohttpd-0.9.33:0=
1730 - ssl? ( >=net-libs/gnutls-3.1.4:0= )
1731 - )
1732 - idn? (
1733 - libidn2? ( net-dns/libidn2 )
1734 - !libidn2? ( net-dns/libidn )
1735 - )
1736 - importd? (
1737 - app-arch/bzip2:0=
1738 - sys-libs/zlib:0=
1739 - )
1740 - kmod? ( >=sys-apps/kmod-15:0= )
1741 - lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] )
1742 - lzma? ( >=app-arch/xz-utils-5.0.5-r1:0=[${MULTILIB_USEDEP}] )
1743 - nat? ( net-firewall/iptables:0= )
1744 - pam? ( virtual/pam:=[${MULTILIB_USEDEP}] )
1745 - pcre? ( dev-libs/libpcre2 )
1746 - qrcode? ( media-gfx/qrencode:0= )
1747 - seccomp? ( >=sys-libs/libseccomp-2.3.3:0= )
1748 - selinux? ( sys-libs/libselinux:0= )
1749 - xkb? ( >=x11-libs/libxkbcommon-0.4.1:0= )
1750 - abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r9
1751 - !app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
1752 -
1753 -# baselayout-2.2 has /run
1754 -RDEPEND="${COMMON_DEPEND}
1755 - >=sys-apps/baselayout-2.2
1756 - selinux? ( sec-policy/selinux-base-policy[systemd] )
1757 - sysv-utils? ( !sys-apps/sysvinit )
1758 - !sysv-utils? ( sys-apps/sysvinit )
1759 - !build? ( || (
1760 - sys-apps/util-linux[kill(-)]
1761 - sys-process/procps[kill(+)]
1762 - sys-apps/coreutils[kill(-)]
1763 - ) )
1764 - !sys-auth/nss-myhostname
1765 - !<sys-kernel/dracut-044
1766 - !sys-fs/eudev
1767 - !sys-fs/udev"
1768 -
1769 -# sys-apps/dbus: the daemon only (+ build-time lib dep for tests)
1770 -PDEPEND=">=sys-apps/dbus-1.9.8[systemd]
1771 - >=sys-apps/hwids-20150417[udev]
1772 - >=sys-fs/udev-init-scripts-25
1773 - policykit? ( sys-auth/polkit )
1774 - !vanilla? ( sys-apps/gentoo-systemd-integration )"
1775 -
1776 -# Newer linux-headers needed by ia64, bug #480218
1777 -DEPEND="${COMMON_DEPEND}
1778 - app-arch/xz-utils:0
1779 - dev-util/gperf
1780 - >=dev-util/intltool-0.50
1781 - >=sys-apps/coreutils-8.16
1782 - >=sys-kernel/linux-headers-${MINKV}
1783 - virtual/pkgconfig
1784 - gnuefi? ( >=sys-boot/gnu-efi-3.0.2 )
1785 - test? ( sys-apps/dbus )
1786 - app-text/docbook-xml-dtd:4.2
1787 - app-text/docbook-xml-dtd:4.5
1788 - app-text/docbook-xsl-stylesheets
1789 - dev-libs/libxslt:0
1790 - $(python_gen_any_dep 'dev-python/lxml[${PYTHON_USEDEP}]')
1791 -"
1792 -
1793 -pkg_pretend() {
1794 - if [[ ${MERGE_TYPE} != buildonly ]]; then
1795 - local CONFIG_CHECK="~AUTOFS4_FS ~BLK_DEV_BSG ~CGROUPS
1796 - ~CHECKPOINT_RESTORE ~DEVTMPFS ~EPOLL ~FANOTIFY ~FHANDLE
1797 - ~INOTIFY_USER ~IPV6 ~NET ~NET_NS ~PROC_FS ~SIGNALFD ~SYSFS
1798 - ~TIMERFD ~TMPFS_XATTR ~UNIX
1799 - ~CRYPTO_HMAC ~CRYPTO_SHA256 ~CRYPTO_USER_API_HASH
1800 - ~!FW_LOADER_USER_HELPER_FALLBACK ~!GRKERNSEC_PROC ~!IDE ~!SYSFS_DEPRECATED
1801 - ~!SYSFS_DEPRECATED_V2"
1802 -
1803 - use acl && CONFIG_CHECK+=" ~TMPFS_POSIX_ACL"
1804 - use seccomp && CONFIG_CHECK+=" ~SECCOMP ~SECCOMP_FILTER"
1805 - kernel_is -lt 3 7 && CONFIG_CHECK+=" ~HOTPLUG"
1806 - kernel_is -lt 4 7 && CONFIG_CHECK+=" ~DEVPTS_MULTIPLE_INSTANCES"
1807 - kernel_is -ge 4 10 && CONFIG_CHECK+=" ~CGROUP_BPF"
1808 -
1809 - if linux_config_exists; then
1810 - local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH)
1811 - if [[ -n ${uevent_helper_path} ]] && [[ ${uevent_helper_path} != '""' ]]; then
1812 - ewarn "It's recommended to set an empty value to the following kernel config option:"
1813 - ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}"
1814 - fi
1815 - if linux_chkconfig_present X86; then
1816 - CONFIG_CHECK+=" ~DMIID"
1817 - fi
1818 - fi
1819 -
1820 - if kernel_is -lt ${MINKV//./ }; then
1821 - ewarn "Kernel version at least ${MINKV} required"
1822 - fi
1823 -
1824 - check_extra_config
1825 - fi
1826 -}
1827 -
1828 -pkg_setup() {
1829 - :
1830 -}
1831 -
1832 -src_unpack() {
1833 - default
1834 - [[ ${PV} != 9999 ]] || git-r3_src_unpack
1835 -}
1836 -
1837 -src_prepare() {
1838 - local PATCHES=(
1839 - "${FILESDIR}/238-0001-sd-bus-do-not-try-to-close-already-closed-fd-8392.patch"
1840 - "${FILESDIR}/238-0002-core-do-not-free-heap-allocated-strings-8391.patch"
1841 - "${FILESDIR}/238-libmount-include.patch"
1842 - )
1843 -
1844 - [[ -d "${WORKDIR}"/patches ]] && PATCHES+=( "${WORKDIR}"/patches )
1845 -
1846 - if ! use vanilla; then
1847 - PATCHES+=(
1848 - "${FILESDIR}/gentoo-Dont-enable-audit-by-default.patch"
1849 - "${FILESDIR}/gentoo-systemd-user-pam.patch"
1850 - "${FILESDIR}/gentoo-uucp-group-r1.patch"
1851 - "${FILESDIR}/gentoo-generator-path.patch"
1852 - )
1853 - fi
1854 -
1855 - default
1856 -}
1857 -
1858 -src_configure() {
1859 - # Prevent conflicts with i686 cross toolchain, bug 559726
1860 - tc-export AR CC NM OBJCOPY RANLIB
1861 -
1862 - python_setup
1863 -
1864 - multilib-minimal_src_configure
1865 -}
1866 -
1867 -meson_use() {
1868 - usex "$1" true false
1869 -}
1870 -
1871 -meson_multilib() {
1872 - if multilib_is_native_abi; then
1873 - echo true
1874 - else
1875 - echo false
1876 - fi
1877 -}
1878 -
1879 -meson_multilib_native_use() {
1880 - if multilib_is_native_abi && use "$1"; then
1881 - echo true
1882 - else
1883 - echo false
1884 - fi
1885 -}
1886 -
1887 -multilib_src_configure() {
1888 - local myconf=(
1889 - --localstatedir="${EPREFIX}/var"
1890 - -Dpamlibdir="$(getpam_mod_dir)"
1891 - # avoid bash-completion dep
1892 - -Dbashcompletiondir="$(get_bashcompdir)"
1893 - # make sure we get /bin:/sbin in PATH
1894 - -Dsplit-usr=$(usex usrmerge false true)
1895 - -Drootprefix="$(usex usrmerge "${EPREFIX}/usr" "${EPREFIX:-/}")"
1896 - -Dsysvinit-path=
1897 - -Dsysvrcnd-path=
1898 - # Avoid infinite exec recursion, bug 642724
1899 - -Dtelinit-path="${EPREFIX}/lib/sysvinit/telinit"
1900 - # no deps
1901 - -Defi=$(meson_multilib)
1902 - -Dima=true
1903 - # Optional components/dependencies
1904 - -Dacl=$(meson_multilib_native_use acl)
1905 - -Dapparmor=$(meson_multilib_native_use apparmor)
1906 - -Daudit=$(meson_multilib_native_use audit)
1907 - -Dlibcryptsetup=$(meson_multilib_native_use cryptsetup)
1908 - -Dlibcurl=$(meson_multilib_native_use curl)
1909 - -Delfutils=$(meson_multilib_native_use elfutils)
1910 - -Dgcrypt=$(meson_use gcrypt)
1911 - -Dgnu-efi=$(meson_multilib_native_use gnuefi)
1912 - -Defi-libdir="${EPREFIX}/usr/$(get_libdir)"
1913 - -Dmicrohttpd=$(meson_multilib_native_use http)
1914 - $(usex http -Dgnutls=$(meson_multilib_native_use ssl) -Dgnutls=false)
1915 - -Dimportd=$(meson_multilib_native_use importd)
1916 - -Dbzip2=$(meson_multilib_native_use importd)
1917 - -Dzlib=$(meson_multilib_native_use importd)
1918 - -Dkmod=$(meson_multilib_native_use kmod)
1919 - -Dlz4=$(meson_use lz4)
1920 - -Dxz=$(meson_use lzma)
1921 - -Dlibiptc=$(meson_multilib_native_use nat)
1922 - -Dpam=$(meson_use pam)
1923 - -Dpcre2=$(meson_multilib_native_use pcre)
1924 - -Dpolkit=$(meson_multilib_native_use policykit)
1925 - -Dqrencode=$(meson_multilib_native_use qrcode)
1926 - -Dseccomp=$(meson_multilib_native_use seccomp)
1927 - -Dselinux=$(meson_multilib_native_use selinux)
1928 - #-Dtests=$(meson_multilib_native_use test)
1929 - -Ddbus=$(meson_multilib_native_use test)
1930 - -Dxkbcommon=$(meson_multilib_native_use xkb)
1931 - # hardcode a few paths to spare some deps
1932 - -Dkill-path=/bin/kill
1933 - -Dntp-servers="0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org"
1934 - # Breaks screen, tmux, etc.
1935 - -Ddefault-kill-user-processes=false
1936 -
1937 - # multilib options
1938 - -Dbacklight=$(meson_multilib)
1939 - -Dbinfmt=$(meson_multilib)
1940 - -Dcoredump=$(meson_multilib)
1941 - -Denvironment-d=$(meson_multilib)
1942 - -Dfirstboot=$(meson_multilib)
1943 - -Dhibernate=$(meson_multilib)
1944 - -Dhostnamed=$(meson_multilib)
1945 - -Dhwdb=$(meson_multilib)
1946 - -Dldconfig=$(meson_multilib)
1947 - -Dlocaled=$(meson_multilib)
1948 - -Dman=$(meson_multilib)
1949 - -Dnetworkd=$(meson_multilib)
1950 - -Dquotacheck=$(meson_multilib)
1951 - -Drandomseed=$(meson_multilib)
1952 - -Drfkill=$(meson_multilib)
1953 - -Dsysusers=$(meson_multilib)
1954 - -Dtimedated=$(meson_multilib)
1955 - -Dtimesyncd=$(meson_multilib)
1956 - -Dtmpfiles=$(meson_multilib)
1957 - -Dvconsole=$(meson_multilib)
1958 - )
1959 -
1960 - if multilib_is_native_abi && use idn; then
1961 - myconf+=(
1962 - -Dlibidn2=$(usex libidn2 true false)
1963 - -Dlibidn=$(usex libidn2 false true)
1964 - )
1965 - else
1966 - myconf+=(
1967 - -Dlibidn2=false
1968 - -Dlibidn=false
1969 - )
1970 - fi
1971 -
1972 - meson_src_configure "${myconf[@]}"
1973 -}
1974 -
1975 -multilib_src_compile() {
1976 - eninja
1977 -}
1978 -
1979 -multilib_src_test() {
1980 - eninja test
1981 -}
1982 -
1983 -multilib_src_install() {
1984 - DESTDIR="${D}" eninja install
1985 -}
1986 -
1987 -multilib_src_install_all() {
1988 - # meson doesn't know about docdir
1989 - mv "${ED%/}"/usr/share/doc/{systemd,${PF}} || die
1990 -
1991 - einstalldocs
1992 - dodoc "${FILESDIR}"/nsswitch.conf
1993 -
1994 - if ! use sysv-utils; then
1995 - local rootprefix=$(usex usrmerge /usr '')
1996 - rm "${ED%/}${rootprefix}"/sbin/{halt,init,poweroff,reboot,runlevel,shutdown,telinit} || die
1997 - rmdir "${ED%/}${rootprefix}"/sbin || die
1998 - rm "${ED%/}"/usr/share/man/man1/init.1 || die
1999 - rm "${ED%/}"/usr/share/man/man8/{halt,poweroff,reboot,runlevel,shutdown,telinit}.8 || die
2000 - fi
2001 -
2002 - # Preserve empty dirs in /etc & /var, bug #437008
2003 - keepdir /etc/{binfmt.d,modules-load.d,tmpfiles.d}
2004 - keepdir /etc/systemd/{ntp-units.d,user} /var/lib/systemd
2005 - keepdir /etc/udev/{hwdb.d,rules.d}
2006 - keepdir /var/log/journal/remote
2007 -
2008 - # Symlink /etc/sysctl.conf for easy migration.
2009 - dosym ../sysctl.conf /etc/sysctl.d/99-sysctl.conf
2010 -
2011 - # If we install these symlinks, there is no way for the sysadmin to remove them
2012 - # permanently.
2013 - rm -f "${ED%/}"/etc/systemd/system/multi-user.target.wants/systemd-networkd.service || die
2014 - rm -f "${ED%/}"/etc/systemd/system/dbus-org.freedesktop.network1.service || die
2015 - rm -f "${ED%/}"/etc/systemd/system/multi-user.target.wants/systemd-resolved.service || die
2016 - rm -f "${ED%/}"/etc/systemd/system/dbus-org.freedesktop.resolve1.service || die
2017 - rm -fr "${ED%/}"/etc/systemd/system/network-online.target.wants || die
2018 - rm -fr "${ED%/}"/etc/systemd/system/sockets.target.wants || die
2019 - rm -fr "${ED%/}"/etc/systemd/system/sysinit.target.wants || die
2020 -
2021 - local udevdir=/lib/udev
2022 - use usrmerge && udevdir=/usr/lib/udev
2023 -
2024 - rm -r "${ED%/}${udevdir}/hwdb.d" || die
2025 -
2026 - if ! use usrmerge; then
2027 - # Avoid breaking boot/reboot
2028 - dosym ../../../lib/systemd/systemd /usr/lib/systemd/systemd
2029 - dosym ../../../lib/systemd/systemd-shutdown /usr/lib/systemd/systemd-shutdown
2030 - fi
2031 -}
2032 -
2033 -migrate_locale() {
2034 - local envd_locale_def="${EROOT%/}/etc/env.d/02locale"
2035 - local envd_locale=( "${EROOT%/}"/etc/env.d/??locale )
2036 - local locale_conf="${EROOT%/}/etc/locale.conf"
2037 -
2038 - if [[ ! -L ${locale_conf} && ! -e ${locale_conf} ]]; then
2039 - # If locale.conf does not exist...
2040 - if [[ -e ${envd_locale} ]]; then
2041 - # ...either copy env.d/??locale if there's one
2042 - ebegin "Moving ${envd_locale} to ${locale_conf}"
2043 - mv "${envd_locale}" "${locale_conf}"
2044 - eend ${?} || FAIL=1
2045 - else
2046 - # ...or create a dummy default
2047 - ebegin "Creating ${locale_conf}"
2048 - cat > "${locale_conf}" <<-EOF
2049 - # This file has been created by the sys-apps/systemd ebuild.
2050 - # See locale.conf(5) and localectl(1).
2051 -
2052 - # LANG=${LANG}
2053 - EOF
2054 - eend ${?} || FAIL=1
2055 - fi
2056 - fi
2057 -
2058 - if [[ ! -L ${envd_locale} ]]; then
2059 - # now, if env.d/??locale is not a symlink (to locale.conf)...
2060 - if [[ -e ${envd_locale} ]]; then
2061 - # ...warn the user that he has duplicate locale settings
2062 - ewarn
2063 - ewarn "To ensure consistent behavior, you should replace ${envd_locale}"
2064 - ewarn "with a symlink to ${locale_conf}. Please migrate your settings"
2065 - ewarn "and create the symlink with the following command:"
2066 - ewarn "ln -s -n -f ../locale.conf ${envd_locale}"
2067 - ewarn
2068 - else
2069 - # ...or just create the symlink if there's nothing here
2070 - ebegin "Creating ${envd_locale_def} -> ../locale.conf symlink"
2071 - ln -n -s ../locale.conf "${envd_locale_def}"
2072 - eend ${?} || FAIL=1
2073 - fi
2074 - fi
2075 -}
2076 -
2077 -pkg_postinst() {
2078 - newusergroup() {
2079 - enewgroup "$1"
2080 - enewuser "$1" -1 -1 -1 "$1"
2081 - }
2082 -
2083 - enewgroup input
2084 - enewgroup kvm 78
2085 - enewgroup render
2086 - enewgroup systemd-journal
2087 - newusergroup systemd-bus-proxy
2088 - newusergroup systemd-coredump
2089 - newusergroup systemd-journal-gateway
2090 - newusergroup systemd-journal-remote
2091 - newusergroup systemd-journal-upload
2092 - newusergroup systemd-network
2093 - newusergroup systemd-resolve
2094 - newusergroup systemd-timesync
2095 -
2096 - systemd_update_catalog
2097 -
2098 - # Keep this here in case the database format changes so it gets updated
2099 - # when required. Despite that this file is owned by sys-apps/hwids.
2100 - if has_version "sys-apps/hwids[udev]"; then
2101 - udevadm hwdb --update --root="${EROOT%/}"
2102 - fi
2103 -
2104 - udev_reload || FAIL=1
2105 -
2106 - # Bug 465468, make sure locales are respect, and ensure consistency
2107 - # between OpenRC & systemd
2108 - migrate_locale
2109 -
2110 - systemd_reenable systemd-networkd.service systemd-resolved.service
2111 -
2112 - if [[ ${FAIL} ]]; then
2113 - eerror "One of the postinst commands failed. Please check the postinst output"
2114 - eerror "for errors. You may need to clean up your system and/or try installing"
2115 - eerror "systemd again."
2116 - eerror
2117 - fi
2118 -}
2119 -
2120 -pkg_prerm() {
2121 - # If removing systemd completely, remove the catalog database.
2122 - if [[ ! ${REPLACED_BY_VERSION} ]]; then
2123 - rm -f -v "${EROOT}"/var/lib/systemd/catalog/database
2124 - fi
2125 -}