mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-05 12:38:09 -07:00
sys-apps/systemd-utils: drop 260-r1, 260.1
Signed-off-by: Mike Gilbert <floppym@gentoo.org>
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
DIST systemd-259.3.tar.gz 17285135 BLAKE2B 81a66ec1aadeef14ca8fd53b23a8ebeb9fa23aed4298419fb5cb612c7a8f1b4c33f391a643e4d313dbef0385c339726c8f327306785852c8427416009c944f8d SHA512 ea7314fcde3c0e541c9399f2d165f114bd7bf37cec294680964352da374435ddd3949432f939f35ecb49f0ce6a3b7aaaddf2b65cc8107abc65e2ec3806c99dac
|
||||
DIST systemd-259.4.tar.gz 17336661 BLAKE2B 5e90410698e21e8fc8f5f22e3e26858f51d2cdfc362870f09ecccf8ed882602cdcef2614843738b14601349b05cfd3a8358a1771fc1fcd8e75d831940a8683c8 SHA512 bf572f92b0b01ecaf08f36ea5e13a2c05a79e6c0c2d9ef191855d1b83ae791a2977841ca85541ace1d30945d5f879d703d390767f708294986b29aeda1449b1f
|
||||
DIST systemd-260.1.tar.gz 17581096 BLAKE2B 072424e7288f8796be1e6952fadc5452c2ab54633b356796a29872609a03b4cc2edbc0cac0df7542bc969b06d265d2cbf52f9174742c5a570a5a3d7a7664cfa8 SHA512 9f975dce6861853a817a7ceab18a24449a85d1bda6939b3a5173430c02a4d8a9a2b34ebb8cce1c51db9b0ff9078fcc65da7b0f44e3bdcbbe013b9e04bb6f0ff9
|
||||
DIST systemd-260.tar.gz 17577889 BLAKE2B 75db560c9d4d8f9ba24f46f70e38a9adc4f8be6ce08a04c900b1d3557739288faf85372b5b1943c59d9be13cdb8dc0fefe09aecb9310211ec479253c7e1aa12b SHA512 2b81a327319c6b06c04742aa8ee5f36ebc7b78aa6db2a82f2a7376fda8bf2079bfc418db290b0522e1d01a3449b3a4e847ebe22d260cc83aeb86a7a4de714d41
|
||||
DIST systemd-musl-patches-255.14.tar.gz 31519 BLAKE2B 1ada38b3536370f3f20f94abb122b6dc72e2dac6d34baad49ae0c154810197dab6d225457f81c2b78c58cf7fe14070da9ca1902bec6d8f892d55394af67155b5 SHA512 ff9cb11f687e7895b93b55933c330f69067546d48cc0f23a029990e095245c78e046023636f82d11fec1b03a5349d4d747c9625fd34ef7f9445a54a44b25cccb
|
||||
DIST systemd-stable-255.18.tar.gz 15258834 BLAKE2B 03b97b0bb6f5cd8f93bf72c40cf52426c07ab5fa74bd19caf771d54e823fa321de633ef3cc6e482210250c1408e092a6dae6710e992ac2a4b3c5e9670d803adc SHA512 4550fa313a45b277dc32df74a13cfd06486ced724f40c1eebc61a9ba76f79b58dd4372da851710cb5d8bb13e98a5cfcb377fe22171ef5bee0209f4bf067c87ad
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
https://bugs.gentoo.org/971388
|
||||
https://github.com/systemd/systemd/pull/41225
|
||||
|
||||
From 54db03334813a16721fa96c59b884f1591c758b5 Mon Sep 17 00:00:00 2001
|
||||
From: Robin Ebert <ebertrobin2002@gmail.com>
|
||||
Date: Fri, 20 Mar 2026 13:32:04 +0100
|
||||
Subject: [PATCH] kernel-install: fix assert in context_copy
|
||||
|
||||
(cherry picked from commit 55e7dc5ce4999ba9f01499dccdeba0235a86aaa4)
|
||||
---
|
||||
src/kernel-install/kernel-install.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/kernel-install/kernel-install.c b/src/kernel-install/kernel-install.c
|
||||
index a38dcaab8b556..618fa746c9bed 100644
|
||||
--- a/src/kernel-install/kernel-install.c
|
||||
+++ b/src/kernel-install/kernel-install.c
|
||||
@@ -152,10 +152,10 @@ static int context_copy(const Context *source, Context *ret) {
|
||||
|
||||
assert(source);
|
||||
assert(ret);
|
||||
- assert(source->rfd >= 0 || source->rfd == AT_FDCWD);
|
||||
+ assert(source->rfd >= 0 || source->rfd == AT_FDCWD || source->rfd == XAT_FDROOT);
|
||||
|
||||
_cleanup_(context_done) Context copy = (Context) {
|
||||
- .rfd = AT_FDCWD,
|
||||
+ .rfd = source->rfd,
|
||||
.action = source->action,
|
||||
.machine_id = source->machine_id,
|
||||
.machine_id_is_random = source->machine_id_is_random,
|
||||
@@ -1,397 +0,0 @@
|
||||
# Copyright 2022-2026 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
PYTHON_COMPAT=( python3_{11..14} )
|
||||
QA_PKGCONFIG_VERSION=$(ver_cut 1)
|
||||
|
||||
# Avoid QA warnings about these eclasses
|
||||
TMPFILES_OPTIONAL=1
|
||||
UDEV_OPTIONAL=1
|
||||
|
||||
inherit linux-info meson-multilib
|
||||
inherit python-single-r1 secureboot shell-completion udev
|
||||
|
||||
DESCRIPTION="Utilities split out from systemd for OpenRC users"
|
||||
HOMEPAGE="https://systemd.io/"
|
||||
|
||||
MY_P="systemd-${PV}"
|
||||
SRC_URI="https://github.com/systemd/systemd/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
IUSE="+acl boot +kmod kernel-install selinux split-usr sysusers +tmpfiles test +udev ukify"
|
||||
REQUIRED_USE="
|
||||
|| ( kernel-install tmpfiles sysusers udev )
|
||||
boot? ( kernel-install )
|
||||
ukify? ( boot )
|
||||
${PYTHON_REQUIRED_USE}
|
||||
"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
selinux? ( sys-libs/libselinux:0= )
|
||||
tmpfiles? (
|
||||
acl? ( sys-apps/acl )
|
||||
)
|
||||
udev? (
|
||||
>=sys-apps/util-linux-2.37
|
||||
acl? ( sys-apps/acl )
|
||||
kmod? ( >=sys-apps/kmod-15 )
|
||||
)
|
||||
"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
>=sys-kernel/linux-headers-3.11
|
||||
"
|
||||
|
||||
PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]'
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
boot? ( !<sys-boot/systemd-boot-250 )
|
||||
ukify? (
|
||||
${PYTHON_DEPS}
|
||||
$(python_gen_cond_dep "${PEFILE_DEPEND}")
|
||||
)
|
||||
tmpfiles? ( !<sys-apps/systemd-tmpfiles-250 )
|
||||
udev? (
|
||||
acct-group/audio
|
||||
acct-group/cdrom
|
||||
acct-group/dialout
|
||||
acct-group/disk
|
||||
acct-group/floppy
|
||||
acct-group/input
|
||||
acct-group/kmem
|
||||
acct-group/kvm
|
||||
acct-group/lp
|
||||
acct-group/render
|
||||
acct-group/sgx
|
||||
acct-group/tape
|
||||
acct-group/tty
|
||||
acct-group/usb
|
||||
acct-group/video
|
||||
!sys-apps/gentoo-systemd-integration
|
||||
!<sys-fs/udev-250
|
||||
!sys-fs/eudev
|
||||
)
|
||||
!sys-apps/systemd
|
||||
"
|
||||
PDEPEND="
|
||||
udev? ( >=sys-fs/udev-init-scripts-34 )
|
||||
"
|
||||
BDEPEND="
|
||||
app-text/docbook-xml-dtd:4.2
|
||||
app-text/docbook-xml-dtd:4.5
|
||||
app-text/docbook-xsl-stylesheets
|
||||
dev-libs/libxslt
|
||||
dev-util/gperf
|
||||
dev-util/patchelf
|
||||
>=sys-apps/coreutils-8.16
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
$(python_gen_cond_dep "
|
||||
dev-python/jinja2[\${PYTHON_USEDEP}]
|
||||
boot? (
|
||||
>=dev-python/pyelftools-0.30[\${PYTHON_USEDEP}]
|
||||
test? ( ${PEFILE_DEPEND} )
|
||||
)
|
||||
")
|
||||
"
|
||||
|
||||
QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
|
||||
QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
|
||||
|
||||
CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED
|
||||
~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~UNIX"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/systemd-260-mips.patch"
|
||||
"${FILESDIR}/systemd-260-kernel-install.patch"
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
if [[ ${MERGE_TYPE} != buildonly ]] && use udev; then
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
use boot && secureboot_pkg_setup
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
python_setup
|
||||
meson-multilib_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local emesonargs=(
|
||||
--auto-features=disabled
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
-Ddocdir="share/doc/${PF}"
|
||||
|
||||
# default is developer, bug 918671
|
||||
-Dmode=release
|
||||
-Dlibc=$(usex elibc_musl musl glibc)
|
||||
|
||||
$(meson_native_use_feature boot bootloader)
|
||||
$(meson_native_use_bool kernel-install)
|
||||
$(meson_native_enabled man)
|
||||
$(meson_native_use_feature selinux)
|
||||
$(meson_use split-usr split-bin)
|
||||
$(meson_native_use_bool sysusers)
|
||||
$(meson_native_use_bool tmpfiles)
|
||||
$(meson_native_use_feature udev blkid)
|
||||
$(meson_native_use_feature udev libmount)
|
||||
$(meson_use udev hwdb)
|
||||
$(meson_native_use_feature ukify)
|
||||
|
||||
-Dadm-group=false
|
||||
-Danalyze=false
|
||||
-Dbacklight=false
|
||||
-Dbinfmt=false
|
||||
-Dcreate-log-dirs=false
|
||||
-Dcoredump=false
|
||||
-Ddns-over-tls=false
|
||||
-Denvironment-d=false
|
||||
-Dhibernate=false
|
||||
-Dhostnamed=false
|
||||
-Didn=false
|
||||
-Dima=false
|
||||
-Dinitrd=false
|
||||
-Dipe=false
|
||||
-Dfirstboot=false
|
||||
-Dldconfig=false
|
||||
-Dlocaled=false
|
||||
-Dlogind=false
|
||||
-Dmachined=false
|
||||
-Dmountfsd=false
|
||||
-Dnetworkd=false
|
||||
-Dnsresourced=false
|
||||
-Dnss-myhostname=false
|
||||
-Dnss-systemd=false
|
||||
-Doomd=false
|
||||
-Dportabled=false
|
||||
-Dpstore=false
|
||||
-Dquotacheck=false
|
||||
-Drandomseed=false
|
||||
-Dresolve=false
|
||||
-Drfkill=false
|
||||
-Dsmack=false
|
||||
-Dstoragetm=false
|
||||
-Dsysext=false
|
||||
-Dtimedated=false
|
||||
-Dtimesyncd=false
|
||||
-Dtpm=false
|
||||
-Durlify=false
|
||||
-Duserdb=false
|
||||
-Dutmp=false
|
||||
-Dvconsole=false
|
||||
-Dwheel-group=false
|
||||
-Dxdg-autostart=false
|
||||
|
||||
-Dbashcompletiondir=no
|
||||
-Ddbus-interfaces-dir=no
|
||||
-Drpmmacrosdir=no
|
||||
-Dshellprofiledir=no
|
||||
-Dsshconfdir=no
|
||||
-Dsshdconfdir=no
|
||||
-Dsshdprivsepdir=no
|
||||
-Dzshcompletiondir=no
|
||||
)
|
||||
|
||||
# workaround for bug 969103
|
||||
if [[ ${CHOST} == riscv32* ]] ; then
|
||||
emesonargs+=( -Dtests=true )
|
||||
else
|
||||
emesonargs+=( $(meson_use test tests) )
|
||||
fi
|
||||
|
||||
if use tmpfiles || use udev; then
|
||||
emesonargs+=( $(meson_native_use_feature acl) )
|
||||
fi
|
||||
|
||||
if use udev; then
|
||||
emesonargs+=( $(meson_native_use_feature kmod) )
|
||||
fi
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
if multilib_is_native_abi; then
|
||||
meson_src_compile
|
||||
elif use udev; then
|
||||
meson_src_compile libudev src/libudev/libudev.pc
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
local args=()
|
||||
use udev && args+=( --suite libudev )
|
||||
if multilib_is_native_abi; then
|
||||
use boot && args+=( --suite boot )
|
||||
use kernel-install && args+=( --suite kernel-install )
|
||||
use sysusers && args+=( --suite sysusers )
|
||||
use tmpfiles && args+=( --suite tmpfiles )
|
||||
use udev && args+=( --suite udev )
|
||||
fi
|
||||
if [[ ${#args[@]} -gt 0 ]]; then
|
||||
meson_src_test "${args[@]}"
|
||||
fi
|
||||
}
|
||||
|
||||
installx() {
|
||||
local dir f
|
||||
for f in "$@"; do
|
||||
dir="${f%/*}"
|
||||
dir="/${dir#/}"
|
||||
dodir "${dir}"
|
||||
mv -v "${ed}"/${f#/} "${ED}${dir}/" || die
|
||||
done
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
local d="${WORKDIR}/install"
|
||||
local ed="${d}${EPREFIX}"
|
||||
|
||||
if use udev; then
|
||||
meson_install --no-rebuild --tags libudev
|
||||
insinto "/usr/$(get_libdir)/pkgconfig"
|
||||
doins src/libudev/libudev.pc
|
||||
fi
|
||||
|
||||
multilib_is_native_abi || return
|
||||
|
||||
meson_install --no-rebuild --destdir "${d}"
|
||||
|
||||
installx "usr/$(get_libdir)/systemd/libsystemd-shared-${PV%%.*}.so"
|
||||
installx usr/share/locale
|
||||
installx usr/lib/sysctl.d
|
||||
|
||||
if use boot; then
|
||||
installx usr/bin/bootctl
|
||||
installx usr/share/man/man1/bootctl.1
|
||||
installx usr/lib/systemd/boot
|
||||
fi
|
||||
|
||||
if use kernel-install; then
|
||||
installx usr/bin/kernel-install
|
||||
installx usr/share/man/man8/kernel-install.8
|
||||
installx usr/lib/kernel
|
||||
fi
|
||||
|
||||
if use sysusers; then
|
||||
installx usr/bin/systemd-sysusers
|
||||
installx usr/share/man/{man5/sysusers.d.5,man8/systemd-sysusers.8}
|
||||
fi
|
||||
|
||||
if use tmpfiles; then
|
||||
installx usr/bin/systemd-tmpfiles
|
||||
installx usr/lib/tmpfiles.d/{etc,home,static-nodes-permissions,var}.conf
|
||||
installx usr/share/man/{man5/tmpfiles.d.5,man8/systemd-tmpfiles.8}
|
||||
fi
|
||||
|
||||
if use udev; then
|
||||
installx etc/udev
|
||||
installx usr/bin/systemd-hwdb
|
||||
installx usr/bin/udevadm
|
||||
if use split-usr; then
|
||||
# elogind installs udev rules that hard-code /bin/udevadm
|
||||
dosym ../usr/bin/udevadm /bin/udevadm
|
||||
fi
|
||||
installx usr/lib/systemd/systemd-sysctl
|
||||
installx usr/lib/systemd/systemd-udevd
|
||||
installx usr/lib/systemd/network/99-default.link
|
||||
installx usr/lib/udev
|
||||
installx usr/share/pkgconfig/udev.pc
|
||||
installx usr/share/man/man5/{iocost.conf.5,systemd.link.5,udev.conf.5}
|
||||
installx usr/share/man/man7/{hwdb.7,udev.7}
|
||||
installx usr/share/man/man8/{systemd-hwdb.8,udevadm.8}
|
||||
mv -v "${ed}"/usr/share/man/man8/systemd-udevd.service.8 \
|
||||
"${ED}"/usr/share/man/man8/systemd-udevd.8 || die
|
||||
installx usr/share/man/man3/libudev.3 "usr/share/man/man3/udev_*"
|
||||
fi
|
||||
|
||||
if use ukify; then
|
||||
installx usr/bin/ukify usr/lib/systemd/ukify
|
||||
installx usr/share/man/man1/ukify.1
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
|
||||
if use boot; then
|
||||
dobashcomp shell-completion/bash/bootctl
|
||||
dozshcomp shell-completion/zsh/_bootctl
|
||||
fi
|
||||
|
||||
if use kernel-install; then
|
||||
dobashcomp shell-completion/bash/kernel-install
|
||||
dozshcomp shell-completion/zsh/_kernel-install
|
||||
|
||||
# Dummy config, remove to make room for sys-kernel/installkernel
|
||||
rm "${ED}/usr/lib/kernel/install.conf" || die
|
||||
fi
|
||||
|
||||
if use tmpfiles; then
|
||||
#dobashcomp shell-completion/zsh/systemd-tmpfiles
|
||||
dozshcomp shell-completion/zsh/_systemd-tmpfiles
|
||||
insinto /usr/lib/tmpfiles.d
|
||||
doins "${FILESDIR}"/{legacy,tmp}.conf
|
||||
doinitd "${FILESDIR}"/systemd-tmpfiles-setup
|
||||
doinitd "${FILESDIR}"/systemd-tmpfiles-setup-dev
|
||||
exeinto /etc/cron.daily
|
||||
doexe "${FILESDIR}"/systemd-tmpfiles-clean
|
||||
fi
|
||||
|
||||
if use udev; then
|
||||
doheader src/libudev/libudev.h
|
||||
dobashcomp shell-completion/bash/udevadm
|
||||
dozshcomp shell-completion/zsh/_udevadm
|
||||
# Avoid udev_dorules to avoid picking up stale udevdir from pkg-config
|
||||
insinto /usr/lib/udev/rules.d
|
||||
doins "${FILESDIR}"/40-gentoo.rules
|
||||
fi
|
||||
|
||||
use ukify && python_fix_shebang "${ED}"
|
||||
use boot && secureboot_auto_sign
|
||||
}
|
||||
|
||||
add_service() {
|
||||
local initd=$1
|
||||
local runlevel=$2
|
||||
|
||||
ebegin "Adding '${initd}' service to the '${runlevel}' runlevel"
|
||||
mkdir -p "${EROOT}/etc/runlevels/${runlevel}" &&
|
||||
ln -snf "${EPREFIX}/etc/init.d/${initd}" "${EROOT}/etc/runlevels/${runlevel}/${initd}"
|
||||
eend $?
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
# Migrate /lib/{systemd,udev} to /usr/lib
|
||||
if use split-usr; then
|
||||
local d
|
||||
for d in systemd udev; do
|
||||
dosym ../usr/lib/${d} /lib/${d}
|
||||
if [[ -e ${EROOT}/lib/${d} && ! -L ${EROOT}/lib/${d} ]]; then
|
||||
einfo "Copying files from '${EROOT}/lib/${d}' to '${EROOT}/usr/lib/${d}'"
|
||||
cp -rpPT "${EROOT}/lib/${d}" "${EROOT}/usr/lib/${d}" || die
|
||||
einfo "Removing '${EROOT}/lib/${d}'"
|
||||
rm -r "${EROOT}/lib/${d}" || die
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -z ${REPLACING_VERSIONS} ]]; then
|
||||
add_service systemd-tmpfiles-setup-dev sysinit
|
||||
add_service systemd-tmpfiles-setup boot
|
||||
fi
|
||||
if use udev; then
|
||||
ebegin "Updating hwdb"
|
||||
systemd-hwdb --root="${ROOT}" update
|
||||
eend $?
|
||||
udev_reload
|
||||
fi
|
||||
}
|
||||
@@ -1,395 +0,0 @@
|
||||
# Copyright 2022-2026 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
PYTHON_COMPAT=( python3_{11..14} )
|
||||
QA_PKGCONFIG_VERSION=$(ver_cut 1)
|
||||
|
||||
# Avoid QA warnings about these eclasses
|
||||
TMPFILES_OPTIONAL=1
|
||||
UDEV_OPTIONAL=1
|
||||
|
||||
inherit linux-info meson-multilib
|
||||
inherit python-single-r1 secureboot shell-completion udev
|
||||
|
||||
DESCRIPTION="Utilities split out from systemd for OpenRC users"
|
||||
HOMEPAGE="https://systemd.io/"
|
||||
|
||||
MY_P="systemd-${PV}"
|
||||
SRC_URI="https://github.com/systemd/systemd/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2.1 MIT public-domain"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
IUSE="+acl boot +kmod kernel-install selinux split-usr sysusers +tmpfiles test +udev ukify"
|
||||
REQUIRED_USE="
|
||||
|| ( kernel-install tmpfiles sysusers udev )
|
||||
boot? ( kernel-install )
|
||||
ukify? ( boot )
|
||||
${PYTHON_REQUIRED_USE}
|
||||
"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
selinux? ( sys-libs/libselinux:0= )
|
||||
tmpfiles? (
|
||||
acl? ( sys-apps/acl )
|
||||
)
|
||||
udev? (
|
||||
>=sys-apps/util-linux-2.37
|
||||
acl? ( sys-apps/acl )
|
||||
kmod? ( >=sys-apps/kmod-15 )
|
||||
)
|
||||
"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
>=sys-kernel/linux-headers-3.11
|
||||
"
|
||||
|
||||
PEFILE_DEPEND='dev-python/pefile[${PYTHON_USEDEP}]'
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
boot? ( !<sys-boot/systemd-boot-250 )
|
||||
ukify? (
|
||||
${PYTHON_DEPS}
|
||||
$(python_gen_cond_dep "${PEFILE_DEPEND}")
|
||||
)
|
||||
tmpfiles? ( !<sys-apps/systemd-tmpfiles-250 )
|
||||
udev? (
|
||||
acct-group/audio
|
||||
acct-group/cdrom
|
||||
acct-group/dialout
|
||||
acct-group/disk
|
||||
acct-group/floppy
|
||||
acct-group/input
|
||||
acct-group/kmem
|
||||
acct-group/kvm
|
||||
acct-group/lp
|
||||
acct-group/render
|
||||
acct-group/sgx
|
||||
acct-group/tape
|
||||
acct-group/tty
|
||||
acct-group/usb
|
||||
acct-group/video
|
||||
!sys-apps/gentoo-systemd-integration
|
||||
!<sys-fs/udev-250
|
||||
!sys-fs/eudev
|
||||
)
|
||||
!sys-apps/systemd
|
||||
"
|
||||
PDEPEND="
|
||||
udev? ( >=sys-fs/udev-init-scripts-34 )
|
||||
"
|
||||
BDEPEND="
|
||||
app-text/docbook-xml-dtd:4.2
|
||||
app-text/docbook-xml-dtd:4.5
|
||||
app-text/docbook-xsl-stylesheets
|
||||
dev-libs/libxslt
|
||||
dev-util/gperf
|
||||
dev-util/patchelf
|
||||
>=sys-apps/coreutils-8.16
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
$(python_gen_cond_dep "
|
||||
dev-python/jinja2[\${PYTHON_USEDEP}]
|
||||
boot? (
|
||||
>=dev-python/pyelftools-0.30[\${PYTHON_USEDEP}]
|
||||
test? ( ${PEFILE_DEPEND} )
|
||||
)
|
||||
")
|
||||
"
|
||||
|
||||
QA_EXECSTACK="usr/lib/systemd/boot/efi/*"
|
||||
QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*"
|
||||
|
||||
CONFIG_CHECK="~BLK_DEV_BSG ~DEVTMPFS ~!IDE ~INOTIFY_USER ~!SYSFS_DEPRECATED
|
||||
~!SYSFS_DEPRECATED_V2 ~SIGNALFD ~EPOLL ~FHANDLE ~NET ~UNIX"
|
||||
|
||||
PATCHES=(
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
if [[ ${MERGE_TYPE} != buildonly ]] && use udev; then
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
use boot && secureboot_pkg_setup
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
python_setup
|
||||
meson-multilib_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local emesonargs=(
|
||||
--auto-features=disabled
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
-Ddocdir="share/doc/${PF}"
|
||||
|
||||
# default is developer, bug 918671
|
||||
-Dmode=release
|
||||
-Dlibc=$(usex elibc_musl musl glibc)
|
||||
|
||||
$(meson_native_use_feature boot bootloader)
|
||||
$(meson_native_use_bool kernel-install)
|
||||
$(meson_native_enabled man)
|
||||
$(meson_native_use_feature selinux)
|
||||
$(meson_use split-usr split-bin)
|
||||
$(meson_native_use_bool sysusers)
|
||||
$(meson_native_use_bool tmpfiles)
|
||||
$(meson_native_use_feature udev blkid)
|
||||
$(meson_native_use_feature udev libmount)
|
||||
$(meson_use udev hwdb)
|
||||
$(meson_native_use_feature ukify)
|
||||
|
||||
-Dadm-group=false
|
||||
-Danalyze=false
|
||||
-Dbacklight=false
|
||||
-Dbinfmt=false
|
||||
-Dcreate-log-dirs=false
|
||||
-Dcoredump=false
|
||||
-Ddns-over-tls=false
|
||||
-Denvironment-d=false
|
||||
-Dhibernate=false
|
||||
-Dhostnamed=false
|
||||
-Didn=false
|
||||
-Dima=false
|
||||
-Dinitrd=false
|
||||
-Dipe=false
|
||||
-Dfirstboot=false
|
||||
-Dldconfig=false
|
||||
-Dlocaled=false
|
||||
-Dlogind=false
|
||||
-Dmachined=false
|
||||
-Dmountfsd=false
|
||||
-Dnetworkd=false
|
||||
-Dnsresourced=false
|
||||
-Dnss-myhostname=false
|
||||
-Dnss-systemd=false
|
||||
-Doomd=false
|
||||
-Dportabled=false
|
||||
-Dpstore=false
|
||||
-Dquotacheck=false
|
||||
-Drandomseed=false
|
||||
-Dresolve=false
|
||||
-Drfkill=false
|
||||
-Dsmack=false
|
||||
-Dstoragetm=false
|
||||
-Dsysext=false
|
||||
-Dtimedated=false
|
||||
-Dtimesyncd=false
|
||||
-Dtpm=false
|
||||
-Durlify=false
|
||||
-Duserdb=false
|
||||
-Dutmp=false
|
||||
-Dvconsole=false
|
||||
-Dwheel-group=false
|
||||
-Dxdg-autostart=false
|
||||
|
||||
-Dbashcompletiondir=no
|
||||
-Ddbus-interfaces-dir=no
|
||||
-Drpmmacrosdir=no
|
||||
-Dshellprofiledir=no
|
||||
-Dsshconfdir=no
|
||||
-Dsshdconfdir=no
|
||||
-Dsshdprivsepdir=no
|
||||
-Dzshcompletiondir=no
|
||||
)
|
||||
|
||||
# workaround for bug 969103
|
||||
if [[ ${CHOST} == riscv32* ]] ; then
|
||||
emesonargs+=( -Dtests=true )
|
||||
else
|
||||
emesonargs+=( $(meson_use test tests) )
|
||||
fi
|
||||
|
||||
if use tmpfiles || use udev; then
|
||||
emesonargs+=( $(meson_native_use_feature acl) )
|
||||
fi
|
||||
|
||||
if use udev; then
|
||||
emesonargs+=( $(meson_native_use_feature kmod) )
|
||||
fi
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
if multilib_is_native_abi; then
|
||||
meson_src_compile
|
||||
elif use udev; then
|
||||
meson_src_compile libudev src/libudev/libudev.pc
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
local args=()
|
||||
use udev && args+=( --suite libudev )
|
||||
if multilib_is_native_abi; then
|
||||
use boot && args+=( --suite boot )
|
||||
use kernel-install && args+=( --suite kernel-install )
|
||||
use sysusers && args+=( --suite sysusers )
|
||||
use tmpfiles && args+=( --suite tmpfiles )
|
||||
use udev && args+=( --suite udev )
|
||||
fi
|
||||
if [[ ${#args[@]} -gt 0 ]]; then
|
||||
meson_src_test "${args[@]}"
|
||||
fi
|
||||
}
|
||||
|
||||
installx() {
|
||||
local dir f
|
||||
for f in "$@"; do
|
||||
dir="${f%/*}"
|
||||
dir="/${dir#/}"
|
||||
dodir "${dir}"
|
||||
mv -v "${ed}"/${f#/} "${ED}${dir}/" || die
|
||||
done
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
local d="${WORKDIR}/install"
|
||||
local ed="${d}${EPREFIX}"
|
||||
|
||||
if use udev; then
|
||||
meson_install --no-rebuild --tags libudev
|
||||
insinto "/usr/$(get_libdir)/pkgconfig"
|
||||
doins src/libudev/libudev.pc
|
||||
fi
|
||||
|
||||
multilib_is_native_abi || return
|
||||
|
||||
meson_install --no-rebuild --destdir "${d}"
|
||||
|
||||
installx "usr/$(get_libdir)/systemd/libsystemd-shared-${PV%%.*}.so"
|
||||
installx usr/share/locale
|
||||
installx usr/lib/sysctl.d
|
||||
|
||||
if use boot; then
|
||||
installx usr/bin/bootctl
|
||||
installx usr/share/man/man1/bootctl.1
|
||||
installx usr/lib/systemd/boot
|
||||
fi
|
||||
|
||||
if use kernel-install; then
|
||||
installx usr/bin/kernel-install
|
||||
installx usr/share/man/man8/kernel-install.8
|
||||
installx usr/lib/kernel
|
||||
fi
|
||||
|
||||
if use sysusers; then
|
||||
installx usr/bin/systemd-sysusers
|
||||
installx usr/share/man/{man5/sysusers.d.5,man8/systemd-sysusers.8}
|
||||
fi
|
||||
|
||||
if use tmpfiles; then
|
||||
installx usr/bin/systemd-tmpfiles
|
||||
installx usr/lib/tmpfiles.d/{etc,home,static-nodes-permissions,var}.conf
|
||||
installx usr/share/man/{man5/tmpfiles.d.5,man8/systemd-tmpfiles.8}
|
||||
fi
|
||||
|
||||
if use udev; then
|
||||
installx etc/udev
|
||||
installx usr/bin/systemd-hwdb
|
||||
installx usr/bin/udevadm
|
||||
if use split-usr; then
|
||||
# elogind installs udev rules that hard-code /bin/udevadm
|
||||
dosym ../usr/bin/udevadm /bin/udevadm
|
||||
fi
|
||||
installx usr/lib/systemd/systemd-sysctl
|
||||
installx usr/lib/systemd/systemd-udevd
|
||||
installx usr/lib/systemd/network/99-default.link
|
||||
installx usr/lib/udev
|
||||
installx usr/share/pkgconfig/udev.pc
|
||||
installx usr/share/man/man5/{iocost.conf.5,systemd.link.5,udev.conf.5}
|
||||
installx usr/share/man/man7/{hwdb.7,udev.7}
|
||||
installx usr/share/man/man8/{systemd-hwdb.8,udevadm.8}
|
||||
mv -v "${ed}"/usr/share/man/man8/systemd-udevd.service.8 \
|
||||
"${ED}"/usr/share/man/man8/systemd-udevd.8 || die
|
||||
installx usr/share/man/man3/libudev.3 "usr/share/man/man3/udev_*"
|
||||
fi
|
||||
|
||||
if use ukify; then
|
||||
installx usr/bin/ukify usr/lib/systemd/ukify
|
||||
installx usr/share/man/man1/ukify.1
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
|
||||
if use boot; then
|
||||
dobashcomp shell-completion/bash/bootctl
|
||||
dozshcomp shell-completion/zsh/_bootctl
|
||||
fi
|
||||
|
||||
if use kernel-install; then
|
||||
dobashcomp shell-completion/bash/kernel-install
|
||||
dozshcomp shell-completion/zsh/_kernel-install
|
||||
|
||||
# Dummy config, remove to make room for sys-kernel/installkernel
|
||||
rm "${ED}/usr/lib/kernel/install.conf" || die
|
||||
fi
|
||||
|
||||
if use tmpfiles; then
|
||||
#dobashcomp shell-completion/zsh/systemd-tmpfiles
|
||||
dozshcomp shell-completion/zsh/_systemd-tmpfiles
|
||||
insinto /usr/lib/tmpfiles.d
|
||||
doins "${FILESDIR}"/{legacy,tmp}.conf
|
||||
doinitd "${FILESDIR}"/systemd-tmpfiles-setup
|
||||
doinitd "${FILESDIR}"/systemd-tmpfiles-setup-dev
|
||||
exeinto /etc/cron.daily
|
||||
doexe "${FILESDIR}"/systemd-tmpfiles-clean
|
||||
fi
|
||||
|
||||
if use udev; then
|
||||
doheader src/libudev/libudev.h
|
||||
dobashcomp shell-completion/bash/udevadm
|
||||
dozshcomp shell-completion/zsh/_udevadm
|
||||
# Avoid udev_dorules to avoid picking up stale udevdir from pkg-config
|
||||
insinto /usr/lib/udev/rules.d
|
||||
doins "${FILESDIR}"/40-gentoo.rules
|
||||
fi
|
||||
|
||||
use ukify && python_fix_shebang "${ED}"
|
||||
use boot && secureboot_auto_sign
|
||||
}
|
||||
|
||||
add_service() {
|
||||
local initd=$1
|
||||
local runlevel=$2
|
||||
|
||||
ebegin "Adding '${initd}' service to the '${runlevel}' runlevel"
|
||||
mkdir -p "${EROOT}/etc/runlevels/${runlevel}" &&
|
||||
ln -snf "${EPREFIX}/etc/init.d/${initd}" "${EROOT}/etc/runlevels/${runlevel}/${initd}"
|
||||
eend $?
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
# Migrate /lib/{systemd,udev} to /usr/lib
|
||||
if use split-usr; then
|
||||
local d
|
||||
for d in systemd udev; do
|
||||
dosym ../usr/lib/${d} /lib/${d}
|
||||
if [[ -e ${EROOT}/lib/${d} && ! -L ${EROOT}/lib/${d} ]]; then
|
||||
einfo "Copying files from '${EROOT}/lib/${d}' to '${EROOT}/usr/lib/${d}'"
|
||||
cp -rpPT "${EROOT}/lib/${d}" "${EROOT}/usr/lib/${d}" || die
|
||||
einfo "Removing '${EROOT}/lib/${d}'"
|
||||
rm -r "${EROOT}/lib/${d}" || die
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -z ${REPLACING_VERSIONS} ]]; then
|
||||
add_service systemd-tmpfiles-setup-dev sysinit
|
||||
add_service systemd-tmpfiles-setup boot
|
||||
fi
|
||||
if use udev; then
|
||||
ebegin "Updating hwdb"
|
||||
systemd-hwdb --root="${ROOT}" update
|
||||
eend $?
|
||||
udev_reload
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user