diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2021-04-28 20:21:43 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2021-04-28 20:21:43 +0100 |
commit | 40aaaa64e86ba6710bbeb31c4615a6ce80e75e11 (patch) | |
tree | 758c221bad35c9288d0bd6df9c7dfc226728e52c /sys-apps/baselayout | |
parent | 8d5dbd847cbc704a6a06405856e94b461011afe3 (diff) |
gentoo resync : 28.04.2021
Diffstat (limited to 'sys-apps/baselayout')
-rw-r--r-- | sys-apps/baselayout/Manifest | 9 | ||||
-rw-r--r-- | sys-apps/baselayout/baselayout-2.4.1-r2.ebuild | 248 | ||||
-rw-r--r-- | sys-apps/baselayout/baselayout-2.7-r2.ebuild (renamed from sys-apps/baselayout/baselayout-2.6-r1.ebuild) | 91 | ||||
-rw-r--r-- | sys-apps/baselayout/baselayout-2.7.ebuild | 4 | ||||
-rw-r--r-- | sys-apps/baselayout/baselayout-9999.ebuild | 74 |
5 files changed, 102 insertions, 324 deletions
diff --git a/sys-apps/baselayout/Manifest b/sys-apps/baselayout/Manifest index 64574bab0e35..edc9de757e65 100644 --- a/sys-apps/baselayout/Manifest +++ b/sys-apps/baselayout/Manifest @@ -1,9 +1,6 @@ -DIST baselayout-2.4.1.tar.bz2 31307 BLAKE2B da26f7fbeefa5efecb6e5d9ded6c2bf3148cd1fcfc6ebb86535f5a9c086c4bb55f6a8420a3c0d0f7008251637f3e4653db875ec427745d039f753008d2f21be2 SHA512 e505ad81834aafb574ffee9bc1fce216c1c8c7fa11b0095580f87a37e4b9efb057ee78db7cd5affc64f05d5dd0592c671304414c119b37d86dfaa1e7b84ce7c1 -DIST baselayout-2.6.tar.bz2 31871 BLAKE2B 4a51d173dc5a2837f78cd1247b5eadd89e7d0b5f2dbc72e75f027b0c23a5db9a386c53e756e80240f36ad4d63e3fe421bf9510c18321d7a31fda140ad47b2860 SHA512 5cad5faf56871ae951120643e29db0c39fea6dc845b4755382bd469eca32639ec6cd0cd046d3c439a7cc607b18770036f9c256260d35beaffb094e23cb13740b DIST baselayout-2.7.tar.bz2 30317 BLAKE2B 7b7c284b7d0a9608a0d03dbde0d62d793829b61d5361f5062fdeb8880a2f792c142e20acf7fa92e713e2ebb0bd1609ca65bc8a4191f2bf2c5df4f474eaeef1ee SHA512 8b28d2dc20fd5887db5c0e6b67a4217c4d0730529023fc57fb1ee95a431e1f492fb21e3e66980bef766819e9f542dc7e4ad3ae25465390194bbf970c3653c88e -EBUILD baselayout-2.4.1-r2.ebuild 8567 BLAKE2B 35400fafd5addba2128aab3ce0476893302572d16c9becd92963c99b4a260ccceb2b104e0a49e75ba3fd4ac25b623c22b31af78d689c71a68843b7071c51a0f9 SHA512 bfa7d130955aa6d8a55cdd1685f639ae009847ce88bed3088c26479dd47b8c47ff6775d6addf92716513b490544e2937a0ebff35b32eab4f3a98f0e308547a73 -EBUILD baselayout-2.6-r1.ebuild 9560 BLAKE2B 03f1513752235adeffe7274004ab9e6e3f11ce38c4715c3db4a5619571c11764385fc8e3bbf1b57120ac9b19efafaf6d2bb006c4be884eaf9d8db00ceceae2b7 SHA512 446b72d50abb3624e0e73590a903054b227b47d2ef6d65f1ca5e268fc0177d7f04139944afdc5b8cef1952d64c5d12067c00565c1ca84e904a29a4ac45515657 EBUILD baselayout-2.7-r1.ebuild 10197 BLAKE2B 5e5f767f37bdf286cd77d21512a855e1e2f5f26fd794838e3cb21634f089b66cefc4e915c9e88148f0e1f2a0067a57bfb029833572614c0190d54f862ff15659 SHA512 847e2ddae301a856b7719fe9134635ea79f0059107188aad8c554fda4da428f970a2ad4daf56491050acacd822175fa8ae18f22402e19677df9d920c525ce737 -EBUILD baselayout-2.7.ebuild 10023 BLAKE2B 9e2d853215dbe206197fc40877f98df48a4d225cd47281dc557a6adc87efb35465a00434034176df3f4bdac2286373e56c2b310a8e4c3cc9211271073a32c76f SHA512 c9f534f789f3e9de15f2326066daa59eb28fd7ae3fa287e6f193bfc21b0e1ea4397d854ade1cf57bdb6b8be1af7fe626b8750081b0c726df1920d1c6d5d414db -EBUILD baselayout-9999.ebuild 9940 BLAKE2B 6354e020354282c0ee7dadbf3044ed8a410b986149f25c565e015e8b3d616fc40b357490b322f7f2d749790c98bc7d1bfb34f80a7da7f99419540a88b5538e2d SHA512 e4f0ecf7b329f71835cd7667282def8acd114485390900279beb19d1d37c153d802f02c45a2993e28ae09f293eadd90fd7942b4bdcc7ee85d82708f8428089a0 +EBUILD baselayout-2.7-r2.ebuild 10184 BLAKE2B febfaf2d2a646358c20e12039cd3b224a2fbcf5c12b566e8b33927fa5549b3f0d5b76392bf36cdefe7b14f84bf89b5caff5004ce54b862d238d5928d69526e87 SHA512 a5a45b479dfeac5212291d3d8053c822d06a45d8f82d24f8937b15bd3bf5fd6953ec3520121df243cea2cea52ea8d56894d27b03a272c85ca21ff52190551d8b +EBUILD baselayout-2.7.ebuild 10024 BLAKE2B 490416f9367b1236ac8879b273acc2920f77f1fb23edba5bc825358270f434e0facb8f2794baebce5841b2be2ee3a4da5fffa026585555902e582ff36ab37bd3 SHA512 6a629e68f58d23f8d9653bccca3ad6d52610bd87ab73c5d6b12c9b6e9762f34f2deb452d689c99ea4d66f1c4dbe88e13991f1b2ea900720fd8c8d92067aaca71 +EBUILD baselayout-9999.ebuild 10184 BLAKE2B febfaf2d2a646358c20e12039cd3b224a2fbcf5c12b566e8b33927fa5549b3f0d5b76392bf36cdefe7b14f84bf89b5caff5004ce54b862d238d5928d69526e87 SHA512 a5a45b479dfeac5212291d3d8053c822d06a45d8f82d24f8937b15bd3bf5fd6953ec3520121df243cea2cea52ea8d56894d27b03a272c85ca21ff52190551d8b MISC metadata.xml 382 BLAKE2B 7c360eab19fc55da87cf2a432c1f2407918be3cf32ec581b974fea953aea00a51998cd05facd0c4b6d609e38bd1f243380a5c3a9effcb5e7bebbf22ec6d9418c SHA512 1a444b5b8fc6573fae97c6e0bf5e3dc69f9e18a42d2a7c91ac2742bca17580468be8b17ca6349451817b0087f619bad90a1050b1fd8511fc5e57b792b5006d72 diff --git a/sys-apps/baselayout/baselayout-2.4.1-r2.ebuild b/sys-apps/baselayout/baselayout-2.4.1-r2.ebuild deleted file mode 100644 index 81f43cd133be..000000000000 --- a/sys-apps/baselayout/baselayout-2.4.1-r2.ebuild +++ /dev/null @@ -1,248 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit eutils multilib versionator prefix - -DESCRIPTION="Filesystem baselayout and init scripts" -HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage" -SRC_URI="https://gitweb.gentoo.org/proj/baselayout.git/snapshot/${P}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86" -IUSE="build kernel_linux" - -pkg_setup() { - multilib_layout -} - -# Create our multilib dirs - the Makefile has no knowledge of this -multilib_layout() { - local libdir libdirs=$(get_all_libdirs) def_libdir=$(get_abi_LIBDIR $DEFAULT_ABI) - : ${libdirs:=lib} # it isn't that we don't trust multilib.eclass... - - [ -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 - exp=( {,usr/,usr/local/}${libdir} ) - 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. - local prefix - for prefix in "${EROOT}"{,usr/,usr/local/} ; 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 - 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}" #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 - *-gentoo-freebsd*) ;; # We want it the other way on fbsd. - i?86*|x86_64*|powerpc*|sparc*|s390*) - if [[ -d ${prefix}lib32 && ! -h ${prefix}lib32 ]] ; then - rm -f "${prefix}lib32"/.keep - 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 -} - -pkg_preinst() { - # Bug #217848 - Since the remap_dns_vars() called by pkg_preinst() of - # the baselayout-1.x ebuild copies all the real configs from the user's - # /etc/conf.d into ${D}, it makes them all appear to be the default - # versions. In order to protect them from being unmerged after this - # upgrade, modify their timestamps. - touch "${EROOT}"/etc/conf.d/* 2>/dev/null - - # 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 - - # 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 - emake -C "${ED}/usr/share/${PN}" DESTDIR="${EROOT}" layout - fi - rm -f "${ED}"/usr/share/${PN}/Makefile -} - -src_prepare() { - default - if use prefix; then - hprefixify -e "/EUID/s,0,${EUID}," -q '"' etc/profile - hprefixify etc/{env.d/50baselayout,shells} share.Linux/passwd - echo PATH=/usr/bin:/bin >> etc/env.d/99host - echo ROOTPATH=/usr/sbin:/sbin:/usr/bin:/bin >> etc/env.d/99host - 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 - ldpaths+=":${EPREFIX}/${libdir}:${EPREFIX}/usr/${libdir}" - ldpaths+=":${EPREFIX}/usr/local/${libdir}" - done - echo "LDPATH='${ldpaths#:}'" >> etc/env.d/50baselayout - - # rc-scripts version for testing of features that *should* be present - echo "Gentoo Base System release ${PV}" > etc/gentoo-release -} - -src_install() { - emake \ - OS=$(usex kernel_FreeBSD BSD Linux) \ - DESTDIR="${ED}" \ - install - dodoc ChangeLog - - # need the makefile in pkg_preinst - insinto /usr/share/${PN} - doins Makefile -} - -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 - done - - # Force shadow permissions to not be world-readable #260993 - for x in shadow ; do - [ -e "${EROOT}etc/${x}" ] && chmod o-rwx "${EROOT}etc/${x}" - 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 - 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 - - # baselayout leaves behind a lot of .keep files, so let's clean them up - find "${EROOT}"lib*/rcscripts/ -name .keep -exec rm -f {} + 2>/dev/null - find "${EROOT}"lib*/rcscripts/ -depth -type d -exec rmdir {} + 2>/dev/null - - # whine about users with invalid shells #215698 - if [[ -e "${EROOT}"etc/passwd ]] ; then - local bad_shells=$(awk -F: 'system("test -e " $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 - - 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 ! version_is_at_least 2.4 ${v}; then - ewarn "After updating ${EROOT}etc/profile, please run" - ewarn "env-update and . /etc/profile" - break - 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.6-r1.ebuild b/sys-apps/baselayout/baselayout-2.7-r2.ebuild index 5471a444eb25..a37d17f3b8d1 100644 --- a/sys-apps/baselayout/baselayout-2.6-r1.ebuild +++ b/sys-apps/baselayout/baselayout-2.7-r2.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 -inherit multilib versionator prefix +inherit multilib prefix DESCRIPTION="Filesystem baselayout and init scripts" HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage" @@ -12,7 +12,7 @@ if [[ ${PV} = 9999 ]]; then inherit git-r3 else SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" fi LICENSE="GPL-2" @@ -29,11 +29,10 @@ multilib_layout() { local prefix prefix_lst def_libdir=$(get_abi_LIBDIR $DEFAULT_ABI) libdirs=$(get_all_libdirs) - : ${libdirs:=lib} # it isn't that we don't trust multilib.eclass... if [[ -z "${SYMLINK_LIB}" || ${SYMLINK_LIB} = no ]] ; then - prefix_lst=( "${EROOT}"{,usr/,usr/local/} ) - for prefix in ${prefix_lst[@]}; do + prefix_lst=( "${EROOT}"/{,usr/,usr/local/} ) + for prefix in "${prefix_lst[@]}"; do for libdir in ${libdirs}; do dir="${prefix}${libdir}" if [[ -e "${dir}" ]]; then @@ -41,10 +40,12 @@ multilib_layout() { die "${dir} exists but is not a directory" continue fi - if ! use split-usr && [[ ${prefix} = ${EROOT} ]]; then + 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" + die "Unable to make ${dir} symlink" else einfo "creating directory ${dir}" mkdir -p "${dir}" || @@ -88,9 +89,9 @@ multilib_layout() { # 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/} ) + prefix_lst=( "${EROOT}"/{,usr/,usr/local/} ) else - prefix_lst=( "${EROOT}"{usr/,usr/local/} ) + prefix_lst=( "${EROOT}"/{usr/,usr/local/} ) fi for prefix in "${prefix_lst[@]}"; do if [ "${SYMLINK_LIB}" = yes ] ; then @@ -101,7 +102,7 @@ multilib_layout() { 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 + rm -f "${prefix}lib"/.keep || die if rmdir "${prefix}lib" 2>/dev/null ; then ln -s ${def_libdir} "${prefix}lib" || die else @@ -113,7 +114,7 @@ multilib_layout() { mkdir -p "${prefix}" || die rm -f "${prefix}lib" || die ln -s ${def_libdir} "${prefix}lib" || die - mkdir -p "${prefix}${def_libdir}" #423571 + mkdir -p "${prefix}${def_libdir}" || die #423571 fi else # we need to make sure "lib" is a dir @@ -135,7 +136,7 @@ multilib_layout() { *-gentoo-freebsd*) ;; # We want it the other way on fbsd. i?86*|x86_64*|powerpc*|sparc*|s390*) if [[ -d ${prefix}lib32 && ! -h ${prefix}lib32 ]] ; then - rm -f "${prefix}lib32"/.keep + 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" @@ -153,7 +154,8 @@ multilib_layout() { if ! use split-usr ; then for libdir in ${libdirs}; do if [[ ! -e "${EROOT}${libdir}" ]]; then - ln -s usr/"${libdir}" "${EROOT}${libdir}" + ln -s usr/"${libdir}" "${EROOT}${libdir}" || + die "Unable to make ${EROOT}${libdir} symlink" fi done fi @@ -163,7 +165,7 @@ 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 + 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. @@ -176,7 +178,7 @@ pkg_preinst() { emake -C "${ED}/usr/share/${PN}" DESTDIR="${EROOT}" layout-usrmerge fi fi - rm -f "${ED}"/usr/share/${PN}/Makefile + rm -f "${ED}"/usr/share/${PN}/Makefile || die } src_prepare() { @@ -188,6 +190,16 @@ src_prepare() { echo ROOTPATH=/usr/sbin:/sbin:/usr/bin:/bin >> etc/env.d/99host fi + # don't want symlinked directories in PATH on systems with usr-merge + if ! use split-usr; then + sed \ + -e 's|/usr/local/sbin:||g' \ + -e 's|:/usr/sbin:|:|g' \ + -e 's|:/sbin:|:|g' \ + -e 's|:/bin:|:|g' \ + -i etc/env.d/50baselayout || 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 @@ -196,7 +208,8 @@ src_prepare() { # path and the symlinked path doesn't change the resulting cache. local libdir ldpaths for libdir in $(get_all_libdirs) ; do - ldpaths+=":${EPREFIX}/${libdir}:${EPREFIX}/usr/${libdir}" + use split-usr && ldpaths+=":${EPREFIX}/${libdir}" + ldpaths+=":${EPREFIX}/usr/${libdir}" ldpaths+=":${EPREFIX}/usr/local/${libdir}" done echo "LDPATH='${ldpaths#:}'" >> etc/env.d/50baselayout @@ -211,10 +224,16 @@ src_install() { DESTDIR="${ED}" \ install dodoc ChangeLog + rm "${ED}"/etc/sysctl.d/README || die # need the makefile in pkg_preinst insinto /usr/share/${PN} doins Makefile + + # This is needed for https://bugs.gentoo.org/732142 + dodir /usr/lib + mv "${ED}"/etc/os-release "${ED}"/usr/lib || die + dosym ../usr/lib/os-release /etc/os-release } pkg_postinst() { @@ -226,23 +245,25 @@ pkg_postinst() { # (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 + [ -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 - [ -e "${EROOT}etc/${x}" ] && chmod o-rwx "${EROOT}etc/${x}" + 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 + 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 + if [[ -e "${EROOT}"/etc/shadow ]] ; then local bad_users=$(sed -n '/^[^:]*::/s|^\([^:]*\)::.*|\1|p' "${EROOT}"/etc/shadow) if [[ -n ${bad_users} ]] ; then echo @@ -252,8 +273,8 @@ pkg_postinst() { fi # whine about users with invalid shells #215698 - if [[ -e "${EROOT}"etc/passwd ]] ; then - local bad_shells=$(awk -F: 'system("test -e " $7) { print $1 " - " $7}' "${EROOT}"etc/passwd | sort) + 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!" @@ -263,35 +284,35 @@ pkg_postinst() { # https://bugs.gentoo.org/361349 if use kernel_linux; then - mkdir -p "${EROOT}"run + 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 + 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 ! version_is_at_least 2.4 ${x}; then - ewarn "After updating ${EROOT}etc/profile, please run" + if ver_test 2.4 -lt ${x}; then + ewarn "After updating ${EROOT}/etc/profile, please run" ewarn "env-update && . /etc/profile" fi - if ! version_is_at_least 2.6 ${x}; then + 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" + 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" + 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.7.ebuild b/sys-apps/baselayout/baselayout-2.7.ebuild index 1a631d10b938..cb06c4a3e20d 100644 --- a/sys-apps/baselayout/baselayout-2.7.ebuild +++ b/sys-apps/baselayout/baselayout-2.7.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=6 @@ -12,7 +12,7 @@ if [[ ${PV} = 9999 ]]; then inherit git-r3 else SRC_URI="https://gitweb.gentoo.org/proj/${PN}.git/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" fi LICENSE="GPL-2" diff --git a/sys-apps/baselayout/baselayout-9999.ebuild b/sys-apps/baselayout/baselayout-9999.ebuild index ee4f298e8409..a37d17f3b8d1 100644 --- a/sys-apps/baselayout/baselayout-9999.ebuild +++ b/sys-apps/baselayout/baselayout-9999.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 -inherit multilib versionator prefix +inherit multilib prefix DESCRIPTION="Filesystem baselayout and init scripts" HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage" @@ -29,10 +29,9 @@ multilib_layout() { local prefix prefix_lst def_libdir=$(get_abi_LIBDIR $DEFAULT_ABI) libdirs=$(get_all_libdirs) - : ${libdirs:=lib} # it isn't that we don't trust multilib.eclass... if [[ -z "${SYMLINK_LIB}" || ${SYMLINK_LIB} = no ]] ; then - prefix_lst=( "${EROOT}"{,usr/,usr/local/} ) + prefix_lst=( "${EROOT}"/{,usr/,usr/local/} ) for prefix in "${prefix_lst[@]}"; do for libdir in ${libdirs}; do dir="${prefix}${libdir}" @@ -41,10 +40,12 @@ multilib_layout() { die "${dir} exists but is not a directory" continue fi - if ! use split-usr && [[ ${prefix} = ${EROOT} ]]; then + 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" + die "Unable to make ${dir} symlink" else einfo "creating directory ${dir}" mkdir -p "${dir}" || @@ -88,9 +89,9 @@ multilib_layout() { # 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/} ) + prefix_lst=( "${EROOT}"/{,usr/,usr/local/} ) else - prefix_lst=( "${EROOT}"{usr/,usr/local/} ) + prefix_lst=( "${EROOT}"/{usr/,usr/local/} ) fi for prefix in "${prefix_lst[@]}"; do if [ "${SYMLINK_LIB}" = yes ] ; then @@ -101,7 +102,7 @@ multilib_layout() { 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 + rm -f "${prefix}lib"/.keep || die if rmdir "${prefix}lib" 2>/dev/null ; then ln -s ${def_libdir} "${prefix}lib" || die else @@ -113,7 +114,7 @@ multilib_layout() { mkdir -p "${prefix}" || die rm -f "${prefix}lib" || die ln -s ${def_libdir} "${prefix}lib" || die - mkdir -p "${prefix}${def_libdir}" #423571 + mkdir -p "${prefix}${def_libdir}" || die #423571 fi else # we need to make sure "lib" is a dir @@ -135,7 +136,7 @@ multilib_layout() { *-gentoo-freebsd*) ;; # We want it the other way on fbsd. i?86*|x86_64*|powerpc*|sparc*|s390*) if [[ -d ${prefix}lib32 && ! -h ${prefix}lib32 ]] ; then - rm -f "${prefix}lib32"/.keep + 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" @@ -154,7 +155,7 @@ multilib_layout() { for libdir in ${libdirs}; do if [[ ! -e "${EROOT}${libdir}" ]]; then ln -s usr/"${libdir}" "${EROOT}${libdir}" || - die " Unable to make ${EROOT}${libdir} symlink" + die "Unable to make ${EROOT}${libdir} symlink" fi done fi @@ -164,7 +165,7 @@ 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 + 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. @@ -177,7 +178,7 @@ pkg_preinst() { emake -C "${ED}/usr/share/${PN}" DESTDIR="${EROOT}" layout-usrmerge fi fi - rm -f "${ED}"/usr/share/${PN}/Makefile + rm -f "${ED}"/usr/share/${PN}/Makefile || die } src_prepare() { @@ -223,11 +224,16 @@ src_install() { DESTDIR="${ED}" \ install dodoc ChangeLog - rm "${ED}"/etc/sysctl.d/README + rm "${ED}"/etc/sysctl.d/README || die # need the makefile in pkg_preinst insinto /usr/share/${PN} doins Makefile + + # This is needed for https://bugs.gentoo.org/732142 + dodir /usr/lib + mv "${ED}"/etc/os-release "${ED}"/usr/lib || die + dosym ../usr/lib/os-release /etc/os-release } pkg_postinst() { @@ -239,23 +245,25 @@ pkg_postinst() { # (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 + [ -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 - [ -e "${EROOT}etc/${x}" ] && chmod o-rwx "${EROOT}etc/${x}" + 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 + 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 + if [[ -e "${EROOT}"/etc/shadow ]] ; then local bad_users=$(sed -n '/^[^:]*::/s|^\([^:]*\)::.*|\1|p' "${EROOT}"/etc/shadow) if [[ -n ${bad_users} ]] ; then echo @@ -265,8 +273,8 @@ pkg_postinst() { fi # whine about users with invalid shells #215698 - if [[ -e "${EROOT}"etc/passwd ]] ; then - local bad_shells=$(awk -F: 'system("test -e " $7) { print $1 " - " $7}' "${EROOT}"etc/passwd | sort) + 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!" @@ -276,35 +284,35 @@ pkg_postinst() { # https://bugs.gentoo.org/361349 if use kernel_linux; then - mkdir -p "${EROOT}"run + 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 + 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 ! version_is_at_least 2.4 ${x}; then - ewarn "After updating ${EROOT}etc/profile, please run" + if ver_test 2.4 -lt ${x}; then + ewarn "After updating ${EROOT}/etc/profile, please run" ewarn "env-update && . /etc/profile" fi - if ! version_is_at_least 2.6 ${x}; then + 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" + 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" + 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 } |