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: Sat, 04 Mar 2023 01:25:23
Message-Id: 1677893097.aaf17c251d1161d5a63a197b040235fe1353783c.sam@gentoo
1 commit: aaf17c251d1161d5a63a197b040235fe1353783c
2 Author: Sam James <sam <AT> gentoo <DOT> org>
3 AuthorDate: Sat Mar 4 01:19:27 2023 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Sat Mar 4 01:24:57 2023 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aaf17c25
7
8 sys-apps/systemd-utils: add 252.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-252.7.ebuild | 520 ++++++++++++++++++++++
14 2 files changed, 521 insertions(+)
15
16 diff --git a/sys-apps/systemd-utils/Manifest b/sys-apps/systemd-utils/Manifest
17 index 977a6aa71ff8..25386a1fbd0d 100644
18 --- a/sys-apps/systemd-utils/Manifest
19 +++ b/sys-apps/systemd-utils/Manifest
20 @@ -2,3 +2,4 @@ DIST systemd-musl-patches-251.2.tar.gz 28512 BLAKE2B 4ac6a5220dab8409962a3954af2
21 DIST systemd-musl-patches-252.4.tar.gz 25053 BLAKE2B 1d75f85ea0c48c788e9199e2d919bac90edce16a9788a349332cf308c32fb9510ac2883f8e09f21e7f37fbac2e557dc39cdf44dcd7a986587c40dedd2d1b5df5 SHA512 1dc8e220eae1869eb4bb50f9c701392542b053099cf9b6bde13f12a2d26fa29984819a8b4ce1b6c57e38a71f86324469a87cf9e22abe0f6d67ac3e84c6b9a3ba
22 DIST systemd-stable-251.10.tar.gz 11461671 BLAKE2B a351b6dd9fc307e4bdcf0323b16e7f58c714392cfa466180a81196309c289b54767bfe5d03037eb1bd6b273d7eb8f6f42b927aabaa1310be04266675d1a3dd06 SHA512 49e33dbbc1b2ebe123b2f722070c87524b3126d1e605fb3e24a3f9f328ab67de506dc4588a92caf157428c21b9c73c3884726c4a5b1f67bb997d4a68bb871e5b
23 DIST systemd-stable-252.6.tar.gz 11823064 BLAKE2B 0c260685c929b5271efba13d6ba84bc99211ead7d080b5e9b0d68428fe46a8a8a556b140787dd21f7b19e1454a78f15bf407038b3dc02a4d3db2336f3d881255 SHA512 948cb3f7c6a4bbc2bcc3ebe4f36afac304c9d694dadac7e363bbdb79f111eb5d69fd501433ba6719d79d833206a019cb40a37b16a92c8d22acbdd9736cdbdd37
24 +DIST systemd-stable-252.7.tar.gz 11825226 BLAKE2B 81ef2f6cbe7902014a92702c0eae740d18fc24355c186f51a0467668bb225d358a422fd02eec4c38063a3f65a9f1b1ebf88036c4e5cd0bfc50857d2818a42178 SHA512 691caea30d759afd3a1ad11495f7531c04238b080281617dceb1671ea3e27c7a6a4859961a81d29ecefb94b7a764e40283f39294e34beb63e0862777f5a8d34f
25
26 diff --git a/sys-apps/systemd-utils/systemd-utils-252.7.ebuild b/sys-apps/systemd-utils/systemd-utils-252.7.ebuild
27 new file mode 100644
28 index 000000000000..35fbaaa92fd2
29 --- /dev/null
30 +++ b/sys-apps/systemd-utils/systemd-utils-252.7.ebuild
31 @@ -0,0 +1,520 @@
32 +# Copyright 2022-2023 Gentoo Authors
33 +# Distributed under the terms of the GNU General Public License v2
34 +
35 +EAPI=8
36 +PYTHON_COMPAT=( python3_{9..11} )
37 +
38 +QA_PKGCONFIG_VERSION=$(ver_cut 1)
39 +
40 +inherit bash-completion-r1 flag-o-matic linux-info meson-multilib python-any-r1
41 +inherit toolchain-funcs udev usr-ldscript
42 +
43 +DESCRIPTION="Utilities split out from systemd for OpenRC users"
44 +HOMEPAGE="https://systemd.io/"
45 +
46 +if [[ ${PV} == *.* ]]; then
47 + MY_P="systemd-stable-${PV}"
48 + S="${WORKDIR}/${MY_P}"
49 + SRC_URI="https://github.com/systemd/systemd-stable/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz"
50 +else
51 + MY_P="systemd-${PV}"
52 + S="${WORKDIR}/${MY_P}"
53 + SRC_URI="https://github.com/systemd/systemd/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz"
54 +fi
55 +
56 +MUSL_PATCHSET="systemd-musl-patches-252.4"
57 +SRC_URI+=" elibc_musl? ( https://dev.gentoo.org/~floppym/dist/${MUSL_PATCHSET}.tar.gz )"
58 +
59 +LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
60 +SLOT="0"
61 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
62 +IUSE="+acl boot +kmod selinux split-usr sysusers +tmpfiles test +udev"
63 +REQUIRED_USE="|| ( boot tmpfiles sysusers udev )"
64 +RESTRICT="!test? ( test )"
65 +
66 +COMMON_DEPEND="
67 + elibc_musl? ( >=sys-libs/musl-1.2.3 )
68 + selinux? ( sys-libs/libselinux:0= )
69 + tmpfiles? (
70 + acl? ( sys-apps/acl:0= )
71 + )
72 + udev? (
73 + >=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}]
74 + sys-libs/libcap:0=[${MULTILIB_USEDEP}]
75 + virtual/libcrypt:=[${MULTILIB_USEDEP}]
76 + acl? ( sys-apps/acl:0= )
77 + kmod? ( >=sys-apps/kmod-15:0= )
78 + )
79 + !udev? (
80 + >=sys-apps/util-linux-2.30:0=
81 + sys-libs/libcap:0=
82 + virtual/libcrypt:=
83 + )
84 +"
85 +DEPEND="${COMMON_DEPEND}
86 + >=sys-kernel/linux-headers-3.11
87 + boot? ( >=sys-boot/gnu-efi-3.0.2 )
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/floppy
98 + acct-group/input
99 + acct-group/kmem
100 + acct-group/kvm
101 + acct-group/lp
102 + acct-group/render
103 + acct-group/sgx
104 + acct-group/tape
105 + acct-group/tty
106 + acct-group/usb
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 +CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED
141 + ~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~UNIX"
142 +
143 +pkg_setup() {
144 + if [[ ${MERGE_TYPE} != buildonly ]] && use udev; then
145 + linux-info_pkg_setup
146 + fi
147 +}
148 +
149 +src_prepare() {
150 + local PATCHES=(
151 + )
152 +
153 + if use elibc_musl; then
154 + PATCHES+=( "${WORKDIR}/${MUSL_PATCHSET}" )
155 + fi
156 + default
157 +
158 + # Remove install_rpath; we link statically
159 + local rpath_pattern="install_rpath : rootpkglibdir,"
160 + grep -q -e "${rpath_pattern}" meson.build || die
161 + sed -i -e "/${rpath_pattern}/d" meson.build || die
162 +}
163 +
164 +multilib_src_configure() {
165 + local emesonargs=(
166 + $(meson_use split-usr)
167 + $(meson_use split-usr split-bin)
168 + -Drootprefix="$(usex split-usr "${EPREFIX:-/}" "${EPREFIX}/usr")"
169 + -Drootlibdir="${EPREFIX}/usr/$(get_libdir)"
170 + -Dsysvinit-path=
171 + $(meson_native_use_bool boot efi)
172 + $(meson_native_use_bool boot gnu-efi)
173 + $(meson_native_use_bool boot kernel-install)
174 + $(meson_native_use_bool selinux)
175 + $(meson_native_use_bool sysusers)
176 + $(meson_use test tests)
177 + $(meson_native_use_bool tmpfiles)
178 + $(meson_use udev hwdb)
179 +
180 + -Defi-libdir="${ESYSROOT}/usr/$(get_libdir)"
181 +
182 + # Link staticly with libsystemd-shared
183 + -Dlink-boot-shared=false
184 + -Dlink-udev-shared=false
185 +
186 + # systemd-tmpfiles has a separate "systemd-tmpfiles.standalone" target
187 + -Dstandalone-binaries=true
188 +
189 + # Disable all optional features
190 + -Dadm-group=false
191 + -Danalyze=false
192 + -Dapparmor=false
193 + -Daudit=false
194 + -Dbacklight=false
195 + -Dbinfmt=false
196 + -Dbpf-framework=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 + -Dldconfig=false
214 + -Dlibcryptsetup=false
215 + -Dlibcurl=false
216 + -Dlibfido2=false
217 + -Dlibidn=false
218 + -Dlibidn2=false
219 + -Dlibiptc=false
220 + -Dlocaled=false
221 + -Dlogind=false
222 + -Dlz4=false
223 + -Dmachined=false
224 + -Dmicrohttpd=false
225 + -Dnetworkd=false
226 + -Dnscd=false
227 + -Dnss-myhostname=false
228 + -Dnss-resolve=false
229 + -Dnss-systemd=false
230 + -Doomd=false
231 + -Dopenssl=false
232 + -Dp11kit=false
233 + -Dpam=false
234 + -Dpcre2=false
235 + -Dpolkit=false
236 + -Dportabled=false
237 + -Dpstore=false
238 + -Dpwquality=false
239 + -Drandomseed=false
240 + -Dresolve=false
241 + -Drfkill=false
242 + -Dseccomp=false
243 + -Dsmack=false
244 + -Dsysext=false
245 + -Dtimedated=false
246 + -Dtimesyncd=false
247 + -Dtpm=false
248 + -Dqrencode=false
249 + -Dquotacheck=false
250 + -Duserdb=false
251 + -Dutmp=false
252 + -Dvconsole=false
253 + -Dwheel-group=false
254 + -Dxdg-autostart=false
255 + -Dxkbcommon=false
256 + -Dxz=false
257 + -Dzlib=false
258 + -Dzstd=false
259 + )
260 +
261 + if use tmpfiles || use udev; then
262 + emesonargs+=( $(meson_native_use_bool acl) )
263 + else
264 + emesonargs+=( -Dacl=false )
265 + fi
266 +
267 + if use udev; then
268 + emesonargs+=( $(meson_native_use_bool kmod) )
269 + else
270 + emesonargs+=( -Dkmod=false )
271 + fi
272 +
273 + if use elibc_musl; then
274 + # Avoid redefinition of struct ethhdr.
275 + append-cppflags -D__UAPI_DEF_ETHHDR=0
276 + fi
277 +
278 + if multilib_is_native_abi || use udev; then
279 + meson_src_configure
280 + fi
281 +}
282 +
283 +efi_arch() {
284 + case "$(tc-arch)" in
285 + amd64) echo x64 ;;
286 + arm) echo arm ;;
287 + arm64) echo aa64 ;;
288 + x86) echo x86 ;;
289 + esac
290 +}
291 +
292 +multilib_src_compile() {
293 + local targets=()
294 + if multilib_is_native_abi; then
295 + if use boot; then
296 + targets+=(
297 + bootctl
298 + kernel-install
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 + tmpfiles.d/{etc,static-nodes-permissions,var}.conf
323 + )
324 + if use test; then
325 + targets+=( test-tmpfiles )
326 + fi
327 + fi
328 + if use udev; then
329 + targets+=(
330 + udevadm
331 + systemd-hwdb
332 + src/udev/ata_id
333 + src/udev/cdrom_id
334 + src/udev/fido_id
335 + src/udev/mtd_probe
336 + src/udev/scsi_id
337 + src/udev/udev.pc
338 + src/udev/v4l_id
339 + man/udev.conf.5
340 + man/systemd.link.5
341 + man/hwdb.7
342 + man/udev.7
343 + man/systemd-hwdb.8
344 + man/systemd-udevd.service.8
345 + man/udevadm.8
346 + hwdb.d/60-autosuspend-chromiumos.hwdb
347 + rules.d/50-udev-default.rules
348 + rules.d/64-btrfs.rules
349 + )
350 + if use test; then
351 + targets+=(
352 + # Used by udev-test.pl
353 + systemd-detect-virt
354 + test/sys
355 + test-udev
356 +
357 + test-fido-id-desc
358 + test-udev-builtin
359 + test-udev-event
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 +src_install() {
428 + local rootprefix="$(usex split-usr '' /usr)"
429 + meson-multilib_src_install
430 +}
431 +
432 +multilib_src_install() {
433 + if multilib_is_native_abi; then
434 + if use boot; then
435 + into /usr
436 + dobin bootctl kernel-install
437 + doman man/{bootctl.1,kernel-install.8}
438 + insinto usr/lib/systemd/boot/efi
439 + doins src/boot/efi/{linux$(efi_arch).{efi,elf}.stub,systemd-boot$(efi_arch).efi}
440 + fi
441 + if use sysusers; then
442 + into "${rootprefix:-/}"
443 + newbin systemd-sysusers{.standalone,}
444 + doman man/{systemd-sysusers.8,sysusers.d.5}
445 + fi
446 + if use tmpfiles; then
447 + into "${rootprefix:-/}"
448 + newbin systemd-tmpfiles{.standalone,}
449 + doman man/{systemd-tmpfiles.8,tmpfiles.d.5}
450 + insinto /usr/lib/tmpfiles.d
451 + doins tmpfiles.d/{etc,static-nodes-permissions,var}.conf
452 + fi
453 + if use udev; then
454 + into "${rootprefix:-/}"
455 + dobin udevadm systemd-hwdb
456 + dosym ../../bin/udevadm "${rootprefix}"/lib/systemd/systemd-udevd
457 +
458 + exeinto "${rootprefix}"/lib/udev
459 + doexe src/udev/{ata_id,cdrom_id,fido_id,mtd_probe,scsi_id,v4l_id}
460 +
461 + insinto "${rootprefix}"/lib/udev/rules.d
462 + doins rules.d/*.rules
463 +
464 + insinto "${rootprefix}"/lib/udev/hwdb.d
465 + doins hwdb.d/*.hwdb
466 +
467 + insinto /usr/share/pkgconfig
468 + doins src/udev/udev.pc
469 +
470 + doman man/{udev.conf.5,systemd.link.5,hwdb.7,systemd-hwdb.8,udev.7,udevadm.8}
471 + newman man/systemd-udevd.service.8 systemd-udevd.8
472 + fi
473 + fi
474 + if use udev; then
475 + meson_install --no-rebuild --tags libudev
476 + gen_usr_ldscript -a udev
477 + insinto "/usr/$(get_libdir)/pkgconfig"
478 + doins src/libudev/libudev.pc
479 + fi
480 +}
481 +
482 +multilib_src_install_all() {
483 + einstalldocs
484 + if use boot; then
485 + into /usr
486 + exeinto usr/lib/kernel/install.d
487 + doexe src/kernel-install/*.install
488 + dobashcomp shell-completion/bash/bootctl
489 + insinto /usr/share/zsh/site-functions
490 + doins shell-completion/zsh/{_bootctl,_kernel-install}
491 + fi
492 + if use tmpfiles; then
493 + doinitd "${FILESDIR}"/systemd-tmpfiles-setup
494 + doinitd "${FILESDIR}"/systemd-tmpfiles-setup-dev
495 + exeinto /etc/cron.daily
496 + doexe "${FILESDIR}"/systemd-tmpfiles-clean
497 + insinto /usr/share/zsh/site-functions
498 + doins shell-completion/zsh/_systemd-tmpfiles
499 + insinto /usr/lib/tmpfiles.d
500 + doins tmpfiles.d/{tmp,x11}.conf
501 + doins "${FILESDIR}"/legacy.conf
502 + fi
503 + if use udev; then
504 + doheader src/libudev/libudev.h
505 +
506 + insinto /etc/udev
507 + doins src/udev/udev.conf
508 + keepdir /etc/udev/{hwdb.d,rules.d}
509 +
510 + insinto "${rootprefix}"/lib/systemd/network
511 + doins network/99-default.link
512 +
513 + # Remove to avoid conflict with elogind
514 + # https://bugs.gentoo.org/856433
515 + rm rules.d/70-power-switch.rules || die
516 + insinto "${rootprefix}"/lib/udev/rules.d
517 + doins rules.d/*.rules
518 + doins "${FILESDIR}"/40-gentoo.rules
519 +
520 + insinto "${rootprefix}"/lib/udev/hwdb.d
521 + doins hwdb.d/*.hwdb
522 +
523 + dobashcomp shell-completion/bash/udevadm
524 +
525 + insinto /usr/share/zsh/site-functions
526 + doins shell-completion/zsh/_udevadm
527 + fi
528 +}
529 +
530 +add_service() {
531 + local initd=$1
532 + local runlevel=$2
533 +
534 + ebegin "Adding '${initd}' service to the '${runlevel}' runlevel"
535 + mkdir -p "${EROOT}/etc/runlevels/${runlevel}" &&
536 + ln -snf "${EPREFIX}/etc/init.d/${initd}" "${EROOT}/etc/runlevels/${runlevel}/${initd}"
537 + eend $?
538 +}
539 +
540 +pkg_postinst() {
541 + if [[ -z ${REPLACING_VERSIONS} ]]; then
542 + add_service systemd-tmpfiles-setup-dev sysinit
543 + add_service systemd-tmpfiles-setup boot
544 + fi
545 + if use udev; then
546 + ebegin "Updating hwdb"
547 + systemd-hwdb --root="${ROOT}" update
548 + eend $?
549 + udev_reload
550 + fi
551 +}