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