27 |
27 |
fi
|
28 |
28 |
|
29 |
29 |
inherit bash-completion-r1 linux-info meson-multilib pam python-single-r1
|
30 |
|
inherit secureboot systemd toolchain-funcs udev usr-ldscript
|
|
30 |
inherit secureboot systemd toolchain-funcs udev
|
31 |
31 |
|
32 |
32 |
DESCRIPTION="System and service manager for Linux"
|
33 |
33 |
HOMEPAGE="http://systemd.io/"
|
... | ... | |
181 |
181 |
QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
|
182 |
182 |
|
183 |
183 |
pkg_pretend() {
|
|
184 |
if use split-usr; then
|
|
185 |
eerror "Please complete the migration to merged-usr."
|
|
186 |
eerror "https://wiki.gentoo.org/wiki/Merge-usr"
|
|
187 |
die "systemd no longer supports split-usr"
|
|
188 |
fi
|
184 |
189 |
if [[ ${MERGE_TYPE} != buildonly ]]; then
|
185 |
190 |
if use test && has pid-sandbox ${FEATURES}; then
|
186 |
191 |
ewarn "Tests are known to fail with PID sandboxing enabled."
|
... | ... | |
240 |
245 |
|
241 |
246 |
src_prepare() {
|
242 |
247 |
local PATCHES=(
|
243 |
|
"${FILESDIR}/systemd-253-initrd-generators.patch"
|
244 |
248 |
)
|
245 |
249 |
|
246 |
250 |
if ! use vanilla; then
|
... | ... | |
250 |
254 |
)
|
251 |
255 |
fi
|
252 |
256 |
|
253 |
|
# Fails with split-usr.
|
254 |
|
sed -i -e '2i exit 77' test/test-rpm-macros.sh || die
|
255 |
|
|
256 |
257 |
default
|
257 |
258 |
}
|
258 |
259 |
|
... | ... | |
272 |
273 |
-Dpamlibdir="$(getpam_mod_dir)"
|
273 |
274 |
# avoid bash-completion dep
|
274 |
275 |
-Dbashcompletiondir="$(get_bashcompdir)"
|
275 |
|
$(meson_use split-usr)
|
276 |
|
$(meson_use split-usr split-bin)
|
277 |
|
-Drootprefix="$(usex split-usr "${EPREFIX:-/}" "${EPREFIX}/usr")"
|
278 |
|
-Drootlibdir="${EPREFIX}/usr/$(get_libdir)"
|
|
276 |
-Dsplit-bin=false
|
279 |
277 |
# Disable compatibility with sysvinit
|
280 |
278 |
-Dsysvinit-path=
|
281 |
279 |
-Dsysvrcnd-path=
|
... | ... | |
357 |
355 |
}
|
358 |
356 |
|
359 |
357 |
multilib_src_install_all() {
|
360 |
|
local rootprefix=$(usex split-usr '' /usr)
|
361 |
|
local sbin=$(usex split-usr sbin bin)
|
362 |
|
|
363 |
358 |
# meson doesn't know about docdir
|
364 |
359 |
mv "${ED}"/usr/share/doc/{systemd,${PF}} || die
|
365 |
360 |
|
... | ... | |
370 |
365 |
doins "${FILESDIR}"/legacy.conf
|
371 |
366 |
|
372 |
367 |
if ! use resolvconf; then
|
373 |
|
rm -f "${ED}${rootprefix}/${sbin}"/resolvconf || die
|
|
368 |
rm -f "${ED}"/usr/bin/resolvconf || die
|
374 |
369 |
fi
|
375 |
370 |
|
376 |
371 |
if ! use sysv-utils; then
|
377 |
|
rm "${ED}${rootprefix}/${sbin}"/{halt,init,poweroff,reboot,shutdown} || die
|
|
372 |
rm "${ED}"/usr/bin/{halt,init,poweroff,reboot,shutdown} || die
|
378 |
373 |
rm "${ED}"/usr/share/man/man1/init.1 || die
|
379 |
374 |
rm "${ED}"/usr/share/man/man8/{halt,poweroff,reboot,shutdown}.8 || die
|
380 |
375 |
fi
|
... | ... | |
390 |
385 |
|
391 |
386 |
keepdir /etc/udev/hwdb.d
|
392 |
387 |
|
393 |
|
keepdir "${rootprefix}"/lib/systemd/{system-sleep,system-shutdown}
|
|
388 |
keepdir /usr/lib/systemd/{system-sleep,system-shutdown}
|
394 |
389 |
keepdir /usr/lib/{binfmt.d,modules-load.d}
|
395 |
390 |
keepdir /usr/lib/systemd/user-generators
|
396 |
391 |
keepdir /var/lib/systemd
|
... | ... | |
400 |
395 |
newpamd "${FILESDIR}"/systemd-user.pam systemd-user
|
401 |
396 |
fi
|
402 |
397 |
|
403 |
|
if use split-usr; then
|
404 |
|
# Avoid breaking boot/reboot
|
405 |
|
dosym ../../../lib/systemd/systemd /usr/lib/systemd/systemd
|
406 |
|
dosym ../../../lib/systemd/systemd-shutdown /usr/lib/systemd/systemd-shutdown
|
407 |
|
fi
|
408 |
|
|
409 |
|
gen_usr_ldscript -a systemd udev
|
410 |
|
|
411 |
398 |
if use boot; then
|
412 |
399 |
python_fix_shebang "${ED}"
|
413 |
400 |
secureboot_auto_sign
|
... | ... | |
464 |
451 |
dosym ../../../etc/sysctl.conf /usr/lib/sysctl.d/99-sysctl.conf
|
465 |
452 |
fi
|
466 |
453 |
|
467 |
|
if ! use split-usr; then
|
468 |
|
local dir
|
469 |
|
for dir in bin sbin lib usr/sbin; do
|
470 |
|
if [[ ! -L ${EROOT}/${dir} ]]; then
|
471 |
|
eerror "'${EROOT}/${dir}' is not a symbolic link."
|
472 |
|
FAIL=1
|
473 |
|
fi
|
474 |
|
done
|
475 |
|
if [[ ${FAIL} ]]; then
|
476 |
|
eerror "Migration to system layout with merged directories must be performed before"
|
477 |
|
eerror "installing ${CATEGORY}/${PN} with USE=\"-split-usr\" to avoid run-time breakage."
|
478 |
|
die "System layout with split directories still used"
|
479 |
|
fi
|
480 |
|
fi
|
481 |
454 |
if ! use boot && has_version "sys-apps/systemd[gnuefi(-)]"; then
|
482 |
455 |
ewarn "The 'gnuefi' USE flag has been renamed to 'boot'."
|
483 |
456 |
ewarn "Make sure to enable the 'boot' USE flag if you use systemd-boot."
|