From 21dbcce41990b13f301240313be05c8d013a9258 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 28 Jan 2023 08:51:03 +0000 Subject: gentoo auto-resync : 28:01:2023 - 08:51:03 --- sys-apps/Manifest.gz | Bin 48612 -> 48594 bytes sys-apps/baselayout/Manifest | 4 +- sys-apps/baselayout/baselayout-2.12.ebuild | 381 --------------- sys-apps/baselayout/baselayout-2.13.ebuild | 376 +++++++++++++++ sys-apps/fwupd-efi/Manifest | 2 +- sys-apps/fwupd-efi/fwupd-efi-1.4.ebuild | 2 +- sys-apps/systemd-utils/Manifest | 4 + sys-apps/systemd-utils/files/legacy.conf | 3 + sys-apps/systemd-utils/systemd-utils-252.4.ebuild | 536 +++++++++++++++++++++ sys-apps/usbguard/Manifest | 3 +- .../usbguard/files/usbguard-1.1.2-gcc-13.patch | 19 + sys-apps/usbguard/usbguard-1.1.2.ebuild | 6 +- 12 files changed, 949 insertions(+), 387 deletions(-) delete mode 100644 sys-apps/baselayout/baselayout-2.12.ebuild create mode 100644 sys-apps/baselayout/baselayout-2.13.ebuild create mode 100644 sys-apps/systemd-utils/files/legacy.conf create mode 100644 sys-apps/systemd-utils/systemd-utils-252.4.ebuild create mode 100644 sys-apps/usbguard/files/usbguard-1.1.2-gcc-13.patch (limited to 'sys-apps') diff --git a/sys-apps/Manifest.gz b/sys-apps/Manifest.gz index 07a86aabb631..f599565f71f5 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 9e891f0ea434..d45ef354370d 100644 --- a/sys-apps/baselayout/Manifest +++ b/sys-apps/baselayout/Manifest @@ -1,6 +1,6 @@ -DIST baselayout-2.12.tar.bz2 29275 BLAKE2B 5708137748e484555ed7f91301c5bc079189e744fc14f708d8b95ab82ad9392166690af6424ee486d95c7b0ce85b6f23fcadd7f95c31920a3424e86431d9b41f SHA512 8c4ad7cf459254c07d1a05300b5e9a600aa259a0f38c55e74c0a60a1a1f9da92c9de5de58cfb735738b64deb6955d6f80ae174925cded07c61c3371323dce152 +DIST baselayout-2.13.tar.bz2 29423 BLAKE2B a399e515297d3a936c5821205f1f0d6de844580099936be50e80a463b9fa6239aead52b7b371136680e263e326f7e6a1faea8cd8db0f11462cf0e8166707fc91 SHA512 ff16f20cf2c65258ab6d48c403607113f84fc57ffee6650652202746095f402f8c6a4f22040d0bb9310180945131bed6a0fda3717b39080a987e4f5224339095 DIST baselayout-2.9.tar.bz2 30200 BLAKE2B 3a997e847e853a5bcdce7eb06d50fda4727a6c408ca614bdc8dd576bfc9296d3c625c4e8791dbdb078dd5088f818e5ee98eea5d14d737f465ed225554da26180 SHA512 c07726141446c9d9202bac19642baf819b28a838814e1dd3c200d1768af64a913bd9188923029e0b0edf7e420d5aad7bdde278d6c24c4f40029fddbad28d8e02 -EBUILD baselayout-2.12.ebuild 12182 BLAKE2B 5fe1fc77b11ed2a707ee2d17eb71a69b5043f0357acf04fbf2d3de200117c67846c56a5cd9b4fd11438dbdfa0459b53c9a12885d8d4619a12da7f66b35bc1d85 SHA512 16150e29d1ce45b2f86c73c68164a067069bd6d73808f26f593fe419e31e86c23e749d535dd10e412a43bef634b24a52c5c60cd5cb27e4b6e3611122453c60d4 +EBUILD baselayout-2.13.ebuild 12075 BLAKE2B 88a8a009340fbb0ff7d2097e3d84ffbab7d6e26fcc40b41b726bc917156ece802ff5c21ecb6c851844c6fe926b34fbfbbc71b6d4df93c4afdbef4c8ed402f7f9 SHA512 5797dc61cede904f3991602be25e3636c714ddc92ae654ea23bd604b6cfc55c040fa9d0098781b12157cb483a717b8241eb8b489e3233704b2175e22f912ed18 EBUILD baselayout-2.9.ebuild 11818 BLAKE2B f60a5ccef7e0e77177dc2ad7e15048e3c83bf94981f7274264c0a9d18d2ac0a102456f2c06116a6e3f39bc01a3275d702c3bf7df64a3f81ee34ef744787da321 SHA512 2b07ce978ad790e0f97021af002731015f40291f8b881c08586c856011ebde4b0e4941d7fb557ba413e3c422023412f441803e5ce8860a39e27c7193b1f69537 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.12.ebuild b/sys-apps/baselayout/baselayout-2.12.ebuild deleted file mode 100644 index 845f7f7a8dfb..000000000000 --- a/sys-apps/baselayout/baselayout-2.12.ebuild +++ /dev/null @@ -1,381 +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_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-2.13.ebuild b/sys-apps/baselayout/baselayout-2.13.ebuild new file mode 100644 index 000000000000..97ceb30c3290 --- /dev/null +++ b/sys-apps/baselayout/baselayout-2.13.ebuild @@ -0,0 +1,376 @@ +# 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 + + # Restore /var/run and /var/lock if we just removed them from 2.11 or 2.12 + if [[ ! -L ${EROOT}/var/run && ! -e ${EROOT}/var/run ]]; then + ln -s ../run "${EROOT}"/var/run + fi + if [[ ! -L ${EROOT}/var/lock && ! -e ${EROOT}/var/lock ]]; then + ln -s ../run/lock "${EROOT}"/var/lock + fi +} diff --git a/sys-apps/fwupd-efi/Manifest b/sys-apps/fwupd-efi/Manifest index 6a6e4e2e0db9..eb4145f8c769 100644 --- a/sys-apps/fwupd-efi/Manifest +++ b/sys-apps/fwupd-efi/Manifest @@ -1,5 +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 +EBUILD fwupd-efi-1.4.ebuild 1146 BLAKE2B 552c82e281d6ec4db28edb9e49a832353e86b589b914eacd41dcb101b7cc33aee2e35c3d1207fffe769811f0b920cd61c15a7d8bda02e84f58b640bb400e1acd SHA512 7da2025343b4a4bd4412747b2c90405600e8a03542c31189eec2df7e69d6f222225828eb9bdfee9bac7c6d7c9bd4a67caaf1badf8c0e36ea42000000d16e6434 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 index 845fd79ccd63..6afdaf1dec4b 100644 --- a/sys-apps/fwupd-efi/fwupd-efi-1.4.ebuild +++ b/sys-apps/fwupd-efi/fwupd-efi-1.4.ebuild @@ -15,7 +15,7 @@ if [[ ${PV} = *9999 ]]; then 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" + KEYWORDS="~amd64 ~arm64 ~x86" fi LICENSE="LGPL-2.1+" diff --git a/sys-apps/systemd-utils/Manifest b/sys-apps/systemd-utils/Manifest index 8256d53ce7ea..d58a0465f11e 100644 --- a/sys-apps/systemd-utils/Manifest +++ b/sys-apps/systemd-utils/Manifest @@ -1,10 +1,14 @@ AUX 251-gpt-auto-no-cryptsetup.patch 958 BLAKE2B 7067224e613433fcb139c38597552e080e07d33b207965a9c9a2b3d4e353c43dae38e6800d6ce28cadcba5f914b1b49e80fa48929df2c4bb96248bfeb6bf6aa5 SHA512 6a78bbdde3aae9a2ad4c4f824eb5281ca9ab24770516ad7c9a9e3daf7f39475bf9b4dd868c857a9833dd408db801393f949b8fae1700b2ad04ea822dc84e3429 AUX 251-tmpfiles-ub.patch 2892 BLAKE2B 0c65c90c0a631a48b7f3b8194350fb90e6915e0e7f32b0de87cfb83ca170f68576017efbe8a531fdeb01485ac6840a4c75628d1a384e750fc5094dff68dddcab SHA512 5c4fac1933a0b8443b80cff7069f21904773d486f30be24337f2b68234c708568ccd0f1ab216968ce71f760e4e27f85912971cdb9dd3ee724d7e6a2d8bc917d7 AUX 40-gentoo.rules 167 BLAKE2B 07116c6e5aab7de9fa8a88c6cdd9ad76a09d797d6f7bc3d0535c93ccf83486bbdae8f68d682714576b072a174df070505cce9c6f4b729e91a6f61ed89da72e8e SHA512 92e2be610839432f46cefab4d128825199dc9f2c5ef33119f9ff84dfe635ef56a4f7aaed64ba52ea2798868b00c3a1b7955caa33219aa298c6a2b8290181f94b +AUX legacy.conf 97 BLAKE2B 6c3048ec4e3a54b1091d0b844b11549a0173eec749bb936fe344471330b767fe83b60945683439f2c3dba51c622cae3b51e5a48e03a4cc06d90e9bd5a2b02f90 SHA512 1defbf2cb3cc72f4c1ab2898dce13fccb6e0570b1e503ce563e55c0f21f00807a6e9330e559c51dc7bf7a483d3d5e77226aabce345a8e9af269465993d291184 AUX systemd-tmpfiles-clean 58 BLAKE2B 6a33f92a136218f3a27ea31e5cdd519706b15a3bba368f6f900d1d540f50493905a2cdab35ee3d216c9cb45e821251bfacc4965ad5a2ca7b1e1ae5627f4a3680 SHA512 3084eb1623b56cb09e4c9bd3e314a3e1d6d88f002149bea75b1c506a30b6345c51c7a90a1330baa5eec86ae6b90116f9970d8ff5add91929167df84bef6e82fe AUX systemd-tmpfiles-setup 329 BLAKE2B 7b4d801ec7c29a3d6073c47af8fa1c9fa670b3762c5358d0008ecf372e675e3f65cba3ea453d374c5e23453cfe32252421b69dff23aaeea636c611b960eb7b11 SHA512 cd7f7c69d1b1861cb4eac90d44579361e365ee77906376b6124ff79ba1c0d414b8891ffca19e715585d7400bddc5e9ad973f191125039a4a2c37acb95a111c37 AUX systemd-tmpfiles-setup-dev 342 BLAKE2B 95956e57d4f2aa10a09f23c08045ceed6fac3c569ee604a83707310f074740a41832d2e3fa3b528a3816202132e18be50ce40dbcded9430031ed9a2a172d3187 SHA512 3c5e29fc5bc2829984458149de1186075eec48775983376a8b47da162cbf4892754f19a3b277170f8b759a862bb5d910789da1db2bbf8447d6dacccb411be222 DIST systemd-musl-patches-251.2.tar.gz 28512 BLAKE2B 4ac6a5220dab8409962a3954af2fb2484af718d0f282129957236ce241fbe8538a90d507a96c7c3d86f4f408ab784a6888b37486405d3276e7734a1bd5aa9680 SHA512 6e56b62234ac54929faea5a7cad699d0b932f869b48e3ba4e1f349a88653b7c787efec24a09b00290c3dc566614e3c1dc2f3c04f04e943f513108a91eca1be82 +DIST systemd-musl-patches-252.4.tar.gz 25053 BLAKE2B 1d75f85ea0c48c788e9199e2d919bac90edce16a9788a349332cf308c32fb9510ac2883f8e09f21e7f37fbac2e557dc39cdf44dcd7a986587c40dedd2d1b5df5 SHA512 1dc8e220eae1869eb4bb50f9c701392542b053099cf9b6bde13f12a2d26fa29984819a8b4ce1b6c57e38a71f86324469a87cf9e22abe0f6d67ac3e84c6b9a3ba DIST systemd-stable-251.10.tar.gz 11461671 BLAKE2B a351b6dd9fc307e4bdcf0323b16e7f58c714392cfa466180a81196309c289b54767bfe5d03037eb1bd6b273d7eb8f6f42b927aabaa1310be04266675d1a3dd06 SHA512 49e33dbbc1b2ebe123b2f722070c87524b3126d1e605fb3e24a3f9f328ab67de506dc4588a92caf157428c21b9c73c3884726c4a5b1f67bb997d4a68bb871e5b +DIST systemd-stable-252.4.tar.gz 11753300 BLAKE2B 8819ca6d3a64c110e5a245ae0369dc431079556e200d13d8edfc64fc35b2b04f1cdc215b81d9bf126245f315be3662ebd2c094167f88d2465f0dce25aa1fd196 SHA512 d4e99a67c59091dae78f654433a6c5e114ae66256b72d9d43292c43a986ee6a58e2d06f12866cbd7ec821b61580ec003af1725f60fd4b038b4a981b3ca839ee2 EBUILD systemd-utils-251.10-r1.ebuild 12415 BLAKE2B bd2c1f0960921f5d30da85177f39bb640d349cc63fbd1a9dc88d6f1ea977bd0ed975b513efab12954a06de273608bee96c55af2388b06d93c6e830efbf7302f2 SHA512 9343eec81e5f93c2995f3b71f100efdded98615475a8cb65f42a884bded6806ec19cfa24b8e0b37e9cd37c8b294bc5e7b163c9f297ff0aafb11a0158fab60c74 +EBUILD systemd-utils-252.4.ebuild 12486 BLAKE2B ea8934243a03eb401e61cc142549e1458f7853beb0ce077090ea7933f9a378860a92e1c2b29cad4e6e7c7567f46ec9a6ed540ac32d0685fa6290db671bd36fca SHA512 2d52c728acd7cb563a5c66a77682d2e4b72a6c2da1afa8e2cf47fc268c72b6ed8dbdf02f132833d327822a98d768ca183e986df0b4bd29ac9e60e374e504ee19 MISC metadata.xml 713 BLAKE2B 1dcb5d9949600c9a8c8ac0c005ffa03b2ca91293a932fa96092a24c094e9fb29f2cf063af041432c12daec4aa4e60d11ea77ed0a423e188095f995c68e75b91a SHA512 46d167a6d898abfc56130e373d232c18fb3ef8865755379fa7678c049515458e7354b7a8cab3bf3faa7326932cccceb0b0745b4695ab9bea492bc2344abf9da4 diff --git a/sys-apps/systemd-utils/files/legacy.conf b/sys-apps/systemd-utils/files/legacy.conf new file mode 100644 index 000000000000..cbcac747e5d8 --- /dev/null +++ b/sys-apps/systemd-utils/files/legacy.conf @@ -0,0 +1,3 @@ +# Based on legacy.conf from systemd +d /run/lock 0755 root root - +L /var/lock - - - - ../run/lock diff --git a/sys-apps/systemd-utils/systemd-utils-252.4.ebuild b/sys-apps/systemd-utils/systemd-utils-252.4.ebuild new file mode 100644 index 000000000000..191d25923fb0 --- /dev/null +++ b/sys-apps/systemd-utils/systemd-utils-252.4.ebuild @@ -0,0 +1,536 @@ +# Copyright 2022-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +PYTHON_COMPAT=( python3_{9..11} ) + +if [[ ${PV} != 25[12].* ]] ; then + # The F_S=3 issues should be fixed in 253. + # - https://github.com/systemd/systemd/issues/22801 + # - https://github.com/systemd/systemd/pull/25967 + # - https://github.com/systemd/systemd/commit/7929e180aa47a2692ad4f053afac2857d7198758 + # - https://github.com/systemd/systemd/commit/4f79f545b3c46c358666c9f5f2b384fe50aac4b4 + die "Please remove the FORTIFY_SOURCE hacks in src_configure." +fi + +QA_PKGCONFIG_VERSION=$(ver_cut 1) + +inherit bash-completion-r1 flag-o-matic meson-multilib python-any-r1 toolchain-funcs udev usr-ldscript + +DESCRIPTION="Utilities split out from systemd for OpenRC users" +HOMEPAGE="https://systemd.io/" + +if [[ ${PV} == *.* ]]; then + MY_P="systemd-stable-${PV}" + S="${WORKDIR}/${MY_P}" + SRC_URI="https://github.com/systemd/systemd-stable/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz" +else + MY_P="systemd-${PV}" + S="${WORKDIR}/${MY_P}" + SRC_URI="https://github.com/systemd/systemd/archive/refs/tags/v${PV}.tar.gz -> ${MY_P}.tar.gz" +fi + +MUSL_PATCHSET="systemd-musl-patches-252.4" +SRC_URI+=" elibc_musl? ( https://dev.gentoo.org/~floppym/dist/${MUSL_PATCHSET}.tar.gz )" + +LICENSE="GPL-2 LGPL-2.1 MIT public-domain" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="+acl boot +kmod selinux split-usr sysusers +tmpfiles test +udev" +REQUIRED_USE="|| ( boot tmpfiles sysusers udev )" +RESTRICT="!test? ( test )" + +COMMON_DEPEND=" + elibc_musl? ( >=sys-libs/musl-1.2.3 ) + selinux? ( sys-libs/libselinux:0= ) + tmpfiles? ( + acl? ( sys-apps/acl:0= ) + ) + udev? ( + >=sys-apps/util-linux-2.30:0=[${MULTILIB_USEDEP}] + sys-libs/libcap:0=[${MULTILIB_USEDEP}] + virtual/libcrypt:=[${MULTILIB_USEDEP}] + acl? ( sys-apps/acl:0= ) + kmod? ( >=sys-apps/kmod-15:0= ) + ) + !udev? ( + >=sys-apps/util-linux-2.30:0= + sys-libs/libcap:0= + virtual/libcrypt:= + ) +" +DEPEND="${COMMON_DEPEND} + >=sys-kernel/linux-headers-3.11 + boot? ( >=sys-boot/gnu-efi-3.0.2 ) +" +RDEPEND="${COMMON_DEPEND} + boot? ( != -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 + tmpfiles.d/{etc,static-nodes-permissions,var}.conf + ) + 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-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} + insinto /usr/lib/tmpfiles.d + doins tmpfiles.d/{etc,static-nodes-permissions,var}.conf + 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 + insinto /usr/lib/tmpfiles.d + doins tmpfiles.d/{tmp,x11}.conf + doins "${FILESDIR}"/legacy.conf + 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/usbguard/Manifest b/sys-apps/usbguard/Manifest index 300ebde2990f..b61efe8baf16 100644 --- a/sys-apps/usbguard/Manifest +++ b/sys-apps/usbguard/Manifest @@ -1,5 +1,6 @@ AUX usbguard-0.7.6-usbguard-dbus.openrc 278 BLAKE2B 58f11c693e25436605af6ad41a1f618e30b20f336cda6a11db480fdda65022c28ce84d6aa9e804c1344221f3aa4ab8a262094106bb677414c2b24e7971f9acad SHA512 f66bee161324610755371fa04199fcd81887c1a55ab73cc1922be719d61e8315b7a869e1d8af6c3df2d6922b07027dced3605e63b130e8f094fcb606aea20b9e AUX usbguard-0.7.6-usbguard.openrc 309 BLAKE2B d5297058d0ee8ce0f9fc91f2158f4aef5f077e1087800449a0319038d677a2a70274305058cd104ba30529b3c9daf82ffbe16ca5cdf20a3b4817e66d499d08c5 SHA512 512a08f59caf9de22b0776473a1ea9a4322b05c6286c99dac3055e0c6d52c78542448c33e19708338080cfdcdfcfb0f9868e8c523155e978c0161c262081da09 +AUX usbguard-1.1.2-gcc-13.patch 460 BLAKE2B 100711b02a6198f149c2637f2f5926a66405bebeaaa02967c7a6a29fbf62f053f006a8b37f13425d4db75b4ac2aa21f3caaee6a976034076c3b640af575db2c4 SHA512 ed34efbc15cec047fa6aff29022dd68019939334d7b107b2110d24b1b888fcb5735449ca4f328be63b386f418cc90c5eca97409ae7e9617488f980d500df9ba0 DIST usbguard-1.1.2.tar.gz 1695585 BLAKE2B 7aa1f6168b16bf3b67136dd927a69a097b29a276c604d2e7e4394be4c30682dcfe8d3fd78ca7af8e5275c42ff21b47562dd5b9a93cacf1b53c9945bdfbf5c7df SHA512 03b6dd026a0fe6a7a055208f09a56e2cc86985570388e33fde08671b8aa2d60ea4a0e59505e9646ddf50f42f5b6310d1b230379f9c26ec99c7ca736f3b4ad850 -EBUILD usbguard-1.1.2.ebuild 2496 BLAKE2B 7f41e2c85ac3b53b2f25a5b2a51c021769252bdd1eaf9abce72253e96a006c0b7a95659c5376e2194d4f638e0cf0d9cfe9272e3b8480e28e678c5d2e12bd0b05 SHA512 53b7981ad6a963bde890f3231a609e3b3c2d9653f927901425ba88c6f422a96078f2ccdd4f0166c72ae9863b3d392eb39e497427bc8816120a4a92348dd83e3d +EBUILD usbguard-1.1.2.ebuild 2549 BLAKE2B 990be447b5e76257cefd0cfbb7ff681936c73f2ba4c0fdb7585a995acb65530275d0d9456be28a2ee8980aadc7cda2da1389dc816ea96d47e3e4e3a28ccc45d9 SHA512 0a752d94e69ec15f0ebc3205fd4fc1bc5a2a5152fd8f9b0227ca4df490c4bd5af5b846995048df4815761d72f0a08dc823767af68adddfce4d661b4d51c7ae5a MISC metadata.xml 427 BLAKE2B 8e6514509df32e294efed2a72f26de5803a1c09d592e7fcbb948d453bd7c0b15836664e9746286d03d53e4fd8a7008f4dfbbaed10f2a4b2614e7ac3084644c5d SHA512 efed3e1fd21a98454314571a08be65cff88ee1857a588d50832c0993372b8b4d05f19420700c15df405246a51af09a06d9d680857dadd0cd71fd289aedb07c19 diff --git a/sys-apps/usbguard/files/usbguard-1.1.2-gcc-13.patch b/sys-apps/usbguard/files/usbguard-1.1.2-gcc-13.patch new file mode 100644 index 000000000000..79168f584ded --- /dev/null +++ b/sys-apps/usbguard/files/usbguard-1.1.2-gcc-13.patch @@ -0,0 +1,19 @@ +https://github.com/USBGuard/usbguard/pull/582 + +From a0083fd0eea3a513613a37262d40dfbe96e02e46 Mon Sep 17 00:00:00 2001 +From: Yaakov Selkowitz +Date: Tue, 24 Jan 2023 14:54:28 -0500 +Subject: [PATCH] Fix compile with GCC 13 + +Signed-off-by: Yaakov Selkowitz +--- a/src/Library/Base64.hpp ++++ b/src/Library/Base64.hpp +@@ -24,6 +24,7 @@ + + #include + #include ++#include + + namespace usbguard + { + diff --git a/sys-apps/usbguard/usbguard-1.1.2.ebuild b/sys-apps/usbguard/usbguard-1.1.2.ebuild index 77e050da627a..d3722e624db9 100644 --- a/sys-apps/usbguard/usbguard-1.1.2.ebuild +++ b/sys-apps/usbguard/usbguard-1.1.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -52,6 +52,10 @@ DEPEND="${CDEPEND} RESTRICT="!test? ( test )" +PATCHES=( + "${FILESDIR}"/${PN}-1.1.2-gcc-13.patch +) + src_prepare() { default eautoreconf -- cgit v1.2.3