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 |
-} |