Gentoo Archives: gentoo-commits

From: Mike Gilbert <floppym@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-apps/systemd-utils/
Date: Mon, 04 Jul 2022 18:47:08
Message-Id: 1656960420.b89e4d307ea8448e3cadada7d469dc57b2a3b732.floppym@gentoo
1 commit: b89e4d307ea8448e3cadada7d469dc57b2a3b732
2 Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jul 4 18:46:04 2022 +0000
4 Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
5 CommitDate: Mon Jul 4 18:47:00 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b89e4d30
7
8 sys-apps/systemd-utils: add 251.2
9
10 Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
11
12 sys-apps/systemd-utils/Manifest | 2 +
13 sys-apps/systemd-utils/systemd-utils-251.2.ebuild | 497 ++++++++++++++++++++++
14 2 files changed, 499 insertions(+)
15
16 diff --git a/sys-apps/systemd-utils/Manifest b/sys-apps/systemd-utils/Manifest
17 index 72e7b0b8e23e..0c70734cd8e9 100644
18 --- a/sys-apps/systemd-utils/Manifest
19 +++ b/sys-apps/systemd-utils/Manifest
20 @@ -1,3 +1,5 @@
21 DIST systemd-musl-patches-250.4.tar.gz 28065 BLAKE2B b8366c4bb29705e3f41f07d0105c4d252d543aaac178e968663660eeb573da034813aa50a96c74ac78ae5efeea379e00df33c5a039ec828cf93450ed23786252 SHA512 66e41fab1873021913c32e3f43300ea7babd18a36e6543838ab7fab4c44f5590c6a7414dd50c7ee81e5513b0e5aa01cb6df4231e8e06c609d63011a32b524213
22 +DIST systemd-musl-patches-251.2.tar.gz 28512 BLAKE2B 4ac6a5220dab8409962a3954af2fb2484af718d0f282129957236ce241fbe8538a90d507a96c7c3d86f4f408ab784a6888b37486405d3276e7734a1bd5aa9680 SHA512 6e56b62234ac54929faea5a7cad699d0b932f869b48e3ba4e1f349a88653b7c787efec24a09b00290c3dc566614e3c1dc2f3c04f04e943f513108a91eca1be82
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 +DIST systemd-stable-251.2.tar.gz 11434645 BLAKE2B a7e118649a7d27b789206ea9f6f2d0314e44561367506ee763a9e98fb97579b3fc49c7a402c8da142945dc98444558f0e311557f52c50863cebc7532c17c651f SHA512 0c4011b685a1e8d535af123cbaf79ab53d59ea665ca5350ab1077ad4e962b49c1fd5b1b5bb3f28c3e28145dfd02aa83023f78de5edec15afe84e3e06e742a67c
26
27 diff --git a/sys-apps/systemd-utils/systemd-utils-251.2.ebuild b/sys-apps/systemd-utils/systemd-utils-251.2.ebuild
28 new file mode 100644
29 index 000000000000..6d6a29224efa
30 --- /dev/null
31 +++ b/sys-apps/systemd-utils/systemd-utils-251.2.ebuild
32 @@ -0,0 +1,497 @@
33 +# Copyright 2022 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=8
37 +PYTHON_COMPAT=( python3_{8..11} )
38 +
39 +QA_PKGCONFIG_VERSION=$(ver_cut 1)
40 +
41 +inherit bash-completion-r1 flag-o-matic meson-multilib python-any-r1 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-251.2"
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 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/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 +TMPFILES_OPTIONAL=1
129 +UDEV_OPTIONAL=1
130 +
131 +python_check_deps() {
132 + has_version -b "dev-python/jinja[${PYTHON_USEDEP}]"
133 +}
134 +
135 +QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
136 +QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
137 +
138 +src_prepare() {
139 + local PATCHES=(
140 + )
141 + if use elibc_musl; then
142 + PATCHES+=( "${WORKDIR}/${MUSL_PATCHSET}" )
143 + fi
144 + default
145 +
146 + # Remove install_rpath; we link statically
147 + local rpath_pattern="install_rpath : rootlibexecdir,"
148 + grep -q -e "${rpath_pattern}" meson.build || die
149 + sed -i -e "/${rpath_pattern}/d" meson.build || die
150 +}
151 +
152 +multilib_src_configure() {
153 + # When bumping to 251, please keep this, but add the revert patch
154 + # like in sys-apps/systemd!
155 + #
156 + # Broken with FORTIFY_SOURCE=3 without a patch. And the patch
157 + # wasn't backported to 250.x, but it turns out to break Clang
158 + # anyway: bug #841770.
159 + #
160 + # Our toolchain sets F_S=2 by default w/ >= -O2, so we need
161 + # to unset F_S first, then explicitly set 2, to negate any default
162 + # and anything set by the user if they're choosing 3 (or if they've
163 + # modified GCC to set 3).
164 + #
165 + if is-flagq '-O[23]' || is-flagq '-Ofast' ; then
166 + # We can't unconditionally do this b/c we fortify needs
167 + # some level of optimisation.
168 + filter-flags -D_FORTIFY_SOURCE=3
169 + append-cppflags -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2
170 + fi
171 +
172 + local emesonargs=(
173 + -Drootprefix="${EPREFIX:-/}"
174 + -Drootlibdir="${EPREFIX}/usr/$(get_libdir)"
175 + -Dsysvinit-path=
176 + $(meson_native_use_bool boot efi)
177 + $(meson_native_use_bool boot gnu-efi)
178 + $(meson_native_use_bool boot kernel-install)
179 + $(meson_native_use_bool selinux)
180 + $(meson_native_use_bool sysusers)
181 + $(meson_use test tests)
182 + $(meson_native_use_bool tmpfiles)
183 + $(meson_use udev hwdb)
184 +
185 + -Defi-libdir="${ESYSROOT}/usr/$(get_libdir)"
186 +
187 + # Link staticly with libsystemd-shared
188 + -Dlink-boot-shared=false
189 + -Dlink-udev-shared=false
190 +
191 + # systemd-tmpfiles has a separate "systemd-tmpfiles.standalone" target
192 + -Dstandalone-binaries=true
193 +
194 + # Disable all optional features
195 + -Dadm-group=false
196 + -Danalyze=false
197 + -Dapparmor=false
198 + -Daudit=false
199 + -Dbacklight=false
200 + -Dbinfmt=false
201 + -Dbzip2=false
202 + -Dcoredump=false
203 + -Ddbus=false
204 + -Delfutils=false
205 + -Denvironment-d=false
206 + -Dfdisk=false
207 + -Dgcrypt=false
208 + -Dglib=false
209 + -Dgshadow=false
210 + -Dgnutls=false
211 + -Dhibernate=false
212 + -Dhostnamed=false
213 + -Didn=false
214 + -Dima=false
215 + -Dinitrd=false
216 + -Dfirstboot=false
217 + -Dldconfig=false
218 + -Dlibcryptsetup=false
219 + -Dlibcurl=false
220 + -Dlibfido2=false
221 + -Dlibidn=false
222 + -Dlibidn2=false
223 + -Dlibiptc=false
224 + -Dlocaled=false
225 + -Dlogind=false
226 + -Dlz4=false
227 + -Dmachined=false
228 + -Dmicrohttpd=false
229 + -Dnetworkd=false
230 + -Dnscd=false
231 + -Dnss-myhostname=false
232 + -Dnss-resolve=false
233 + -Dnss-systemd=false
234 + -Doomd=false
235 + -Dopenssl=false
236 + -Dp11kit=false
237 + -Dpam=false
238 + -Dpcre2=false
239 + -Dpolkit=false
240 + -Dportabled=false
241 + -Dpstore=false
242 + -Dpwquality=false
243 + -Drandomseed=false
244 + -Dresolve=false
245 + -Drfkill=false
246 + -Dseccomp=false
247 + -Dsmack=false
248 + -Dsysext=false
249 + -Dtimedated=false
250 + -Dtimesyncd=false
251 + -Dtpm=false
252 + -Dqrencode=false
253 + -Dquotacheck=false
254 + -Duserdb=false
255 + -Dutmp=false
256 + -Dvconsole=false
257 + -Dwheel-group=false
258 + -Dxdg-autostart=false
259 + -Dxkbcommon=false
260 + -Dxz=false
261 + -Dzlib=false
262 + -Dzstd=false
263 + )
264 +
265 + if use tmpfiles || use udev; then
266 + emesonargs+=( $(meson_native_use_bool acl) )
267 + else
268 + emesonargs+=( -Dacl=false )
269 + fi
270 +
271 + if use udev; then
272 + emesonargs+=( $(meson_native_use_bool kmod) )
273 + else
274 + emesonargs+=( -Dkmod=false )
275 + fi
276 +
277 + if use elibc_musl; then
278 + # Avoid redefinition of struct ethhdr.
279 + append-cppflags -D__UAPI_DEF_ETHHDR=0
280 + fi
281 +
282 + if multilib_is_native_abi || use udev; then
283 + meson_src_configure
284 + fi
285 +}
286 +
287 +efi_arch() {
288 + case "$(tc-arch)" in
289 + amd64) echo x64 ;;
290 + arm) echo arm ;;
291 + arm64) echo aa64 ;;
292 + x86) echo x86 ;;
293 + esac
294 +}
295 +
296 +multilib_src_compile() {
297 + local targets=()
298 + if multilib_is_native_abi; then
299 + if use boot; then
300 + targets+=(
301 + bootctl
302 + kernel-install
303 + man/bootctl.1
304 + man/kernel-install.8
305 + src/boot/efi/linux$(efi_arch).{efi,elf}.stub
306 + src/boot/efi/systemd-boot$(efi_arch).efi
307 + )
308 + fi
309 + if use sysusers; then
310 + targets+=(
311 + systemd-sysusers.standalone
312 + man/sysusers.d.5
313 + man/systemd-sysusers.8
314 + )
315 + if use test; then
316 + targets+=(
317 + systemd-runtest.env
318 + )
319 + fi
320 + fi
321 + if use tmpfiles; then
322 + targets+=(
323 + systemd-tmpfiles.standalone
324 + man/tmpfiles.d.5
325 + man/systemd-tmpfiles.8
326 + )
327 + if use test; then
328 + targets+=( test-tmpfiles )
329 + fi
330 + fi
331 + if use udev; then
332 + targets+=(
333 + udevadm
334 + systemd-hwdb
335 + src/udev/ata_id
336 + src/udev/cdrom_id
337 + src/udev/fido_id
338 + src/udev/mtd_probe
339 + src/udev/scsi_id
340 + src/udev/udev.pc
341 + src/udev/v4l_id
342 + man/udev.conf.5
343 + man/systemd.link.5
344 + man/hwdb.7
345 + man/udev.7
346 + man/systemd-hwdb.8
347 + man/systemd-udevd.service.8
348 + man/udevadm.8
349 + hwdb.d/60-autosuspend-chromiumos.hwdb
350 + rules.d/50-udev-default.rules
351 + rules.d/64-btrfs.rules
352 + )
353 + if use test; then
354 + targets+=(
355 + # Used by udev-test.pl
356 + systemd-detect-virt
357 + test/sys
358 + test-udev
359 +
360 + test-fido-id-desc
361 + test-udev-builtin
362 + test-udev-event
363 + test-udev-netlink
364 + test-udev-node
365 + test-udev-util
366 + )
367 + fi
368 + fi
369 + fi
370 + if use udev; then
371 + targets+=(
372 + udev:shared_library
373 + src/libudev/libudev.pc
374 + )
375 + if use test; then
376 + targets+=(
377 + test-libudev
378 + test-libudev-sym
379 + test-udev-device-thread
380 + )
381 + fi
382 + fi
383 + if multilib_is_native_abi || use udev; then
384 + meson_src_compile "${targets[@]}"
385 + fi
386 +}
387 +
388 +multilib_src_test() {
389 + local tests=()
390 + if multilib_is_native_abi; then
391 + if use sysusers; then
392 + tests+=(
393 + test-sysusers.standalone
394 + )
395 + fi
396 + if use tmpfiles; then
397 + tests+=(
398 + test-systemd-tmpfiles.standalone
399 + test-tmpfiles
400 + )
401 + fi
402 + if use udev; then
403 + tests+=(
404 + rule-syntax-check
405 + test-fido-id-desc
406 + test-udev-builtin
407 + test-udev-event
408 + test-udev-netlink
409 + test-udev-node
410 + test-udev-util
411 + )
412 + if [[ -w /dev ]]; then
413 + tests+=( udev-test )
414 + else
415 + ewarn "Skipping udev-test (needs write access to /dev)"
416 + fi
417 + fi
418 + fi
419 + if use udev; then
420 + tests+=(
421 + test-libudev
422 + test-libudev-sym
423 + test-udev-device-thread
424 + )
425 + fi
426 + if [[ ${#tests[@]} -ne 0 ]]; then
427 + meson_src_test "${tests[@]}"
428 + fi
429 +}
430 +
431 +multilib_src_install() {
432 + if multilib_is_native_abi; then
433 + if use boot; then
434 + into /usr
435 + dobin bootctl kernel-install
436 + doman man/{bootctl.1,kernel-install.8}
437 + insinto usr/lib/systemd/boot/efi
438 + doins src/boot/efi/{linux$(efi_arch).{efi,elf}.stub,systemd-boot$(efi_arch).efi}
439 + fi
440 + if use sysusers; then
441 + into /
442 + newbin systemd-sysusers{.standalone,}
443 + doman man/{systemd-sysusers.8,sysusers.d.5}
444 + fi
445 + if use tmpfiles; then
446 + into /
447 + newbin systemd-tmpfiles{.standalone,}
448 + doman man/{systemd-tmpfiles.8,tmpfiles.d.5}
449 + fi
450 + if use udev; then
451 + into /
452 + dobin udevadm systemd-hwdb
453 + dosym ../../bin/udevadm /lib/systemd/systemd-udevd
454 + exeinto /lib/udev
455 + doexe src/udev/{ata_id,cdrom_id,fido_id,mtd_probe,scsi_id,v4l_id}
456 + insinto /lib/udev/rules.d
457 + doins rules.d/*.rules
458 + insinto /lib/udev/hwdb.d
459 + doins hwdb.d/*.hwdb
460 + insinto /usr/share/pkgconfig
461 + doins src/udev/udev.pc
462 + doman man/{udev.conf.5,systemd.link.5,hwdb.7,systemd-hwdb.8,udev.7,udevadm.8}
463 + newman man/systemd-udevd.service.8 systemd-udevd.8
464 + fi
465 + fi
466 + if use udev; then
467 + meson_install --no-rebuild --tags libudev
468 + gen_usr_ldscript -a udev
469 + insinto "/usr/$(get_libdir)/pkgconfig"
470 + doins src/libudev/libudev.pc
471 + fi
472 +}
473 +
474 +multilib_src_install_all() {
475 + einstalldocs
476 + if use boot; then
477 + into /usr
478 + exeinto usr/lib/kernel/install.d
479 + doexe src/kernel-install/*.install
480 + dobashcomp shell-completion/bash/bootctl
481 + insinto /usr/share/zsh/site-functions
482 + doins shell-completion/zsh/{_bootctl,_kernel-install}
483 + fi
484 + if use tmpfiles; then
485 + doinitd "${FILESDIR}"/systemd-tmpfiles-setup
486 + doinitd "${FILESDIR}"/systemd-tmpfiles-setup-dev
487 + insinto /usr/share/zsh/site-functions
488 + doins shell-completion/zsh/_systemd-tmpfiles
489 + fi
490 + if use udev; then
491 + doheader src/libudev/libudev.h
492 + insinto /etc/udev
493 + doins src/udev/udev.conf
494 + keepdir /etc/udev/{hwdb.d,rules.d}
495 + insinto /lib/systemd/network
496 + doins network/99-default.link
497 + insinto /lib/udev/rules.d
498 + doins rules.d/*.rules
499 + doins "${FILESDIR}"/40-gentoo.rules
500 + insinto /lib/udev/hwdb.d
501 + doins hwdb.d/*.hwdb
502 + dobashcomp shell-completion/bash/udevadm
503 + insinto /usr/share/zsh/site-functions
504 + doins shell-completion/zsh/_udevadm
505 + fi
506 +}
507 +
508 +add_service() {
509 + local initd=$1
510 + local runlevel=$2
511 +
512 + ebegin "Adding '${initd}' service to the '${runlevel}' runlevel"
513 + mkdir -p "${EROOT}/etc/runlevels/${runlevel}" &&
514 + ln -snf "${EPREFIX}/etc/init.d/${initd}" "${EROOT}/etc/runlevels/${runlevel}/${initd}"
515 + eend $?
516 +}
517 +
518 +pkg_postinst() {
519 + if [[ -z ${REPLACING_VERSIONS} ]]; then
520 + add_service systemd-tmpfiles-setup-dev sysinit
521 + add_service systemd-tmpfiles-setup boot
522 + fi
523 + if use udev; then
524 + ebegin "Updating hwdb"
525 + systemd-hwdb --root="${ROOT}" update
526 + eend $?
527 + udev_reload
528 + fi
529 +}