Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-apps/systemd-utils/
Date: Fri, 03 Jun 2022 00:37:33
Message-Id: 1654216458.d96ce145080c08f9f7fb182d44b0fb3cf212c0b0.sam@gentoo
1 commit: d96ce145080c08f9f7fb182d44b0fb3cf212c0b0
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Fri Jun 3 00:34:18 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Fri Jun 3 00:34:18 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d96ce145
7
8 sys-apps/systemd-utils: add 250.7
9
10 Signed-off-by: Sam James <sam <AT> gentoo.org>
11
12 sys-apps/systemd-utils/Manifest | 1 +
13 sys-apps/systemd-utils/systemd-utils-250.7.ebuild | 497 ++++++++++++++++++++++
14 2 files changed, 498 insertions(+)
15
16 diff --git a/sys-apps/systemd-utils/Manifest b/sys-apps/systemd-utils/Manifest
17 index 1a079391ca00..cc709cbac9ae 100644
18 --- a/sys-apps/systemd-utils/Manifest
19 +++ b/sys-apps/systemd-utils/Manifest
20 @@ -2,3 +2,4 @@ DIST systemd-musl-patches-250.4.tar.gz 28065 BLAKE2B b8366c4bb29705e3f41f07d0105
21 DIST systemd-stable-250.4.tar.gz 11132786 BLAKE2B 8fdfe1bad76e572dc1be0955f3d1c4080f2beb81a2f9670f80827899f5406ab8ed8675400c2f5e8ccef44cf1bceff42ceae12a42e1b67d46c0deb523e6495f25 SHA512 307ed0920da660b6c45d909fea66864fb98db8b2f6905d629fb2012fc4bf64dd25fd61168c22bf4098200be541be9b0e815fbde98806a99c85cb33d49d8b63d0
22 DIST systemd-stable-250.5.tar.gz 11212059 BLAKE2B b7dbcb9e82c51e966db20a92ccd59ac19309702c481dd575c4e6367ca5ade10fe4b689925416ce1169682380cbf22d7d692b2378ef091f3007c16891992e3f92 SHA512 ad864b67bd5e2f5fd5705b636467827e4735142cefba150d24bb8e51ac0263650b2b0e53d4426eb509d1db59b83dc3b4c4bf157cc355fc2b7524db6bc4a9b5cd
23 DIST systemd-stable-250.6.tar.gz 11212534 BLAKE2B faf065dbe5c02d9d3311202f93b9ad8984c4c9d127d32c17f305b81046f9e29cfc731cdd4abbd073965f448f4e1dff81d80313896b346548d2640939ad509365 SHA512 b625d5fb419370d238cf72f2e59c8fa6782972d94746835bde3a64a7746edd1d5fad901bbb01311f858b7dbdff6d759518b615708bb835a81964c16878d5644e
24 +DIST systemd-stable-250.7.tar.gz 11214975 BLAKE2B 5d94b4b1f8b0cd6e8284a89ac0d4bd373eccdad2c3d6e6c453df79c8df47ee0f9cfbde764b72b1f9d172d07e2d9f1f1f41c1ab254cf4abd0722469ebc3ad7cf8 SHA512 99bc6f0c9757b280cb694f3fb4d6fe04d5ce55583eb2bae5ddeb324bb5ee9930c1720fcc27293d90cddba188473653ec541a471ae8115710a5850c26d0ba215d
25
26 diff --git a/sys-apps/systemd-utils/systemd-utils-250.7.ebuild b/sys-apps/systemd-utils/systemd-utils-250.7.ebuild
27 new file mode 100644
28 index 000000000000..21922a535e32
29 --- /dev/null
30 +++ b/sys-apps/systemd-utils/systemd-utils-250.7.ebuild
31 @@ -0,0 +1,497 @@
32 +# Copyright 2022 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=8
36 +PYTHON_COMPAT=( python3_{8..10} )
37 +
38 +QA_PKGCONFIG_VERSION=$(ver_cut 1)
39 +
40 +inherit bash-completion-r1 flag-o-matic meson-multilib python-any-r1 toolchain-funcs udev usr-ldscript
41 +
42 +DESCRIPTION="Utilities split out from systemd for OpenRC users"
43 +HOMEPAGE="https://systemd.io/"
44 +
45 +if [[ ${PV} == *.* ]]; then
46 + MY_P="systemd-stable-${PV}"
47 + S="${WORKDIR}/${MY_P}"
48 + SRC_URI="https://github.com/systemd/systemd-stable/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz"
49 +else
50 + MY_P="systemd-${PV}"
51 + S="${WORKDIR}/${MY_P}"
52 + SRC_URI="https://github.com/systemd/systemd/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz"
53 +fi
54 +
55 +MUSL_PATCHSET="systemd-musl-patches-250.4"
56 +SRC_URI+=" elibc_musl? ( https://dev.gentoo.org/~floppym/dist/${MUSL_PATCHSET}.tar.gz )"
57 +
58 +LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
59 +SLOT="0"
60 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
61 +IUSE="+acl boot +kmod selinux sysusers +tmpfiles test +udev"
62 +REQUIRED_USE="|| ( boot tmpfiles sysusers udev )"
63 +RESTRICT="!test? ( test )"
64 +
65 +COMMON_DEPEND="
66 + selinux? ( sys-libs/libselinux:0= )
67 + tmpfiles? (
68 + acl? ( sys-apps/acl:0= )
69 + )
70 + udev? (
71 + >=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}]
72 + sys-libs/libcap:0=[${MULTILIB_USEDEP}]
73 + virtual/libcrypt:=[${MULTILIB_USEDEP}]
74 + acl? ( sys-apps/acl:0= )
75 + kmod? ( >=sys-apps/kmod-15:0= )
76 + )
77 + !udev? (
78 + >=sys-apps/util-linux-2.30:0=
79 + sys-libs/libcap:0=
80 + virtual/libcrypt:=
81 + )
82 +"
83 +DEPEND="${COMMON_DEPEND}
84 + boot? (
85 + >=sys-boot/gnu-efi-3.0.2
86 + )
87 + >=sys-kernel/linux-headers-3.11
88 +"
89 +RDEPEND="${COMMON_DEPEND}
90 + boot? ( !<sys-boot/systemd-boot-250 )
91 + tmpfiles? ( !<sys-apps/systemd-tmpfiles-250 )
92 + udev? (
93 + acct-group/audio
94 + acct-group/cdrom
95 + acct-group/dialout
96 + acct-group/disk
97 + acct-group/input
98 + acct-group/kmem
99 + acct-group/kvm
100 + acct-group/lp
101 + acct-group/render
102 + acct-group/sgx
103 + acct-group/tape
104 + acct-group/tty
105 + acct-group/video
106 + !sys-apps/gentoo-systemd-integration
107 + !sys-apps/hwids[udev]
108 + !<sys-fs/udev-250
109 + !sys-fs/eudev
110 + )
111 + !sys-apps/systemd
112 +"
113 +PDEPEND="
114 + udev? ( >=sys-fs/udev-init-scripts-34 )
115 +"
116 +BDEPEND="
117 + $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]')
118 + app-text/docbook-xml-dtd:4.2
119 + app-text/docbook-xml-dtd:4.5
120 + app-text/docbook-xsl-stylesheets
121 + dev-libs/libxslt
122 + dev-util/gperf
123 + >=sys-apps/coreutils-8.16
124 + sys-devel/gettext
125 + virtual/pkgconfig
126 +"
127 +
128 +python_check_deps() {
129 + has_version -b "dev-python/jinja[${PYTHON_USEDEP}]"
130 +}
131 +
132 +QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
133 +QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
134 +
135 +src_prepare() {
136 + local PATCHES=(
137 + "${FILESDIR}/250.4-test-systemd-tmpfiles.standalone.patch"
138 + )
139 + if use elibc_musl; then
140 + PATCHES+=( "${WORKDIR}/${MUSL_PATCHSET}" )
141 + fi
142 + default
143 +
144 + # Remove install_rpath; we link statically
145 + local rpath_pattern="install_rpath : rootlibexecdir,"
146 + grep -q -e "${rpath_pattern}" meson.build || die
147 + sed -i -e "/${rpath_pattern}/d" meson.build || die
148 +}
149 +
150 +multilib_src_configure() {
151 + # When bumping to 251, please keep this, but add the revert patch
152 + # like in sys-apps/systemd!
153 + #
154 + # Broken with FORTIFY_SOURCE=3 without a patch. And the patch
155 + # wasn't backported to 250.x, but it turns out to break Clang
156 + # anyway: bug #841770.
157 + #
158 + # Our toolchain sets F_S=2 by default w/ >= -O2, so we need
159 + # to unset F_S first, then explicitly set 2, to negate any default
160 + # and anything set by the user if they're choosing 3 (or if they've
161 + # modified GCC to set 3).
162 + #
163 + if is-flagq '-O[23]' || is-flagq '-Ofast' ; then
164 + # We can't unconditionally do this b/c we fortify needs
165 + # some level of optimisation.
166 + filter-flags -D_FORTIFY_SOURCE=3
167 + append-cppflags -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
168 + fi
169 +
170 + local emesonargs=(
171 + -Drootprefix="${EPREFIX:-/}"
172 + -Dsysvinit-path=
173 + $(meson_native_use_bool boot efi)
174 + $(meson_native_use_bool boot gnu-efi)
175 + $(meson_native_use_bool selinux)
176 + $(meson_native_use_bool sysusers)
177 + $(meson_use test tests)
178 + $(meson_native_use_bool tmpfiles)
179 + $(meson_use udev hwdb)
180 +
181 + -Defi-libdir="${ESYSROOT}/usr/$(get_libdir)"
182 +
183 + # Link staticly with libsystemd-shared
184 + -Dlink-boot-shared=false
185 + -Dlink-udev-shared=false
186 +
187 + # systemd-tmpfiles has a separate "systemd-tmpfiles.standalone" target
188 + -Dstandalone-binaries=true
189 +
190 + # Disable all optional features
191 + -Dadm-group=false
192 + -Danalyze=false
193 + -Dapparmor=false
194 + -Daudit=false
195 + -Dbacklight=false
196 + -Dbinfmt=false
197 + -Dbzip2=false
198 + -Dcoredump=false
199 + -Ddbus=false
200 + -Delfutils=false
201 + -Denvironment-d=false
202 + -Dfdisk=false
203 + -Dgcrypt=false
204 + -Dglib=false
205 + -Dgshadow=false
206 + -Dgnutls=false
207 + -Dhibernate=false
208 + -Dhostnamed=false
209 + -Didn=false
210 + -Dima=false
211 + -Dinitrd=false
212 + -Dfirstboot=false
213 + -Dkernel-install=false
214 + -Dldconfig=false
215 + -Dlibcryptsetup=false
216 + -Dlibcurl=false
217 + -Dlibfido2=false
218 + -Dlibidn=false
219 + -Dlibidn2=false
220 + -Dlibiptc=false
221 + -Dlocaled=false
222 + -Dlogind=false
223 + -Dlz4=false
224 + -Dmachined=false
225 + -Dmicrohttpd=false
226 + -Dnetworkd=false
227 + -Dnscd=false
228 + -Dnss-myhostname=false
229 + -Dnss-resolve=false
230 + -Dnss-systemd=false
231 + -Doomd=false
232 + -Dopenssl=false
233 + -Dp11kit=false
234 + -Dpam=false
235 + -Dpcre2=false
236 + -Dpolkit=false
237 + -Dportabled=false
238 + -Dpstore=false
239 + -Dpwquality=false
240 + -Drandomseed=false
241 + -Dresolve=false
242 + -Drfkill=false
243 + -Dseccomp=false
244 + -Dsmack=false
245 + -Dsysext=false
246 + -Dtimedated=false
247 + -Dtimesyncd=false
248 + -Dtpm=false
249 + -Dqrencode=false
250 + -Dquotacheck=false
251 + -Duserdb=false
252 + -Dutmp=false
253 + -Dvconsole=false
254 + -Dwheel-group=false
255 + -Dxdg-autostart=false
256 + -Dxkbcommon=false
257 + -Dxz=false
258 + -Dzlib=false
259 + -Dzstd=false
260 + )
261 +
262 + if use tmpfiles || use udev; then
263 + emesonargs+=( $(meson_native_use_bool acl) )
264 + else
265 + emesonargs+=( -Dacl=false )
266 + fi
267 +
268 + if use udev; then
269 + emesonargs+=( $(meson_native_use_bool kmod) )
270 + else
271 + emesonargs+=( -Dkmod=false )
272 + fi
273 +
274 + if use elibc_musl; then
275 + # Avoid redefinition of struct ethhdr.
276 + append-cppflags -D__UAPI_DEF_ETHHDR=0
277 + fi
278 +
279 + if multilib_is_native_abi || use udev; then
280 + meson_src_configure
281 + fi
282 +}
283 +
284 +efi_arch() {
285 + case "$(tc-arch)" in
286 + amd64) echo x64 ;;
287 + arm) echo arm ;;
288 + arm64) echo aa64 ;;
289 + x86) echo x86 ;;
290 + esac
291 +}
292 +
293 +multilib_src_compile() {
294 + local targets=()
295 + if multilib_is_native_abi; then
296 + if use boot; then
297 + targets+=(
298 + bootctl
299 + man/bootctl.1
300 + man/kernel-install.8
301 + src/boot/efi/linux$(efi_arch).{efi,elf}.stub
302 + src/boot/efi/systemd-boot$(efi_arch).efi
303 + )
304 + fi
305 + if use sysusers; then
306 + targets+=(
307 + systemd-sysusers.standalone
308 + man/sysusers.d.5
309 + man/systemd-sysusers.8
310 + )
311 + if use test; then
312 + targets+=(
313 + systemd-runtest.env
314 + )
315 + fi
316 + fi
317 + if use tmpfiles; then
318 + targets+=(
319 + systemd-tmpfiles.standalone
320 + man/tmpfiles.d.5
321 + man/systemd-tmpfiles.8
322 + )
323 + if use test; then
324 + targets+=( test-tmpfiles )
325 + fi
326 + fi
327 + if use udev; then
328 + targets+=(
329 + udevadm
330 + systemd-hwdb
331 + src/udev/ata_id
332 + src/udev/cdrom_id
333 + src/udev/fido_id
334 + src/udev/mtd_probe
335 + src/udev/scsi_id
336 + src/udev/udev.pc
337 + src/udev/v4l_id
338 + man/udev.conf.5
339 + man/systemd.link.5
340 + man/hwdb.7
341 + man/udev.7
342 + man/systemd-hwdb.8
343 + man/systemd-udevd.service.8
344 + man/udevadm.8
345 + hwdb.d/60-autosuspend-chromiumos.hwdb
346 + rules.d/50-udev-default.rules
347 + rules.d/64-btrfs.rules
348 + )
349 + if use test; then
350 + targets+=(
351 + # Used by udev-test.pl
352 + systemd-detect-virt
353 + test/sys
354 + test-udev
355 +
356 + test-fido-id-desc
357 + test-udev-builtin
358 + test-udev-event
359 + test-udev-netlink
360 + test-udev-node
361 + test-udev-util
362 + )
363 + fi
364 + fi
365 + fi
366 + if use udev; then
367 + targets+=(
368 + udev:shared_library
369 + src/libudev/libudev.pc
370 + )
371 + if use test; then
372 + targets+=(
373 + test-libudev
374 + test-libudev-sym
375 + test-udev-device-thread
376 + )
377 + fi
378 + fi
379 + if multilib_is_native_abi || use udev; then
380 + meson_src_compile "${targets[@]}"
381 + fi
382 +}
383 +
384 +multilib_src_test() {
385 + local tests=()
386 + if multilib_is_native_abi; then
387 + if use sysusers; then
388 + tests+=(
389 + test-sysusers.standalone
390 + )
391 + fi
392 + if use tmpfiles; then
393 + tests+=(
394 + test-systemd-tmpfiles.standalone
395 + test-tmpfiles
396 + )
397 + fi
398 + if use udev; then
399 + tests+=(
400 + rule-syntax-check
401 + test-fido-id-desc
402 + test-udev-builtin
403 + test-udev-event
404 + test-udev-netlink
405 + test-udev-node
406 + test-udev-util
407 + )
408 + if [[ -w /dev ]]; then
409 + tests+=( udev-test )
410 + else
411 + ewarn "Skipping udev-test (needs write access to /dev)"
412 + fi
413 + fi
414 + fi
415 + if use udev; then
416 + tests+=(
417 + test-libudev
418 + test-libudev-sym
419 + test-udev-device-thread
420 + )
421 + fi
422 + if [[ ${#tests[@]} -ne 0 ]]; then
423 + meson_src_test "${tests[@]}"
424 + fi
425 +}
426 +
427 +multilib_src_install() {
428 + if multilib_is_native_abi; then
429 + if use boot; then
430 + into /usr
431 + dobin bootctl
432 + doman man/{bootctl.1,kernel-install.8}
433 + insinto usr/lib/systemd/boot/efi
434 + doins src/boot/efi/{linux$(efi_arch).{efi,elf}.stub,systemd-boot$(efi_arch).efi}
435 + fi
436 + if use sysusers; then
437 + into /
438 + newbin systemd-sysusers{.standalone,}
439 + doman man/{systemd-sysusers.8,sysusers.d.5}
440 + fi
441 + if use tmpfiles; then
442 + into /
443 + newbin systemd-tmpfiles{.standalone,}
444 + doman man/{systemd-tmpfiles.8,tmpfiles.d.5}
445 + fi
446 + if use udev; then
447 + into /
448 + dobin udevadm systemd-hwdb
449 + dosym ../../bin/udevadm /lib/systemd/systemd-udevd
450 + exeinto /lib/udev
451 + doexe src/udev/{ata_id,cdrom_id,fido_id,mtd_probe,scsi_id,v4l_id}
452 + insinto /lib/udev/rules.d
453 + doins rules.d/*.rules
454 + insinto /lib/udev/hwdb.d
455 + doins hwdb.d/*.hwdb
456 + insinto /usr/share/pkgconfig
457 + doins src/udev/udev.pc
458 + doman man/{udev.conf.5,systemd.link.5,hwdb.7,systemd-hwdb.8,udev.7,udevadm.8}
459 + newman man/systemd-udevd.service.8 systemd-udevd.8
460 +
461 + fi
462 + fi
463 + if use udev; then
464 + into /usr
465 + dolib.so "$(readlink libudev.so.1)" libudev.so{.1,}
466 + gen_usr_ldscript -a udev
467 + insinto "/usr/$(get_libdir)/pkgconfig"
468 + doins src/libudev/libudev.pc
469 + fi
470 +}
471 +
472 +multilib_src_install_all() {
473 + einstalldocs
474 + if use boot; then
475 + into /usr
476 + dobin src/kernel-install/kernel-install
477 + exeinto usr/lib/kernel/install.d
478 + doexe src/kernel-install/*.install
479 + dobashcomp shell-completion/bash/bootctl
480 + insinto /usr/share/zsh/site-functions
481 + doins shell-completion/zsh/{_bootctl,_kernel-install}
482 + fi
483 + if use tmpfiles; then
484 + doinitd "${FILESDIR}"/systemd-tmpfiles-setup
485 + doinitd "${FILESDIR}"/systemd-tmpfiles-setup-dev
486 + insinto /usr/share/zsh/site-functions
487 + doins shell-completion/zsh/_systemd-tmpfiles
488 + fi
489 + if use udev; then
490 + doheader src/libudev/libudev.h
491 + insinto /etc/udev
492 + doins src/udev/udev.conf
493 + keepdir /etc/udev/{hwdb.d,rules.d}
494 + insinto /lib/systemd/network
495 + doins network/99-default.link
496 + insinto /lib/udev/rules.d
497 + doins rules.d/*.rules
498 + doins "${FILESDIR}"/40-gentoo.rules
499 + insinto /lib/udev/hwdb.d
500 + doins hwdb.d/*.hwdb
501 + dobashcomp shell-completion/bash/udevadm
502 + insinto /usr/share/zsh/site-functions
503 + doins shell-completion/zsh/_udevadm
504 + fi
505 +}
506 +
507 +add_service() {
508 + local initd=$1
509 + local runlevel=$2
510 +
511 + ebegin "Adding '${initd}' service to the '${runlevel}' runlevel"
512 + mkdir -p "${EROOT}/etc/runlevels/${runlevel}" &&
513 + ln -snf "${EPREFIX}/etc/init.d/${initd}" "${EROOT}/etc/runlevels/${runlevel}/${initd}"
514 + eend $?
515 +}
516 +
517 +pkg_postinst() {
518 + if [[ -z ${REPLACING_VERSIONS} ]]; then
519 + add_service systemd-tmpfiles-setup-dev sysinit
520 + add_service systemd-tmpfiles-setup boot
521 + fi
522 + if use udev; then
523 + ebegin "Updating hwdb"
524 + systemd-hwdb --root="${ROOT}" update
525 + eend $?
526 + udev_reload
527 + fi
528 +}