From e53aa6b4fbe5a0c6db75d893829f7a6a37a14180 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 28 Jan 2023 02:49:59 +0000 Subject: gentoo auto-resync : 28:01:2023 - 02:49:59 --- sys-apps/Manifest.gz | Bin 48614 -> 48612 bytes sys-apps/baselayout/Manifest | 6 +- sys-apps/baselayout/baselayout-2.11.ebuild | 368 --------------- sys-apps/baselayout/baselayout-2.12.ebuild | 381 +++++++++++++++ sys-apps/baselayout/baselayout-9999.ebuild | 13 + sys-apps/fwupd-efi/Manifest | 2 + sys-apps/fwupd-efi/fwupd-efi-1.4.ebuild | 55 +++ sys-apps/pkgcore/Manifest | 2 +- sys-apps/pkgcore/pkgcore-0.12.19.ebuild | 2 +- sys-apps/systemd-utils/Manifest | 3 +- .../systemd-utils/systemd-utils-251.10-r1.ebuild | 2 +- sys-apps/systemd-utils/systemd-utils-251.10.ebuild | 524 --------------------- sys-apps/systemd/Manifest | 3 +- sys-apps/systemd/systemd-252.4-r1.ebuild | 2 +- sys-apps/systemd/systemd-252.4.ebuild | 520 -------------------- 15 files changed, 460 insertions(+), 1423 deletions(-) delete mode 100644 sys-apps/baselayout/baselayout-2.11.ebuild create mode 100644 sys-apps/baselayout/baselayout-2.12.ebuild create mode 100644 sys-apps/fwupd-efi/fwupd-efi-1.4.ebuild delete mode 100644 sys-apps/systemd-utils/systemd-utils-251.10.ebuild delete mode 100644 sys-apps/systemd/systemd-252.4.ebuild (limited to 'sys-apps') diff --git a/sys-apps/Manifest.gz b/sys-apps/Manifest.gz index d34f81abd96c..07a86aabb631 100644 Binary files a/sys-apps/Manifest.gz and b/sys-apps/Manifest.gz differ diff --git a/sys-apps/baselayout/Manifest b/sys-apps/baselayout/Manifest index 6b8ef38982dd..9e891f0ea434 100644 --- a/sys-apps/baselayout/Manifest +++ b/sys-apps/baselayout/Manifest @@ -1,6 +1,6 @@ -DIST baselayout-2.11.tar.bz2 29103 BLAKE2B 8e7c5023a868dbb21d5a0c84e4d570bc306dc13e7b699bfb336cbd476c232cf124d2b9dbcdbbb76e82b6e0b207fcc67594ff8cbeaf488af071801c65464fe72e SHA512 c540fda753d405b6754113961fd1430bef27b9aaeb970ad0c787b705de3947198e0181831f0c38e1cdd1937332ca1bd41030f8be9348b21c27fde5d319ef760b +DIST baselayout-2.12.tar.bz2 29275 BLAKE2B 5708137748e484555ed7f91301c5bc079189e744fc14f708d8b95ab82ad9392166690af6424ee486d95c7b0ce85b6f23fcadd7f95c31920a3424e86431d9b41f SHA512 8c4ad7cf459254c07d1a05300b5e9a600aa259a0f38c55e74c0a60a1a1f9da92c9de5de58cfb735738b64deb6955d6f80ae174925cded07c61c3371323dce152 DIST baselayout-2.9.tar.bz2 30200 BLAKE2B 3a997e847e853a5bcdce7eb06d50fda4727a6c408ca614bdc8dd576bfc9296d3c625c4e8791dbdb078dd5088f818e5ee98eea5d14d737f465ed225554da26180 SHA512 c07726141446c9d9202bac19642baf819b28a838814e1dd3c200d1768af64a913bd9188923029e0b0edf7e420d5aad7bdde278d6c24c4f40029fddbad28d8e02 -EBUILD baselayout-2.11.ebuild 11788 BLAKE2B 7c3c389950d564e6d4e1e4cf3f17f6931de7d1049753d722640964c3c65b40e6a370a1b928d0e29122fff7174ce59b5d9645fc0fbd1a6d586897ffb074db6caa SHA512 26834ef0485f4d730f7df775f052b443aeb2d0e306dc5762558336803d7f2fe2a4161c41eb9a555dc2793fb12daeb99b9000f08caefb244fb892cec7ff1f3b7e +EBUILD baselayout-2.12.ebuild 12182 BLAKE2B 5fe1fc77b11ed2a707ee2d17eb71a69b5043f0357acf04fbf2d3de200117c67846c56a5cd9b4fd11438dbdfa0459b53c9a12885d8d4619a12da7f66b35bc1d85 SHA512 16150e29d1ce45b2f86c73c68164a067069bd6d73808f26f593fe419e31e86c23e749d535dd10e412a43bef634b24a52c5c60cd5cb27e4b6e3611122453c60d4 EBUILD baselayout-2.9.ebuild 11818 BLAKE2B f60a5ccef7e0e77177dc2ad7e15048e3c83bf94981f7274264c0a9d18d2ac0a102456f2c06116a6e3f39bc01a3275d702c3bf7df64a3f81ee34ef744787da321 SHA512 2b07ce978ad790e0f97021af002731015f40291f8b881c08586c856011ebde4b0e4941d7fb557ba413e3c422023412f441803e5ce8860a39e27c7193b1f69537 -EBUILD baselayout-9999.ebuild 11788 BLAKE2B 7c3c389950d564e6d4e1e4cf3f17f6931de7d1049753d722640964c3c65b40e6a370a1b928d0e29122fff7174ce59b5d9645fc0fbd1a6d586897ffb074db6caa SHA512 26834ef0485f4d730f7df775f052b443aeb2d0e306dc5762558336803d7f2fe2a4161c41eb9a555dc2793fb12daeb99b9000f08caefb244fb892cec7ff1f3b7e +EBUILD baselayout-9999.ebuild 12182 BLAKE2B 5fe1fc77b11ed2a707ee2d17eb71a69b5043f0357acf04fbf2d3de200117c67846c56a5cd9b4fd11438dbdfa0459b53c9a12885d8d4619a12da7f66b35bc1d85 SHA512 16150e29d1ce45b2f86c73c68164a067069bd6d73808f26f593fe419e31e86c23e749d535dd10e412a43bef634b24a52c5c60cd5cb27e4b6e3611122453c60d4 MISC metadata.xml 383 BLAKE2B 58d0d7a9d2b0e355ca13061b798db482b1894cb805e4c7f70d9b64f301f34aa784ec56783cb670e3c35a69ad383feb3c29d0b8f8164e5e05e24908127759a4aa SHA512 49775deed8635ddd8492a86887c85043e2a16ec46508c08c9eb669eee0aa29db1974c20a338fa09703bfc73fbff29c56d043b2749c0e7046347eb8186da59193 diff --git a/sys-apps/baselayout/baselayout-2.11.ebuild b/sys-apps/baselayout/baselayout-2.11.ebuild deleted file mode 100644 index a5cb994667ce..000000000000 --- a/sys-apps/baselayout/baselayout-2.11.ebuild +++ /dev/null @@ -1,368 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit multilib prefix - -DESCRIPTION="Filesystem baselayout and init scripts" -HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage" -if [[ ${PV} = 9999 ]]; then - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git" - inherit git-r3 -else - SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" -fi - -LICENSE="GPL-2" -SLOT="0" -IUSE="build +split-usr" - -RDEPEND="!sys-apps/baselayout-prefix" - -pkg_setup() { - multilib_layout -} - -riscv_compat_symlink() { - # Here we apply some special sauce for riscv. - # Two multilib layouts exist for now: - # 1) one level libdirs, (32bit) "lib" and (64bit) "lib64" - # these are chosen by us to closely resemble other arches - # 2) two level libdirs, "lib64/lp64d" "lib64/lp64" "lib32/ilp32d" ... - # this is the glibc/gcc default - # Unfortunately, the default has only one fallback, which is "lib" - # for both 32bit and 64bit. So things do not break in 1), we need - # to provide compatibility symlinks... - - # This function has exactly two parameters: - # - the default libdir, to determine if 1) or 2) applies - # - the location of the symlink (which points to ".") - - # Note: we call this only in the ${SYMLINK_LIB} = no codepath, since - # there never was a ${SYMLINK_LIB} = yes riscv profile. - - case ${CHOST} in - riscv*) - # are we on a one level libdir profile? is there no symlink yet? - if [[ ${1} != */* && ! -L ${2} ]] ; then - ln -s . $2 || die "Unable to make $2 riscv compatibility symlink" - fi - ;; - esac -} - -# Create our multilib dirs - the Makefile has no knowledge of this -multilib_layout() { - local dir def_libdir libdir libdirs - local prefix prefix_lst - def_libdir=$(get_abi_LIBDIR $DEFAULT_ABI) - libdirs=$(get_all_libdirs) - - if [[ -z "${SYMLINK_LIB}" || ${SYMLINK_LIB} = no ]] ; then - prefix_lst=( "${EROOT}"/{,usr/,usr/local/} ) - for prefix in "${prefix_lst[@]}"; do - for libdir in ${libdirs}; do - dir="${prefix}${libdir}" - if [[ -e "${dir}" ]]; then - [[ ! -d "${dir}" ]] && - die "${dir} exists but is not a directory" - continue - fi - if ! use split-usr && [[ ${prefix} = ${EROOT}/ ]]; then - libdir="${libdir%%/*}" - dir="${prefix}${libdir}" - einfo "symlinking ${dir} to usr/${libdir}" - ln -s usr/${libdir} ${dir} || - die "Unable to make ${dir} symlink" - else - einfo "creating directory ${dir}" - mkdir -p "${dir}" || - die "Unable to create ${dir} directory" - fi - done - [[ -d "${prefix}${def_libdir}" ]] && riscv_compat_symlink "${def_libdir}" "${prefix}${def_libdir}/${DEFAULT_ABI}" - done - return 0 - fi - - [ -z "${def_libdir}" ] && - die "your DEFAULT_ABI=$DEFAULT_ABI appears to be invalid" - - # figure out which paths should be symlinks and which should be directories - local dirs syms exp d - for libdir in ${libdirs} ; do - if use split-usr ; then - exp=( {,usr/,usr/local/}${libdir} ) - else - exp=( {usr/,usr/local/}${libdir} ) - fi - for d in "${exp[@]}" ; do - # most things should be dirs - if [ "${SYMLINK_LIB}" = "yes" ] && [ "${libdir}" = "lib" ] ; then - [ ! -h "${d}" ] && [ -e "${d}" ] && dirs+=" ${d}" - else - [ -h "${d}" ] && syms+=" ${d}" - fi - done - done - if [ -n "${syms}${dirs}" ] ; then - ewarn "Your system profile has SYMLINK_LIB=${SYMLINK_LIB:-no}, so that means you need to" - ewarn "have these paths configured as follows:" - [ -n "${dirs}" ] && ewarn "symlinks to '${def_libdir}':${dirs}" - [ -n "${syms}" ] && ewarn "directories:${syms}" - ewarn "The ebuild will attempt to fix these, but only for trivial conversions." - ewarn "If things fail, you will need to manually create/move the directories." - echo - fi - - # setup symlinks and dirs where we expect them to be; do not migrate - # data ... just fall over in that case. - if use split-usr ; then - prefix_lst=( "${EROOT}"/{,usr/,usr/local/} ) - else - prefix_lst=( "${EROOT}"/{usr/,usr/local/} ) - fi - for prefix in "${prefix_lst[@]}"; do - if [ "${SYMLINK_LIB}" = yes ] ; then - # we need to make sure "lib" points to the native libdir - if [ -h "${prefix}lib" ] ; then - # it's already a symlink! assume it's pointing to right place ... - continue - elif [ -d "${prefix}lib" ] ; then - # "lib" is a dir, so need to convert to a symlink - ewarn "Converting ${prefix}lib from a dir to a symlink" - rm -f "${prefix}lib"/.keep || die - if rmdir "${prefix}lib" 2>/dev/null ; then - ln -s ${def_libdir} "${prefix}lib" || die - else - die "non-empty dir found where we needed a symlink: ${prefix}lib" - fi - else - # nothing exists, so just set it up sanely - ewarn "Initializing ${prefix}lib as a symlink" - mkdir -p "${prefix}" || die - rm -f "${prefix}lib" || die - ln -s ${def_libdir} "${prefix}lib" || die - mkdir -p "${prefix}${def_libdir}" || die #423571 - fi - else - # we need to make sure "lib" is a dir - if [ -h "${prefix}lib" ] ; then - # "lib" is a symlink, so need to convert to a dir - ewarn "Converting ${prefix}lib from a symlink to a dir" - rm -f "${prefix}lib" || die - if [ -d "${prefix}lib32" ] ; then - ewarn "Migrating ${prefix}lib32 to ${prefix}lib" - mv "${prefix}lib32" "${prefix}lib" || die - else - mkdir -p "${prefix}lib" || die - fi - elif [ -d "${prefix}lib" ] && ! has lib32 ${libdirs} ; then - # make sure the old "lib" ABI location does not exist; we - # only symlinked the lib dir on systems where we moved it - # to "lib32" ... - case ${CHOST} in - i?86*|x86_64*|powerpc*|sparc*|s390*) - if [[ -d ${prefix}lib32 && ! -h ${prefix}lib32 ]] ; then - rm -f "${prefix}lib32"/.keep || die - if ! rmdir "${prefix}lib32" 2>/dev/null ; then - ewarn "You need to merge ${prefix}lib32 into ${prefix}lib" - die "non-empty dir found where there should be none: ${prefix}lib32" - fi - fi - ;; - esac - else - # nothing exists, so just set it up sanely - ewarn "Initializing ${prefix}lib as a dir" - mkdir -p "${prefix}lib" || die - fi - fi - done - if ! use split-usr ; then - for libdir in ${libdirs}; do - if [[ ! -e "${EROOT}${libdir}" ]]; then - ln -s usr/"${libdir}" "${EROOT}${libdir}" || - die "Unable to make ${EROOT}${libdir} symlink" - fi - done - fi -} - -pkg_preinst() { - # This is written in src_install (so it's in CONTENTS), but punt all - # pending updates to avoid user having to do etc-update (and make the - # pkg_postinst logic simpler). - rm -f "${EROOT}"/etc/._cfg????_gentoo-release || die - - # We need to install directories and maybe some dev nodes when building - # stages, but they cannot be in CONTENTS. - # Also, we cannot reference $S as binpkg will break so we do this. - multilib_layout - if use build ; then - if use split-usr ; then - emake -C "${ED}/usr/share/${PN}" DESTDIR="${EROOT}" layout - else - emake -C "${ED}/usr/share/${PN}" DESTDIR="${EROOT}" layout-usrmerge - fi - fi - rm -f "${ED}"/usr/share/${PN}/Makefile || die -} - -src_prepare() { - default - - # don't want symlinked directories in PATH on systems with usr-merge - if ! use split-usr && ! use prefix-guest; then - sed \ - -e 's|:/usr/sbin:|:|g' \ - -e 's|:/sbin:|:|g' \ - -e 's|:/bin:|:|g' \ - -i etc/env.d/50baselayout || die - fi - - if use prefix; then - hprefixify -e "/EUID/s,0,${EUID}," -q '"' etc/profile - hprefixify etc/shells share.Linux/passwd - hprefixify -w '/PATH=/' etc/env.d/50baselayout - hprefixify -w 1 etc/env.d/50baselayout - echo PATH=/usr/sbin:/sbin:/usr/bin:/bin >> etc/env.d/99host - - # change branding - sed -i \ - -e '/gentoo-release/s/Gentoo Base/Gentoo Prefix Base/' \ - -e '/make_os_release/s/${OS}/Prefix/' \ - Makefile || die - fi - - # handle multilib paths. do it here because we want this behavior - # regardless of the C library that you're using. we do explicitly - # list paths which the native ldconfig searches, but this isn't - # problematic as it doesn't change the resulting ld.so.cache or - # take longer to generate. similarly, listing both the native - # path and the symlinked path doesn't change the resulting cache. - local libdir ldpaths - for libdir in $(get_all_libdirs) ; do - if use split-usr || use prefix-guest; then - ldpaths+=":${EPREFIX}/${libdir}" - fi - ldpaths+=":${EPREFIX}/usr/${libdir}" - ldpaths+=":${EPREFIX}/usr/local/${libdir}" - done - echo "LDPATH='${ldpaths#:}'" >> etc/env.d/50baselayout -} - -src_install() { - emake \ - DESTDIR="${ED}" \ - install - - if [[ ${CHOST} == *-darwin* ]] ; then - # add SDK path which contains development manpages - echo "MANPATH=${EPREFIX}/MacOSX.sdk/usr/share/man" \ - > "${ED}"/etc/env.d/98macos-sdk - fi - - # need the makefile in pkg_preinst - insinto /usr/share/${PN} - doins Makefile - - dodoc ChangeLog - - # bug 858596 - if use prefix-guest ; then - dodir sbin - cat > "${ED}"/sbin/runscript <<- EOF - #!/usr/bin/env sh - source "${EPREFIX}/lib/gentoo/functions.sh" - - eerror "runscript/openrc-run not supported by Gentoo Prefix Base System release ${PV}" 1>&2 - exit 1 - EOF - chmod 755 "${ED}"/sbin/runscript || die - cp "${ED}"/sbin/{runscript,openrc-run} || die - fi -} - -pkg_postinst() { - local x - - # We installed some files to /usr/share/baselayout instead of /etc to stop - # (1) overwriting the user's settings - # (2) screwing things up when attempting to merge files - # (3) accidentally packaging up personal files with quickpkg - # If they don't exist then we install them - for x in master.passwd passwd shadow group fstab ; do - [ -e "${EROOT}/etc/${x}" ] && continue - [ -e "${EROOT}/usr/share/baselayout/${x}" ] || continue - cp -p "${EROOT}/usr/share/baselayout/${x}" "${EROOT}"/etc || die - done - - # Force shadow permissions to not be world-readable #260993 - for x in shadow ; do - if [ -e "${EROOT}/etc/${x}" ] ; then - chmod o-rwx "${EROOT}/etc/${x}" || die - fi - done - - # Take care of the etc-update for the user - if [ -e "${EROOT}"/etc/._cfg0000_gentoo-release ] ; then - mv "${EROOT}"/etc/._cfg0000_gentoo-release "${EROOT}"/etc/gentoo-release || die - fi - - # whine about users that lack passwords #193541 - if [[ -e "${EROOT}"/etc/shadow ]] ; then - local bad_users=$(sed -n '/^[^:]*::/s|^\([^:]*\)::.*|\1|p' "${EROOT}"/etc/shadow) - if [[ -n ${bad_users} ]] ; then - echo - ewarn "The following users lack passwords!" - ewarn ${bad_users} - fi - fi - - # whine about users with invalid shells #215698 - if [[ -e "${EROOT}"/etc/passwd ]] ; then - local bad_shells=$(awk -F: 'system("test -e ${ROOT}" $7) { print $1 " - " $7}' "${EROOT}"/etc/passwd | sort) - if [[ -n ${bad_shells} ]] ; then - echo - ewarn "The following users have non-existent shells!" - ewarn "${bad_shells}" - fi - fi - - # https://bugs.gentoo.org/361349 - if use kernel_linux; then - mkdir -p "${EROOT}"/run || die - - local found fstype mountpoint - while read -r _ mountpoint fstype _; do - [[ ${mountpoint} = /run ]] && [[ ${fstype} = tmpfs ]] && found=1 - done < "${ROOT}"/proc/mounts - [[ -z ${found} ]] && - ewarn "You should reboot now to get /run mounted with tmpfs!" - fi - - for x in ${REPLACING_VERSIONS}; do - if ver_test 2.4 -lt ${x}; then - ewarn "After updating ${EROOT}/etc/profile, please run" - ewarn "env-update && . /etc/profile" - fi - - if ver_test 2.6 -lt ${x}; then - ewarn "Please run env-update then log out and back in to" - ewarn "update your path." - fi - # clean up after 2.5 typos - # https://bugs.gentoo.org/show_bug.cgi?id=656380 - if [[ ${x} == 2.5 ]]; then - rm -fr "${EROOT}/{,usr" || die - fi - done - - if [[ -e "${EROOT}"/etc/env.d/00basic ]]; then - ewarn "${EROOT}/etc/env.d/00basic is now ${EROOT}/etc/env.d/50baselayout" - ewarn "Please migrate your changes." - fi -} diff --git a/sys-apps/baselayout/baselayout-2.12.ebuild b/sys-apps/baselayout/baselayout-2.12.ebuild new file mode 100644 index 000000000000..845f7f7a8dfb --- /dev/null +++ b/sys-apps/baselayout/baselayout-2.12.ebuild @@ -0,0 +1,381 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit multilib prefix + +DESCRIPTION="Filesystem baselayout and init scripts" +HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage" +if [[ ${PV} = 9999 ]]; then + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/${PN}.git" + inherit git-r3 +else + SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.bz2" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" +fi + +LICENSE="GPL-2" +SLOT="0" +IUSE="build +split-usr" + +RDEPEND="!sys-apps/baselayout-prefix" + +pkg_pretend() { + local stop= + if [[ ! -L ${EROOT}/var/run ]] && [[ -d ${EROOT}/var/run ]]; then + eerror "${EROOT}/var/run must be a symlink to ${EROOT}/run" + stop=1 + fi + if [[ ! -L ${EROOT}/var/lock ]] && [[ -d ${EROOT}/var/lock ]]; then + eerror "${EROOT}/var/lock must be a symlink to ${EROOT}/run/lock" + stop=1 + fi + [[ -z ${stop} ]] || die "please fix this before emerging baselayout" +} + +pkg_setup() { + multilib_layout +} + +riscv_compat_symlink() { + # Here we apply some special sauce for riscv. + # Two multilib layouts exist for now: + # 1) one level libdirs, (32bit) "lib" and (64bit) "lib64" + # these are chosen by us to closely resemble other arches + # 2) two level libdirs, "lib64/lp64d" "lib64/lp64" "lib32/ilp32d" ... + # this is the glibc/gcc default + # Unfortunately, the default has only one fallback, which is "lib" + # for both 32bit and 64bit. So things do not break in 1), we need + # to provide compatibility symlinks... + + # This function has exactly two parameters: + # - the default libdir, to determine if 1) or 2) applies + # - the location of the symlink (which points to ".") + + # Note: we call this only in the ${SYMLINK_LIB} = no codepath, since + # there never was a ${SYMLINK_LIB} = yes riscv profile. + + case ${CHOST} in + riscv*) + # are we on a one level libdir profile? is there no symlink yet? + if [[ ${1} != */* && ! -L ${2} ]] ; then + ln -s . $2 || die "Unable to make $2 riscv compatibility symlink" + fi + ;; + esac +} + +# Create our multilib dirs - the Makefile has no knowledge of this +multilib_layout() { + local dir def_libdir libdir libdirs + local prefix prefix_lst + def_libdir=$(get_abi_LIBDIR $DEFAULT_ABI) + libdirs=$(get_all_libdirs) + + if [[ -z "${SYMLINK_LIB}" || ${SYMLINK_LIB} = no ]] ; then + prefix_lst=( "${EROOT}"/{,usr/,usr/local/} ) + for prefix in "${prefix_lst[@]}"; do + for libdir in ${libdirs}; do + dir="${prefix}${libdir}" + if [[ -e "${dir}" ]]; then + [[ ! -d "${dir}" ]] && + die "${dir} exists but is not a directory" + continue + fi + if ! use split-usr && [[ ${prefix} = ${EROOT}/ ]]; then + libdir="${libdir%%/*}" + dir="${prefix}${libdir}" + einfo "symlinking ${dir} to usr/${libdir}" + ln -s usr/${libdir} ${dir} || + die "Unable to make ${dir} symlink" + else + einfo "creating directory ${dir}" + mkdir -p "${dir}" || + die "Unable to create ${dir} directory" + fi + done + [[ -d "${prefix}${def_libdir}" ]] && riscv_compat_symlink "${def_libdir}" "${prefix}${def_libdir}/${DEFAULT_ABI}" + done + return 0 + fi + + [ -z "${def_libdir}" ] && + die "your DEFAULT_ABI=$DEFAULT_ABI appears to be invalid" + + # figure out which paths should be symlinks and which should be directories + local dirs syms exp d + for libdir in ${libdirs} ; do + if use split-usr ; then + exp=( {,usr/,usr/local/}${libdir} ) + else + exp=( {usr/,usr/local/}${libdir} ) + fi + for d in "${exp[@]}" ; do + # most things should be dirs + if [ "${SYMLINK_LIB}" = "yes" ] && [ "${libdir}" = "lib" ] ; then + [ ! -h "${d}" ] && [ -e "${d}" ] && dirs+=" ${d}" + else + [ -h "${d}" ] && syms+=" ${d}" + fi + done + done + if [ -n "${syms}${dirs}" ] ; then + ewarn "Your system profile has SYMLINK_LIB=${SYMLINK_LIB:-no}, so that means you need to" + ewarn "have these paths configured as follows:" + [ -n "${dirs}" ] && ewarn "symlinks to '${def_libdir}':${dirs}" + [ -n "${syms}" ] && ewarn "directories:${syms}" + ewarn "The ebuild will attempt to fix these, but only for trivial conversions." + ewarn "If things fail, you will need to manually create/move the directories." + echo + fi + + # setup symlinks and dirs where we expect them to be; do not migrate + # data ... just fall over in that case. + if use split-usr ; then + prefix_lst=( "${EROOT}"/{,usr/,usr/local/} ) + else + prefix_lst=( "${EROOT}"/{usr/,usr/local/} ) + fi + for prefix in "${prefix_lst[@]}"; do + if [ "${SYMLINK_LIB}" = yes ] ; then + # we need to make sure "lib" points to the native libdir + if [ -h "${prefix}lib" ] ; then + # it's already a symlink! assume it's pointing to right place ... + continue + elif [ -d "${prefix}lib" ] ; then + # "lib" is a dir, so need to convert to a symlink + ewarn "Converting ${prefix}lib from a dir to a symlink" + rm -f "${prefix}lib"/.keep || die + if rmdir "${prefix}lib" 2>/dev/null ; then + ln -s ${def_libdir} "${prefix}lib" || die + else + die "non-empty dir found where we needed a symlink: ${prefix}lib" + fi + else + # nothing exists, so just set it up sanely + ewarn "Initializing ${prefix}lib as a symlink" + mkdir -p "${prefix}" || die + rm -f "${prefix}lib" || die + ln -s ${def_libdir} "${prefix}lib" || die + mkdir -p "${prefix}${def_libdir}" || die #423571 + fi + else + # we need to make sure "lib" is a dir + if [ -h "${prefix}lib" ] ; then + # "lib" is a symlink, so need to convert to a dir + ewarn "Converting ${prefix}lib from a symlink to a dir" + rm -f "${prefix}lib" || die + if [ -d "${prefix}lib32" ] ; then + ewarn "Migrating ${prefix}lib32 to ${prefix}lib" + mv "${prefix}lib32" "${prefix}lib" || die + else + mkdir -p "${prefix}lib" || die + fi + elif [ -d "${prefix}lib" ] && ! has lib32 ${libdirs} ; then + # make sure the old "lib" ABI location does not exist; we + # only symlinked the lib dir on systems where we moved it + # to "lib32" ... + case ${CHOST} in + i?86*|x86_64*|powerpc*|sparc*|s390*) + if [[ -d ${prefix}lib32 && ! -h ${prefix}lib32 ]] ; then + rm -f "${prefix}lib32"/.keep || die + if ! rmdir "${prefix}lib32" 2>/dev/null ; then + ewarn "You need to merge ${prefix}lib32 into ${prefix}lib" + die "non-empty dir found where there should be none: ${prefix}lib32" + fi + fi + ;; + esac + else + # nothing exists, so just set it up sanely + ewarn "Initializing ${prefix}lib as a dir" + mkdir -p "${prefix}lib" || die + fi + fi + done + if ! use split-usr ; then + for libdir in ${libdirs}; do + if [[ ! -e "${EROOT}${libdir}" ]]; then + ln -s usr/"${libdir}" "${EROOT}${libdir}" || + die "Unable to make ${EROOT}${libdir} symlink" + fi + done + fi +} + +pkg_preinst() { + # This is written in src_install (so it's in CONTENTS), but punt all + # pending updates to avoid user having to do etc-update (and make the + # pkg_postinst logic simpler). + rm -f "${EROOT}"/etc/._cfg????_gentoo-release || die + + # We need to install directories and maybe some dev nodes when building + # stages, but they cannot be in CONTENTS. + # Also, we cannot reference $S as binpkg will break so we do this. + multilib_layout + if use build ; then + if use split-usr ; then + emake -C "${ED}/usr/share/${PN}" DESTDIR="${EROOT}" layout + else + emake -C "${ED}/usr/share/${PN}" DESTDIR="${EROOT}" layout-usrmerge + fi + fi + rm -f "${ED}"/usr/share/${PN}/Makefile || die +} + +src_prepare() { + default + + # don't want symlinked directories in PATH on systems with usr-merge + if ! use split-usr && ! use prefix-guest; then + sed \ + -e 's|:/usr/sbin:|:|g' \ + -e 's|:/sbin:|:|g' \ + -e 's|:/bin:|:|g' \ + -i etc/env.d/50baselayout || die + fi + + if use prefix; then + hprefixify -e "/EUID/s,0,${EUID}," -q '"' etc/profile + hprefixify etc/shells share.Linux/passwd + hprefixify -w '/PATH=/' etc/env.d/50baselayout + hprefixify -w 1 etc/env.d/50baselayout + echo PATH=/usr/sbin:/sbin:/usr/bin:/bin >> etc/env.d/99host + + # change branding + sed -i \ + -e '/gentoo-release/s/Gentoo Base/Gentoo Prefix Base/' \ + -e '/make_os_release/s/${OS}/Prefix/' \ + Makefile || die + fi + + # handle multilib paths. do it here because we want this behavior + # regardless of the C library that you're using. we do explicitly + # list paths which the native ldconfig searches, but this isn't + # problematic as it doesn't change the resulting ld.so.cache or + # take longer to generate. similarly, listing both the native + # path and the symlinked path doesn't change the resulting cache. + local libdir ldpaths + for libdir in $(get_all_libdirs) ; do + if use split-usr || use prefix-guest; then + ldpaths+=":${EPREFIX}/${libdir}" + fi + ldpaths+=":${EPREFIX}/usr/${libdir}" + ldpaths+=":${EPREFIX}/usr/local/${libdir}" + done + echo "LDPATH='${ldpaths#:}'" >> etc/env.d/50baselayout +} + +src_install() { + emake \ + DESTDIR="${ED}" \ + install + + if [[ ${CHOST} == *-darwin* ]] ; then + # add SDK path which contains development manpages + echo "MANPATH=${EPREFIX}/MacOSX.sdk/usr/share/man" \ + > "${ED}"/etc/env.d/98macos-sdk + fi + + # need the makefile in pkg_preinst + insinto /usr/share/${PN} + doins Makefile + + dodoc ChangeLog + + # bug 858596 + if use prefix-guest ; then + dodir sbin + cat > "${ED}"/sbin/runscript <<- EOF + #!/usr/bin/env sh + source "${EPREFIX}/lib/gentoo/functions.sh" + + eerror "runscript/openrc-run not supported by Gentoo Prefix Base System release ${PV}" 1>&2 + exit 1 + EOF + chmod 755 "${ED}"/sbin/runscript || die + cp "${ED}"/sbin/{runscript,openrc-run} || die + fi +} + +pkg_postinst() { + local x + + # We installed some files to /usr/share/baselayout instead of /etc to stop + # (1) overwriting the user's settings + # (2) screwing things up when attempting to merge files + # (3) accidentally packaging up personal files with quickpkg + # If they don't exist then we install them + for x in master.passwd passwd shadow group fstab ; do + [ -e "${EROOT}/etc/${x}" ] && continue + [ -e "${EROOT}/usr/share/baselayout/${x}" ] || continue + cp -p "${EROOT}/usr/share/baselayout/${x}" "${EROOT}"/etc || die + done + + # Force shadow permissions to not be world-readable #260993 + for x in shadow ; do + if [ -e "${EROOT}/etc/${x}" ] ; then + chmod o-rwx "${EROOT}/etc/${x}" || die + fi + done + + # Take care of the etc-update for the user + if [ -e "${EROOT}"/etc/._cfg0000_gentoo-release ] ; then + mv "${EROOT}"/etc/._cfg0000_gentoo-release "${EROOT}"/etc/gentoo-release || die + fi + + # whine about users that lack passwords #193541 + if [[ -e "${EROOT}"/etc/shadow ]] ; then + local bad_users=$(sed -n '/^[^:]*::/s|^\([^:]*\)::.*|\1|p' "${EROOT}"/etc/shadow) + if [[ -n ${bad_users} ]] ; then + echo + ewarn "The following users lack passwords!" + ewarn ${bad_users} + fi + fi + + # whine about users with invalid shells #215698 + if [[ -e "${EROOT}"/etc/passwd ]] ; then + local bad_shells=$(awk -F: 'system("test -e ${ROOT}" $7) { print $1 " - " $7}' "${EROOT}"/etc/passwd | sort) + if [[ -n ${bad_shells} ]] ; then + echo + ewarn "The following users have non-existent shells!" + ewarn "${bad_shells}" + fi + fi + + # https://bugs.gentoo.org/361349 + if use kernel_linux; then + mkdir -p "${EROOT}"/run || die + + local found fstype mountpoint + while read -r _ mountpoint fstype _; do + [[ ${mountpoint} = /run ]] && [[ ${fstype} = tmpfs ]] && found=1 + done < "${ROOT}"/proc/mounts + [[ -z ${found} ]] && + ewarn "You should reboot now to get /run mounted with tmpfs!" + fi + + for x in ${REPLACING_VERSIONS}; do + if ver_test 2.4 -lt ${x}; then + ewarn "After updating ${EROOT}/etc/profile, please run" + ewarn "env-update && . /etc/profile" + fi + + if ver_test 2.6 -lt ${x}; then + ewarn "Please run env-update then log out and back in to" + ewarn "update your path." + fi + # clean up after 2.5 typos + # https://bugs.gentoo.org/show_bug.cgi?id=656380 + if [[ ${x} == 2.5 ]]; then + rm -fr "${EROOT}/{,usr" || die + fi + done + + if [[ -e "${EROOT}"/etc/env.d/00basic ]]; then + ewarn "${EROOT}/etc/env.d/00basic is now ${EROOT}/etc/env.d/50baselayout" + ewarn "Please migrate your changes." + fi +} diff --git a/sys-apps/baselayout/baselayout-9999.ebuild b/sys-apps/baselayout/baselayout-9999.ebuild index a5cb994667ce..845f7f7a8dfb 100644 --- a/sys-apps/baselayout/baselayout-9999.ebuild +++ b/sys-apps/baselayout/baselayout-9999.ebuild @@ -21,6 +21,19 @@ IUSE="build +split-usr" RDEPEND="!sys-apps/baselayout-prefix" +pkg_pretend() { + local stop= + if [[ ! -L ${EROOT}/var/run ]] && [[ -d ${EROOT}/var/run ]]; then + eerror "${EROOT}/var/run must be a symlink to ${EROOT}/run" + stop=1 + fi + if [[ ! -L ${EROOT}/var/lock ]] && [[ -d ${EROOT}/var/lock ]]; then + eerror "${EROOT}/var/lock must be a symlink to ${EROOT}/run/lock" + stop=1 + fi + [[ -z ${stop} ]] || die "please fix this before emerging baselayout" +} + pkg_setup() { multilib_layout } diff --git a/sys-apps/fwupd-efi/Manifest b/sys-apps/fwupd-efi/Manifest index b3ec6872c177..6a6e4e2e0db9 100644 --- a/sys-apps/fwupd-efi/Manifest +++ b/sys-apps/fwupd-efi/Manifest @@ -1,3 +1,5 @@ DIST fwupd-efi-1.3.tar.gz 39122 BLAKE2B f295869038f485026b8e60977faf76ad81f1ad11474d13be9a635b1a014daf79ee4250a44dcdb4b79f887a3093ba70a470dde6e8376bc4c064cd30c64c76cddc SHA512 3f17bc990de15e48d7be7302992d51c12b510a793b556ac269fcf3b63f83cc3c257bc852de23ee44a0de1b96eea324277015265c42ee41a11b88368a3f4b38eb +DIST fwupd-efi-1.4.tar.xz 35984 BLAKE2B 24ce9788500781aac5b856740dc17d94bec79cf57f4f1a0359f42e6be4b9600d34259794a88f69bf83aa38ee5976b26228b20813f717edce5cc627c163585b40 SHA512 c330409861a8c1e332a0d4fd49c54ef2c5bf7cdaca99d14de39b50fb35f0c490e9f7f7a4c9dd48181bd509cd358c43eb23659536aea93408c1fefb47629e4991 EBUILD fwupd-efi-1.3.ebuild 1082 BLAKE2B 2106918286e351384b7a4a851062d9b73f3acdfa75d2f2fd098d9cc46164616bcd587f2721ae2390211a24a5ced69ac591770283efe93e7d933384479b6cc7ee SHA512 114686c628b89414fa26940c42065498436acd202aaa97e4f3b1abc1b51acfe888454db9e303bc92c24a02a03ae438158c1598fb186412b5d775ba6e4f5ad828 +EBUILD fwupd-efi-1.4.ebuild 1139 BLAKE2B c4ddecf06d05becb2447eb8f100436330e85d0f0a006f0979eb442bbf60bf5c516603a7abdd3cc6804dca659e102e944ccb1ff80e92d864d10001827fbd6d597 SHA512 fbdc5b351fd22f82f25e2cfc8e5d7800a11a6bb8c4cde50974b746c0e9a38293c3b2d433dbd373d046f85990ba559e83f63c0512496a73c7a54c845b8538e36e MISC metadata.xml 502 BLAKE2B 37525a0056ad72eab2b2b7b15436181a8581075053704012670e1f0434c8af74bd0780f16f31fa5cd2c8836bc2e4d8f55dfd5a77140be83ebffda5ca9e1a1382 SHA512 70ccf403ddb8e4d33ee9cc6ba438583d42ab313784c3251919b74a6596c4e3593263a6400513605c1004bc0d3ebb1677febc31449096b825f688ed1cc7052c31 diff --git a/sys-apps/fwupd-efi/fwupd-efi-1.4.ebuild b/sys-apps/fwupd-efi/fwupd-efi-1.4.ebuild new file mode 100644 index 000000000000..845fd79ccd63 --- /dev/null +++ b/sys-apps/fwupd-efi/fwupd-efi-1.4.ebuild @@ -0,0 +1,55 @@ +# Copyright 2021-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) + +inherit meson python-any-r1 + +DESCRIPTION="EFI executable for fwupd" +HOMEPAGE="https://fwupd.org" + +if [[ ${PV} = *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/fwupd/fwupd-efi.git" +else + SRC_URI="https://github.com/fwupd/${PN}/releases/download/${PV}/${P}.tar.xz" + KEYWORDS="~amd64 ~x86" +fi + +LICENSE="LGPL-2.1+" +SLOT="0" +IUSE="" + +BDEPEND="$(python_gen_any_dep ' + dev-python/pefile[${PYTHON_USEDEP}] + ') + virtual/pkgconfig" + +DEPEND="sys-boot/gnu-efi" + +RDEPEND="!= -O2, so we need - # to unset F_S first, then explicitly set 2, to negate any default - # and anything set by the user if they're choosing 3 (or if they've - # modified GCC to set 3). - # - if is-flagq '-O[23]' || is-flagq '-Ofast' ; then - # We can't unconditionally do this b/c we fortify needs - # some level of optimisation. - filter-flags -D_FORTIFY_SOURCE=3 - append-cppflags -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 - fi - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local emesonargs=( - $(meson_use split-usr) - $(meson_use split-usr split-bin) - -Drootprefix="$(usex split-usr "${EPREFIX:-/}" "${EPREFIX}/usr")" - -Drootlibdir="${EPREFIX}/usr/$(get_libdir)" - -Dsysvinit-path= - $(meson_native_use_bool boot efi) - $(meson_native_use_bool boot gnu-efi) - $(meson_native_use_bool boot kernel-install) - $(meson_native_use_bool selinux) - $(meson_native_use_bool sysusers) - $(meson_use test tests) - $(meson_native_use_bool tmpfiles) - $(meson_use udev hwdb) - - -Defi-libdir="${ESYSROOT}/usr/$(get_libdir)" - - # Link staticly with libsystemd-shared - -Dlink-boot-shared=false - -Dlink-udev-shared=false - - # systemd-tmpfiles has a separate "systemd-tmpfiles.standalone" target - -Dstandalone-binaries=true - - # Disable all optional features - -Dadm-group=false - -Danalyze=false - -Dapparmor=false - -Daudit=false - -Dbacklight=false - -Dbinfmt=false - -Dbpf-framework=false - -Dbzip2=false - -Dcoredump=false - -Ddbus=false - -Delfutils=false - -Denvironment-d=false - -Dfdisk=false - -Dgcrypt=false - -Dglib=false - -Dgshadow=false - -Dgnutls=false - -Dhibernate=false - -Dhostnamed=false - -Didn=false - -Dima=false - -Dinitrd=false - -Dfirstboot=false - -Dldconfig=false - -Dlibcryptsetup=false - -Dlibcurl=false - -Dlibfido2=false - -Dlibidn=false - -Dlibidn2=false - -Dlibiptc=false - -Dlocaled=false - -Dlogind=false - -Dlz4=false - -Dmachined=false - -Dmicrohttpd=false - -Dnetworkd=false - -Dnscd=false - -Dnss-myhostname=false - -Dnss-resolve=false - -Dnss-systemd=false - -Doomd=false - -Dopenssl=false - -Dp11kit=false - -Dpam=false - -Dpcre2=false - -Dpolkit=false - -Dportabled=false - -Dpstore=false - -Dpwquality=false - -Drandomseed=false - -Dresolve=false - -Drfkill=false - -Dseccomp=false - -Dsmack=false - -Dsysext=false - -Dtimedated=false - -Dtimesyncd=false - -Dtpm=false - -Dqrencode=false - -Dquotacheck=false - -Duserdb=false - -Dutmp=false - -Dvconsole=false - -Dwheel-group=false - -Dxdg-autostart=false - -Dxkbcommon=false - -Dxz=false - -Dzlib=false - -Dzstd=false - ) - - if use tmpfiles || use udev; then - emesonargs+=( $(meson_native_use_bool acl) ) - else - emesonargs+=( -Dacl=false ) - fi - - if use udev; then - emesonargs+=( $(meson_native_use_bool kmod) ) - else - emesonargs+=( -Dkmod=false ) - fi - - if use elibc_musl; then - # Avoid redefinition of struct ethhdr. - append-cppflags -D__UAPI_DEF_ETHHDR=0 - fi - - if multilib_is_native_abi || use udev; then - meson_src_configure - fi -} - -efi_arch() { - case "$(tc-arch)" in - amd64) echo x64 ;; - arm) echo arm ;; - arm64) echo aa64 ;; - x86) echo x86 ;; - esac -} - -multilib_src_compile() { - local targets=() - if multilib_is_native_abi; then - if use boot; then - targets+=( - bootctl - kernel-install - man/bootctl.1 - man/kernel-install.8 - src/boot/efi/linux$(efi_arch).{efi,elf}.stub - src/boot/efi/systemd-boot$(efi_arch).efi - ) - fi - if use sysusers; then - targets+=( - systemd-sysusers.standalone - man/sysusers.d.5 - man/systemd-sysusers.8 - ) - if use test; then - targets+=( - systemd-runtest.env - ) - fi - fi - if use tmpfiles; then - targets+=( - systemd-tmpfiles.standalone - man/tmpfiles.d.5 - man/systemd-tmpfiles.8 - ) - if use test; then - targets+=( test-tmpfiles ) - fi - fi - if use udev; then - targets+=( - udevadm - systemd-hwdb - src/udev/ata_id - src/udev/cdrom_id - src/udev/fido_id - src/udev/mtd_probe - src/udev/scsi_id - src/udev/udev.pc - src/udev/v4l_id - man/udev.conf.5 - man/systemd.link.5 - man/hwdb.7 - man/udev.7 - man/systemd-hwdb.8 - man/systemd-udevd.service.8 - man/udevadm.8 - hwdb.d/60-autosuspend-chromiumos.hwdb - rules.d/50-udev-default.rules - rules.d/64-btrfs.rules - ) - if use test; then - targets+=( - # Used by udev-test.pl - systemd-detect-virt - test/sys - test-udev - - test-fido-id-desc - test-udev-builtin - test-udev-event - test-udev-netlink - test-udev-node - test-udev-util - ) - fi - fi - fi - if use udev; then - targets+=( - udev:shared_library - src/libudev/libudev.pc - ) - if use test; then - targets+=( - test-libudev - test-libudev-sym - test-udev-device-thread - ) - fi - fi - if multilib_is_native_abi || use udev; then - meson_src_compile "${targets[@]}" - fi -} - -multilib_src_test() { - local tests=() - if multilib_is_native_abi; then - if use sysusers; then - tests+=( - test-sysusers.standalone - ) - fi - if use tmpfiles; then - tests+=( - test-systemd-tmpfiles.standalone - test-tmpfiles - ) - fi - if use udev; then - tests+=( - rule-syntax-check - test-fido-id-desc - test-udev-builtin - test-udev-event - test-udev-netlink - test-udev-node - test-udev-util - ) - if [[ -w /dev ]]; then - tests+=( udev-test ) - else - ewarn "Skipping udev-test (needs write access to /dev)" - fi - fi - fi - if use udev; then - tests+=( - test-libudev - test-libudev-sym - test-udev-device-thread - ) - fi - if [[ ${#tests[@]} -ne 0 ]]; then - meson_src_test "${tests[@]}" - fi -} - -src_install() { - local rootprefix="$(usex split-usr '' /usr)" - meson-multilib_src_install -} - -multilib_src_install() { - if multilib_is_native_abi; then - if use boot; then - into /usr - dobin bootctl kernel-install - doman man/{bootctl.1,kernel-install.8} - insinto usr/lib/systemd/boot/efi - doins src/boot/efi/{linux$(efi_arch).{efi,elf}.stub,systemd-boot$(efi_arch).efi} - fi - if use sysusers; then - into "${rootprefix:-/}" - newbin systemd-sysusers{.standalone,} - doman man/{systemd-sysusers.8,sysusers.d.5} - fi - if use tmpfiles; then - into "${rootprefix:-/}" - newbin systemd-tmpfiles{.standalone,} - doman man/{systemd-tmpfiles.8,tmpfiles.d.5} - fi - if use udev; then - into "${rootprefix:-/}" - dobin udevadm systemd-hwdb - dosym ../../bin/udevadm "${rootprefix}"/lib/systemd/systemd-udevd - - exeinto "${rootprefix}"/lib/udev - doexe src/udev/{ata_id,cdrom_id,fido_id,mtd_probe,scsi_id,v4l_id} - - insinto "${rootprefix}"/lib/udev/rules.d - doins rules.d/*.rules - - insinto "${rootprefix}"/lib/udev/hwdb.d - doins hwdb.d/*.hwdb - - insinto /usr/share/pkgconfig - doins src/udev/udev.pc - - doman man/{udev.conf.5,systemd.link.5,hwdb.7,systemd-hwdb.8,udev.7,udevadm.8} - newman man/systemd-udevd.service.8 systemd-udevd.8 - fi - fi - if use udev; then - meson_install --no-rebuild --tags libudev - gen_usr_ldscript -a udev - insinto "/usr/$(get_libdir)/pkgconfig" - doins src/libudev/libudev.pc - fi -} - -multilib_src_install_all() { - einstalldocs - if use boot; then - into /usr - exeinto usr/lib/kernel/install.d - doexe src/kernel-install/*.install - dobashcomp shell-completion/bash/bootctl - insinto /usr/share/zsh/site-functions - doins shell-completion/zsh/{_bootctl,_kernel-install} - fi - if use tmpfiles; then - doinitd "${FILESDIR}"/systemd-tmpfiles-setup - doinitd "${FILESDIR}"/systemd-tmpfiles-setup-dev - exeinto /etc/cron.daily - doexe "${FILESDIR}"/systemd-tmpfiles-clean - insinto /usr/share/zsh/site-functions - doins shell-completion/zsh/_systemd-tmpfiles - fi - if use udev; then - doheader src/libudev/libudev.h - - insinto /etc/udev - doins src/udev/udev.conf - keepdir /etc/udev/{hwdb.d,rules.d} - - insinto "${rootprefix}"/lib/systemd/network - doins network/99-default.link - - # Remove to avoid conflict with elogind - # https://bugs.gentoo.org/856433 - rm rules.d/70-power-switch.rules || die - insinto "${rootprefix}"/lib/udev/rules.d - doins rules.d/*.rules - doins "${FILESDIR}"/40-gentoo.rules - - insinto "${rootprefix}"/lib/udev/hwdb.d - doins hwdb.d/*.hwdb - - dobashcomp shell-completion/bash/udevadm - - insinto /usr/share/zsh/site-functions - doins shell-completion/zsh/_udevadm - fi -} - -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_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 -} diff --git a/sys-apps/systemd/Manifest b/sys-apps/systemd/Manifest index 9e990364c44d..f0eea223ca3e 100644 --- a/sys-apps/systemd/Manifest +++ b/sys-apps/systemd/Manifest @@ -6,7 +6,6 @@ AUX gentoo-systemctl-disable-sysv-sync-r1.patch 821 BLAKE2B f5ef796725e023bb1ed8 AUX nsswitch.conf 734 BLAKE2B 5f5a7821a84f6c8aa31fe9a68c29a1a0f24be578d427a623f14a9ef795e7da481f226efe5511d92932b5edf5638fa719808a0c3a0b8fd340799dd6bcb703a0a1 SHA512 dcbd51dacaaebdff32edb3840cc7b9b47b6521009b8786690e3673a2e78bc60bfd8e591b1048c5d452117c6659b9917ae2864462f5057cc39b704b0130522e60 AUX systemd-user.pam 122 BLAKE2B cccc07cab47dfc0481438e503c34fa1a0b2c6b1f8ab282197719a523421d2a526f19230bb459e0347cbeb2046e35a407c78178a3fb5b79619e987cbc4ac7d5e4 SHA512 c5437677ff00fbb45798fe594e8d61b1c2bfc2d103105d7bd82e476240452477ac263700800f5d0ba91ddc895eb85f4517d5cb15c80611ec1680a686d47cd781 DIST systemd-stable-252.4.tar.gz 11753300 BLAKE2B 8819ca6d3a64c110e5a245ae0369dc431079556e200d13d8edfc64fc35b2b04f1cdc215b81d9bf126245f315be3662ebd2c094167f88d2465f0dce25aa1fd196 SHA512 d4e99a67c59091dae78f654433a6c5e114ae66256b72d9d43292c43a986ee6a58e2d06f12866cbd7ec821b61580ec003af1725f60fd4b038b4a981b3ca839ee2 -EBUILD systemd-252.4-r1.ebuild 15581 BLAKE2B 76186b1c5db04f6571f49c389502065e518a2a22b76d3b9bcacb6487f14650b4cb2211fb067366292fb62adc05b8f85d56f09488a69e1655b8af6e36110fbbfb SHA512 a028de4217001f66bd984acfc7ef59403022e2886b9b5953f3f84329adc59d771d8e977f37f77b300d04b4e4d5f3dc47a4b7543ae71525188fb2ba44107d2ccb -EBUILD systemd-252.4.ebuild 15063 BLAKE2B 83685abd7affddb16523be0c1d057c9e26d060755ee55f3191b769ee395aeda384e5aa7fd7876c95cf2d5dc0673aae604fdff0f566c6a3d252ed207448f935e8 SHA512 5be96cffbf8dda7ddd6dcc79de3fbb4652168baa4b4a3ba0b249bf16789d72326e5daed923cdb4d746d51986b280f345363876c8f7ab95d9f1898fca8df4a62d +EBUILD systemd-252.4-r1.ebuild 15573 BLAKE2B 92ceafc762c464491a1749f702667b898d8228d560ace390cdedd13715acf343ea4f782bf5ec0e6bb58601ac156d2a5bfe5d9d5d19bd991839c8d3c283846940 SHA512 497a035c612c242d99b347fcfdaaef4b91477071ac9c14a06139b8641318aad7966911972bbbcaba530de790f3aa62f532ac3285c9a7cc331988440900941ddc EBUILD systemd-9999.ebuild 14545 BLAKE2B ac0c340d7ca4a9bb205b6e2714cb8977e599e9f1fbe0192dcf38d22c4eddf65951860a0ae8ead0c5258eecafc02140884ad2a7544f9561740c2a17ecc797ffbb SHA512 add20e51c14b70ac9054863c7ea9d68c4570c7c1acbcabe954f2199ec4e1c862ccf4dcb473bd54bb4e813632e0741f076349c99f5b7f077e841760d32269b2c7 MISC metadata.xml 2545 BLAKE2B fc424b7f9e471860cba69b6f11ea2094c70f125cd55c42ea77e4549a399680c4444119c79424c266828a284b0214001421f760477b1341844dddd2d474d70c33 SHA512 f0b8c4614e3c88d123916bb3399d6025ab30ff839849b136a29e1960bf0c50699b3f09b5307f40b77cc8c5566c20b11de2364a08311adceb15507df3e4bb0565 diff --git a/sys-apps/systemd/systemd-252.4-r1.ebuild b/sys-apps/systemd/systemd-252.4-r1.ebuild index 6fe714436c48..da8684be0a84 100644 --- a/sys-apps/systemd/systemd-252.4-r1.ebuild +++ b/sys-apps/systemd/systemd-252.4-r1.ebuild @@ -32,7 +32,7 @@ else MY_P=${MY_PN}-${MY_PV} S=${WORKDIR}/${MY_P} SRC_URI="https://github.com/systemd/${MY_PN}/archive/v${MY_PV}/${MY_P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" fi inherit bash-completion-r1 flag-o-matic linux-info meson-multilib pam diff --git a/sys-apps/systemd/systemd-252.4.ebuild b/sys-apps/systemd/systemd-252.4.ebuild deleted file mode 100644 index 94c702e9d438..000000000000 --- a/sys-apps/systemd/systemd-252.4.ebuild +++ /dev/null @@ -1,520 +0,0 @@ -# Copyright 2011-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -PYTHON_COMPAT=( python3_{9..11} ) - -# Avoid QA warnings -TMPFILES_OPTIONAL=1 -UDEV_OPTIONAL=1 - -QA_PKGCONFIG_VERSION=$(ver_cut 1) - -if [[ ${PV} == 9999 ]]; then - EGIT_REPO_URI="https://github.com/systemd/systemd.git" - inherit git-r3 -else - if [[ ${PV} == *.* ]]; then - MY_PN=systemd-stable - else - MY_PN=systemd - fi - MY_PV=${PV/_/-} - MY_P=${MY_PN}-${MY_PV} - S=${WORKDIR}/${MY_P} - SRC_URI="https://github.com/systemd/${MY_PN}/archive/v${MY_PV}/${MY_P}.tar.gz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" -fi - -inherit bash-completion-r1 flag-o-matic linux-info meson-multilib pam -inherit python-any-r1 systemd toolchain-funcs udev usr-ldscript - -DESCRIPTION="System and service manager for Linux" -HOMEPAGE="http://systemd.io/" - -LICENSE="GPL-2 LGPL-2.1 MIT public-domain" -SLOT="0/2" -IUSE=" - acl apparmor audit cgroup-hybrid cryptsetup curl +dns-over-tls elfutils - fido2 +gcrypt gnuefi gnutls homed http idn importd iptables +kmod - +lz4 lzma +openssl pam pcre pkcs11 policykit pwquality qrcode - +resolvconf +seccomp selinux split-usr +sysv-utils test tpm vanilla xkb +zstd -" -REQUIRED_USE=" - dns-over-tls? ( || ( gnutls openssl ) ) - homed? ( cryptsetup pam openssl ) - importd? ( curl lzma || ( gcrypt openssl ) ) - pwquality? ( homed ) -" -RESTRICT="!test? ( test )" - -MINKV="4.15" - -COMMON_DEPEND=" - >=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}] - sys-libs/libcap:0=[${MULTILIB_USEDEP}] - virtual/libcrypt:=[${MULTILIB_USEDEP}] - acl? ( sys-apps/acl:0= ) - apparmor? ( sys-libs/libapparmor:0= ) - audit? ( >=sys-process/audit-2:0= ) - cryptsetup? ( >=sys-fs/cryptsetup-2.0.1:0= ) - curl? ( net-misc/curl:0= ) - elfutils? ( >=dev-libs/elfutils-0.158:0= ) - fido2? ( dev-libs/libfido2:0= ) - gcrypt? ( >=dev-libs/libgcrypt-1.4.5:0=[${MULTILIB_USEDEP}] ) - gnutls? ( >=net-libs/gnutls-3.6.0:0= ) - http? ( >=net-libs/libmicrohttpd-0.9.33:0=[epoll(+)] ) - idn? ( net-dns/libidn2:= ) - importd? ( - app-arch/bzip2:0= - sys-libs/zlib:0= - ) - kmod? ( >=sys-apps/kmod-15:0= ) - lz4? ( >=app-arch/lz4-0_p131:0=[${MULTILIB_USEDEP}] ) - lzma? ( >=app-arch/xz-utils-5.0.5-r1:0=[${MULTILIB_USEDEP}] ) - iptables? ( net-firewall/iptables:0= ) - openssl? ( >=dev-libs/openssl-1.1.0:0= ) - pam? ( sys-libs/pam:=[${MULTILIB_USEDEP}] ) - pkcs11? ( app-crypt/p11-kit:0= ) - pcre? ( dev-libs/libpcre2 ) - pwquality? ( dev-libs/libpwquality:0= ) - qrcode? ( media-gfx/qrencode:0= ) - seccomp? ( >=sys-libs/libseccomp-2.3.3:0= ) - selinux? ( sys-libs/libselinux:0= ) - tpm? ( app-crypt/tpm2-tss:0= ) - xkb? ( >=x11-libs/libxkbcommon-0.4.1:0= ) - zstd? ( >=app-arch/zstd-1.4.0:0=[${MULTILIB_USEDEP}] ) -" - -# Newer linux-headers needed by ia64, bug #480218 -DEPEND="${COMMON_DEPEND} - >=sys-kernel/linux-headers-${MINKV} - gnuefi? ( >=sys-boot/gnu-efi-3.0.2 ) -" - -# baselayout-2.2 has /run -RDEPEND="${COMMON_DEPEND} - >=acct-group/adm-0-r1 - >=acct-group/wheel-0-r1 - >=acct-group/kmem-0-r1 - >=acct-group/tty-0-r1 - >=acct-group/utmp-0-r1 - >=acct-group/audio-0-r1 - >=acct-group/cdrom-0-r1 - >=acct-group/dialout-0-r1 - >=acct-group/disk-0-r1 - >=acct-group/input-0-r1 - >=acct-group/kvm-0-r1 - >=acct-group/lp-0-r1 - >=acct-group/render-0-r1 - acct-group/sgx - >=acct-group/tape-0-r1 - acct-group/users - >=acct-group/video-0-r1 - >=acct-group/systemd-journal-0-r1 - >=acct-user/root-0-r1 - acct-user/nobody - >=acct-user/systemd-journal-remote-0-r1 - >=acct-user/systemd-coredump-0-r1 - >=acct-user/systemd-network-0-r1 - acct-user/systemd-oom - >=acct-user/systemd-resolve-0-r1 - >=acct-user/systemd-timesync-0-r1 - >=sys-apps/baselayout-2.2 - selinux? ( - sec-policy/selinux-base-policy[systemd] - sec-policy/selinux-ntp - ) - sysv-utils? ( - !sys-apps/openrc[sysv-utils(-)] - !sys-apps/sysvinit - ) - !sysv-utils? ( sys-apps/sysvinit ) - resolvconf? ( !net-dns/openresolv ) - !sys-apps/hwids[udev] - !sys-auth/nss-myhostname - !sys-fs/eudev - !sys-fs/udev -" - -# sys-apps/dbus: the daemon only (+ build-time lib dep for tests) -PDEPEND=">=sys-apps/dbus-1.9.8[systemd] - >=sys-fs/udev-init-scripts-34 - policykit? ( sys-auth/polkit ) - !vanilla? ( sys-apps/gentoo-systemd-integration )" - -BDEPEND=" - app-arch/xz-utils:0 - dev-util/gperf - >=dev-util/meson-0.46 - >=sys-apps/coreutils-8.16 - sys-devel/gettext - virtual/pkgconfig - test? ( - app-text/tree - dev-lang/perl - sys-apps/dbus - ) - app-text/docbook-xml-dtd:4.2 - app-text/docbook-xml-dtd:4.5 - app-text/docbook-xsl-stylesheets - dev-libs/libxslt:0 - $(python_gen_any_dep 'dev-python/jinja[${PYTHON_USEDEP}]') - $(python_gen_any_dep 'dev-python/lxml[${PYTHON_USEDEP}]') -" - -python_check_deps() { - python_has_version "dev-python/jinja[${PYTHON_USEDEP}]" && - python_has_version "dev-python/lxml[${PYTHON_USEDEP}]" -} - -QA_FLAGS_IGNORED="usr/lib/systemd/boot/efi/.*" -QA_EXECSTACK="usr/lib/systemd/boot/efi/*" - -pkg_pretend() { - if [[ ${MERGE_TYPE} != buildonly ]]; then - if use test && has pid-sandbox ${FEATURES}; then - ewarn "Tests are known to fail with PID sandboxing enabled." - ewarn "See https://bugs.gentoo.org/674458." - fi - - local CONFIG_CHECK=" ~BINFMT_MISC ~BLK_DEV_BSG ~CGROUPS - ~CGROUP_BPF ~DEVTMPFS ~EPOLL ~FANOTIFY ~FHANDLE - ~INOTIFY_USER ~IPV6 ~NET ~NET_NS ~PROC_FS ~SIGNALFD ~SYSFS - ~TIMERFD ~TMPFS_XATTR ~UNIX ~USER_NS - ~CRYPTO_HMAC ~CRYPTO_SHA256 ~CRYPTO_USER_API_HASH - ~!GRKERNSEC_PROC ~!IDE ~!SYSFS_DEPRECATED - ~!SYSFS_DEPRECATED_V2" - - use acl && CONFIG_CHECK+=" ~TMPFS_POSIX_ACL" - use seccomp && CONFIG_CHECK+=" ~SECCOMP ~SECCOMP_FILTER" - - if kernel_is -ge 5 10 20; then - CONFIG_CHECK+=" ~KCMP" - else - CONFIG_CHECK+=" ~CHECKPOINT_RESTORE" - fi - - if kernel_is -ge 4 18; then - CONFIG_CHECK+=" ~AUTOFS_FS" - else - CONFIG_CHECK+=" ~AUTOFS4_FS" - fi - - if linux_config_exists; then - local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH) - if [[ -n ${uevent_helper_path} ]] && [[ ${uevent_helper_path} != '""' ]]; then - ewarn "It's recommended to set an empty value to the following kernel config option:" - ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}" - fi - if linux_chkconfig_present X86; then - CONFIG_CHECK+=" ~DMIID" - fi - fi - - if kernel_is -lt ${MINKV//./ }; then - ewarn "Kernel version at least ${MINKV} required" - fi - - check_extra_config - fi -} - -pkg_setup() { - : -} - -src_unpack() { - default - [[ ${PV} != 9999 ]] || git-r3_src_unpack -} - -src_prepare() { - local PATCHES=( - ) - - if ! use vanilla; then - PATCHES+=( - "${FILESDIR}/gentoo-generator-path-r2.patch" - "${FILESDIR}/gentoo-systemctl-disable-sysv-sync-r1.patch" - "${FILESDIR}/gentoo-journald-audit.patch" - ) - fi - - # Fails with split-usr. - sed -i -e '2i exit 77' test/test-rpm-macros.sh || die - - default -} - -src_configure() { - # Prevent conflicts with i686 cross toolchain, bug 559726 - tc-export AR CC NM OBJCOPY RANLIB - - # Broken with FORTIFY_SOURCE=3: bug #841770. - # - # Our toolchain sets F_S=2 by default w/ >= -O2, so we need - # to unset F_S first, then explicitly set 2, to negate any default - # and anything set by the user if they're choosing 3 (or if they've - # modified GCC to set 3). - # - if is-flagq '-O[23]' || is-flagq '-Ofast' ; then - # We can't unconditionally do this b/c we fortify needs - # some level of optimisation. - filter-flags -D_FORTIFY_SOURCE=3 - append-cppflags -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 - fi - - python_setup - - multilib-minimal_src_configure -} - -multilib_src_configure() { - local myconf=( - --localstatedir="${EPREFIX}/var" - -Dsupport-url="https://gentoo.org/support/" - -Dpamlibdir="$(getpam_mod_dir)" - # avoid bash-completion dep - -Dbashcompletiondir="$(get_bashcompdir)" - $(meson_use split-usr) - $(meson_use split-usr split-bin) - -Drootprefix="$(usex split-usr "${EPREFIX:-/}" "${EPREFIX}/usr")" - -Drootlibdir="${EPREFIX}/usr/$(get_libdir)" - # Avoid infinite exec recursion, bug 642724 - -Dtelinit-path="${EPREFIX}/lib/sysvinit/telinit" - # no deps - -Dima=true - -Ddefault-hierarchy=$(usex cgroup-hybrid hybrid unified) - # Optional components/dependencies - $(meson_native_use_bool acl) - $(meson_native_use_bool apparmor) - $(meson_native_use_bool audit) - $(meson_native_use_bool cryptsetup libcryptsetup) - $(meson_native_use_bool curl libcurl) - $(meson_native_use_bool dns-over-tls dns-over-tls) - $(meson_native_use_bool elfutils) - $(meson_native_use_bool fido2 libfido2) - $(meson_use gcrypt) - $(meson_native_use_bool gnuefi gnu-efi) - $(meson_native_use_bool gnutls) - -Defi-includedir="${ESYSROOT}/usr/include/efi" - -Defi-libdir="${ESYSROOT}/usr/$(get_libdir)" - $(meson_native_use_bool homed) - $(meson_native_use_bool http microhttpd) - $(meson_native_use_bool idn) - $(meson_native_use_bool importd) - $(meson_native_use_bool importd bzip2) - $(meson_native_use_bool importd zlib) - $(meson_native_use_bool kmod) - $(meson_use lz4) - $(meson_use lzma xz) - $(meson_use zstd) - $(meson_native_use_bool iptables libiptc) - $(meson_native_use_bool openssl) - $(meson_use pam) - $(meson_native_use_bool pkcs11 p11kit) - $(meson_native_use_bool pcre pcre2) - $(meson_native_use_bool policykit polkit) - $(meson_native_use_bool pwquality) - $(meson_native_use_bool qrcode qrencode) - $(meson_native_use_bool seccomp) - $(meson_native_use_bool selinux) - $(meson_native_use_bool tpm tpm2) - $(meson_native_use_bool test dbus) - $(meson_native_use_bool xkb xkbcommon) - -Dntp-servers="0.gentoo.pool.ntp.org 1.gentoo.pool.ntp.org 2.gentoo.pool.ntp.org 3.gentoo.pool.ntp.org" - # Breaks screen, tmux, etc. - -Ddefault-kill-user-processes=false - -Dcreate-log-dirs=false - - # multilib options - $(meson_native_true backlight) - $(meson_native_true binfmt) - $(meson_native_true coredump) - $(meson_native_true environment-d) - $(meson_native_true firstboot) - $(meson_native_true hibernate) - $(meson_native_true hostnamed) - $(meson_native_true ldconfig) - $(meson_native_true localed) - $(meson_native_true man) - $(meson_native_true networkd) - $(meson_native_true quotacheck) - $(meson_native_true randomseed) - $(meson_native_true rfkill) - $(meson_native_true sysusers) - $(meson_native_true timedated) - $(meson_native_true timesyncd) - $(meson_native_true tmpfiles) - $(meson_native_true vconsole) - ) - - meson_src_configure "${myconf[@]}" -} - -multilib_src_test() { - unset DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR - meson_src_test -} - -multilib_src_install_all() { - local rootprefix=$(usex split-usr '' /usr) - local sbin=$(usex split-usr sbin bin) - - # meson doesn't know about docdir - mv "${ED}"/usr/share/doc/{systemd,${PF}} || die - - einstalldocs - dodoc "${FILESDIR}"/nsswitch.conf - - if ! use resolvconf; then - rm -f "${ED}${rootprefix}/${sbin}"/resolvconf || die - fi - - rm "${ED}"/etc/init.d/README || die - rm "${ED}${rootprefix}"/lib/systemd/system-generators/systemd-sysv-generator || die - - if ! use sysv-utils; then - rm "${ED}${rootprefix}/${sbin}"/{halt,init,poweroff,reboot,runlevel,shutdown,telinit} || die - rm "${ED}"/usr/share/man/man1/init.1 || die - rm "${ED}"/usr/share/man/man8/{halt,poweroff,reboot,runlevel,shutdown,telinit}.8 || die - fi - - if ! use resolvconf && ! use sysv-utils && use split-usr; then - rmdir "${ED}${rootprefix}"/sbin || die - fi - - # https://bugs.gentoo.org/761763 - rm -r "${ED}"/usr/lib/sysusers.d || die - - # Preserve empty dirs in /etc & /var, bug #437008 - keepdir /etc/{binfmt.d,modules-load.d,tmpfiles.d} - keepdir /etc/kernel/install.d - keepdir /etc/systemd/{network,system,user} - keepdir /etc/udev/rules.d - - keepdir /etc/udev/hwdb.d - - keepdir "${rootprefix}"/lib/systemd/{system-sleep,system-shutdown} - keepdir /usr/lib/{binfmt.d,modules-load.d} - keepdir /usr/lib/systemd/user-generators - keepdir /var/lib/systemd - keepdir /var/log/journal - - # Symlink /etc/sysctl.conf for easy migration. - dosym ../../../etc/sysctl.conf /usr/lib/sysctl.d/99-sysctl.conf - - if use pam; then - newpamd "${FILESDIR}"/systemd-user.pam systemd-user - fi - - if use split-usr; then - # Avoid breaking boot/reboot - dosym ../../../lib/systemd/systemd /usr/lib/systemd/systemd - dosym ../../../lib/systemd/systemd-shutdown /usr/lib/systemd/systemd-shutdown - fi - - gen_usr_ldscript -a systemd udev -} - -migrate_locale() { - local envd_locale_def="${EROOT}/etc/env.d/02locale" - local envd_locale=( "${EROOT}"/etc/env.d/??locale ) - local locale_conf="${EROOT}/etc/locale.conf" - - if [[ ! -L ${locale_conf} && ! -e ${locale_conf} ]]; then - # If locale.conf does not exist... - if [[ -e ${envd_locale} ]]; then - # ...either copy env.d/??locale if there's one - ebegin "Moving ${envd_locale} to ${locale_conf}" - mv "${envd_locale}" "${locale_conf}" - eend ${?} || FAIL=1 - else - # ...or create a dummy default - ebegin "Creating ${locale_conf}" - cat > "${locale_conf}" <<-EOF - # This file has been created by the sys-apps/systemd ebuild. - # See locale.conf(5) and localectl(1). - - # LANG=${LANG} - EOF - eend ${?} || FAIL=1 - fi - fi - - if [[ ! -L ${envd_locale} ]]; then - # now, if env.d/??locale is not a symlink (to locale.conf)... - if [[ -e ${envd_locale} ]]; then - # ...warn the user that he has duplicate locale settings - ewarn - ewarn "To ensure consistent behavior, you should replace ${envd_locale}" - ewarn "with a symlink to ${locale_conf}. Please migrate your settings" - ewarn "and create the symlink with the following command:" - ewarn "ln -s -n -f ../locale.conf ${envd_locale}" - ewarn - else - # ...or just create the symlink if there's nothing here - ebegin "Creating ${envd_locale_def} -> ../locale.conf symlink" - ln -n -s ../locale.conf "${envd_locale_def}" - eend ${?} || FAIL=1 - fi - fi -} - -pkg_preinst() { - if ! use split-usr; then - local dir - for dir in bin sbin lib usr/sbin; do - if [[ ! -L ${EROOT}/${dir} ]]; then - eerror "'${EROOT}/${dir}' is not a symbolic link." - FAIL=1 - fi - done - if [[ ${FAIL} ]]; then - eerror "Migration to system layout with merged directories must be performed before" - eerror "installing ${CATEGORY}/${PN} with USE=\"-split-usr\" to avoid run-time breakage." - die "System layout with split directories still used" - fi - fi -} - -pkg_postinst() { - systemd_update_catalog - - # Keep this here in case the database format changes so it gets updated - # when required. - systemd-hwdb --root="${ROOT}" update - - udev_reload || FAIL=1 - - # Bug 465468, make sure locales are respected, and ensure consistency - # between OpenRC & systemd - migrate_locale - - if [[ -z ${REPLACING_VERSIONS} ]]; then - if type systemctl &>/dev/null; then - systemctl --root="${ROOT:-/}" enable getty@.service remote-fs.target || FAIL=1 - fi - elog "To enable a useful set of services, run the following:" - elog " systemctl preset-all --preset-mode=enable-only" - fi - - if [[ -L ${EROOT}/var/lib/systemd/timesync ]]; then - rm "${EROOT}/var/lib/systemd/timesync" - fi - - if [[ ${FAIL} ]]; then - eerror "One of the postinst commands failed. Please check the postinst output" - eerror "for errors. You may need to clean up your system and/or try installing" - eerror "systemd again." - eerror - fi -} - -pkg_prerm() { - # If removing systemd completely, remove the catalog database. - if [[ ! ${REPLACED_BY_VERSION} ]]; then - rm -f -v "${EROOT}"/var/lib/systemd/catalog/database - fi -} -- cgit v1.2.3