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