diff options
Diffstat (limited to 'sys-apps')
-rw-r--r-- | sys-apps/baselayout/Manifest | 2 | ||||
-rw-r--r-- | sys-apps/baselayout/baselayout-2.4.1-r1801.ebuild (renamed from sys-apps/baselayout/baselayout-2.2-r1710.ebuild) | 156 | ||||
-rw-r--r-- | sys-apps/baselayout/files/baselayout-redcore.patch | 24 |
3 files changed, 96 insertions, 86 deletions
diff --git a/sys-apps/baselayout/Manifest b/sys-apps/baselayout/Manifest index 1951dcd2..860a40b2 100644 --- a/sys-apps/baselayout/Manifest +++ b/sys-apps/baselayout/Manifest @@ -1 +1 @@ -DIST baselayout-2.2.tar.bz2 40744 SHA256 11d4a223b06da545c3e59e07c9195570f334b5b1be05d995df0ebc8ea2203e98 SHA512 a5199c42e835d9f2683cc94f3c4c47ecdc392316c24e0932845736e2e90479b0c5c8ad72ead8e0537f097405b7d7548d00b87b7ff8c9e3651486e3c5c0970b36 WHIRLPOOL 60cc4f7f76c5a45c15303e526decffb3bad2b50ac659b1dd072d2ed4b0eb0b31929a1a733ddb03a31ee5882b889a4efb87206f63ffaa2b11e26d36afd0933a95 +DIST baselayout-2.4.1.tar.bz2 31307 SHA256 d75ae329ba47f26e7c41c6e060f57a8f1f1a97420d39e6a49ab2bdb86c4a2c00 SHA512 e505ad81834aafb574ffee9bc1fce216c1c8c7fa11b0095580f87a37e4b9efb057ee78db7cd5affc64f05d5dd0592c671304414c119b37d86dfaa1e7b84ce7c1 WHIRLPOOL 9057ab259c8ef61bb56d13b237e343f6a7aec8fef61a0a9872fc7e0aa34a7dc772cd4701a76341d170eaa3ba328ad0b693d098189ca7f4aa9e5e32232f1d1801 diff --git a/sys-apps/baselayout/baselayout-2.2-r1710.ebuild b/sys-apps/baselayout/baselayout-2.4.1-r1801.ebuild index 2817045c..d190344e 100644 --- a/sys-apps/baselayout/baselayout-2.2-r1710.ebuild +++ b/sys-apps/baselayout/baselayout-2.4.1-r1801.ebuild @@ -1,17 +1,17 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-2.2.ebuild,v 1.2 2012/08/23 21:47:35 vapier Exp $ -inherit eutils multilib +EAPI=6 + +inherit eutils multilib versionator prefix DESCRIPTION="Filesystem baselayout and init scripts" -HOMEPAGE="http://www.gentoo.org/" -SRC_URI="mirror://gentoo/${P}.tar.bz2 - http://dev.gentoo.org/~vapier/dist/${P}.tar.bz2" +HOMEPAGE="https://www.gentoo.org/" +SRC_URI="https://gitweb.gentoo.org/proj/baselayout.git/snapshot/${P}.tar.bz2" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd" +KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd" IUSE="build kernel_linux" pkg_setup() { @@ -19,17 +19,6 @@ pkg_setup() { } # Create our multilib dirs - the Makefile has no knowledge of this -multilib_warn() { - local syms=$1 dirs=$2 def_libdir=$3 - - [ -z "${syms}${dirs}" ] && return - - ewarn "Your system profile has SYMLINK_LIB=${SYMLINK_LIB}, so that means" - if [ -z "${syms}" ] ; then - ewarn "you need to have these paths as symlinks to ${def_libdir}:" - ewarn "$1" - fi -} 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... @@ -40,7 +29,7 @@ multilib_layout() { local dirs syms exp d for libdir in ${libdirs} ; do exp=( {,usr/,usr/local/}${libdir} ) - for d in "${exp[@]/#/${ROOT}}" ; do + for d in "${exp[@]}" ; do # most things should be dirs if [ "${SYMLINK_LIB}" = "yes" ] && [ "${libdir}" = "lib" ] ; then [ ! -h "${d}" ] && [ -e "${d}" ] && dirs+=" ${d}" @@ -62,7 +51,7 @@ multilib_layout() { # 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 "${ROOT}"{,usr/,usr/local/} ; do + 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 @@ -97,13 +86,14 @@ multilib_layout() { else mkdir -p "${prefix}lib" || die fi - elif [ -d "${prefix}lib" ] ; then + 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" ] ; then + 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" @@ -115,9 +105,7 @@ multilib_layout() { else # nothing exists, so just set it up sanely ewarn "Initializing ${prefix}lib as a dir" - mkdir -p "${prefix}" || die - rm -f "${prefix}lib" || die - ln -s ${def_libdir} "${prefix}lib" || die + mkdir -p "${prefix}lib" || die fi fi done @@ -129,49 +117,38 @@ pkg_preinst() { # /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 "${ROOT}"/etc/conf.d/* 2>/dev/null + 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 "${ROOT}"/etc/._cfg????_gentoo-release + 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 "${D}/usr/share/${PN}" DESTDIR="${ROOT}" layout || die + emake -C "${ED}/usr/share/${PN}" DESTDIR="${EROOT}" layout || die fi - rm -f "${D}"/usr/share/${PN}/Makefile + rm -f "${ED}"/usr/share/${PN}/Makefile - # Kogaion customization, protect /etc/hosts from removal (from older ebuilds) + # Redcore Linux customization, protect /etc/hosts from removal (from older ebuilds) local etc_hosts="${ROOT}/etc/hosts" if [ -e "${etc_hosts}" ]; then - cp -p "${etc_hosts}" "${etc_hosts}.baselayout_ebuild_backup" # don't die + cp -p "${etc_hosts}" "${etc_hosts}.backup" # don't die fi } -src_unpack() { - unpack ${A} - - cd "${S}" - epatch "${FILESDIR}/${PN}-redcore.patch" -} - -src_install() { - # Setup /run directory, this is missing from original baselayout - dodir /run - - emake \ - OS=$(usex kernel_FreeBSD BSD Linux) \ - DESTDIR="${D}" \ - install || die - dodoc ChangeLog.svn - - # need the makefile in pkg_preinst - insinto /usr/share/${PN} - doins Makefile || die +src_prepare() { + default + eapply "${FILESDIR}/${PN}-redcore.patch" + 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 @@ -181,16 +158,28 @@ src_install() { # path and the symlinked path doesn't change the resulting cache. local libdir ldpaths for libdir in $(get_all_libdirs) ; do - ldpaths+=":/${libdir}:/usr/${libdir}:/usr/local/${libdir}" + ldpaths+=":${EPREFIX}/${libdir}:${EPREFIX}/usr/${libdir}" + ldpaths+=":${EPREFIX}/usr/local/${libdir}" done - echo "LDPATH='${ldpaths#:}'" >> "${D}"/etc/env.d/00basic + echo "LDPATH='${ldpaths#:}'" >> etc/env.d/50baselayout # rc-scripts version for testing of features that *should* be present - echo "Redcore Linux 1710 - Helvetios" > "${D}"/etc/gentoo-release + echo "Redcore Linux 1801 - Intercrus" > etc/gentoo-release +} - # Sabayon customization, install /etc/hosts separately (to .example) - mv "${D}"/etc/hosts "${D}"/etc/hosts.example || die "cannot move /etc/hosts" +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 + + # Redcore Linux customization, install /etc/hosts separately (to .example) + mv "${D}"/etc/hosts "${D}"/etc/hosts.example || die "cannot move /etc/hosts" } pkg_postinst() { @@ -202,24 +191,24 @@ 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 "${ROOT}etc/${x}" ] && continue - [ -e "${ROOT}usr/share/baselayout/${x}" ] || continue - cp -p "${ROOT}usr/share/baselayout/${x}" "${ROOT}"etc + [ -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 "${ROOT}etc/${x}" ] && chmod o-rwx "${ROOT}etc/${x}" + [ -e "${EROOT}etc/${x}" ] && chmod o-rwx "${EROOT}etc/${x}" done # Take care of the etc-update for the user - if [ -e "${ROOT}"/etc/._cfg0000_gentoo-release ] ; then - mv "${ROOT}"/etc/._cfg0000_gentoo-release "${ROOT}"/etc/gentoo-release + 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 ${ROOT}/etc/shadow ]] ; then - local bad_users=$(sed -n '/^[^:]*::/s|^\([^:]*\)::.*|\1|p' "${ROOT}"/etc/shadow) + 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!" @@ -228,12 +217,12 @@ pkg_postinst() { fi # baselayout leaves behind a lot of .keep files, so let's clean them up - find "${ROOT}"/lib*/rcscripts/ -name .keep -exec rm -f {} + 2>/dev/null - find "${ROOT}"/lib*/rcscripts/ -depth -type d -exec rmdir {} + 2>/dev/null + 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 ${ROOT}/etc/passwd ]] ; then - local bad_shells=$(awk -F: 'system("test -e " $7) { print $1 " - " $7}' /etc/passwd | sort) + 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!" @@ -241,22 +230,37 @@ pkg_postinst() { fi fi - # Sabayon customization, copy /etc/hosts back in place if it doesn't exist + # Redcore Linux customization, copy /etc/hosts back in place if it doesn't exist local etc_hosts="${ROOT}/etc/hosts" - if [ -e "${etc_hosts}.baselayout_ebuild_backup" ]; then - cp -p "${etc_hosts}.baselayout_ebuild_backup" "${etc_hosts}" # don't die + if [ -e "${etc_hosts}.backup" ]; then + cp -p "${etc_hosts}.backup" "${etc_hosts}" # don't die elif [ ! -e "${etc_hosts}" ]; then cp -p "${etc_hosts}.example" "${etc_hosts}" # don't die fi chown root:root "${etc_hosts}" # don't die - # http://bugs.gentoo.org/361349 + # https://bugs.gentoo.org/361349 if use kernel_linux; then - mkdir -p "${ROOT}"/run + 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 - if ! grep -qs "^tmpfs.*/run " "${ROOT}"/proc/mounts ; then - echo - ewarn "You should reboot the system now to get /run mounted with tmpfs!" + 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/files/baselayout-redcore.patch b/sys-apps/baselayout/files/baselayout-redcore.patch index 6eaff31d..9dd046ef 100644 --- a/sys-apps/baselayout/files/baselayout-redcore.patch +++ b/sys-apps/baselayout/files/baselayout-redcore.patch @@ -1,11 +1,17 @@ diff -Nur a/etc.Linux/modprobe.d/blacklist.conf b/etc.Linux/modprobe.d/blacklist.conf --- a/etc.Linux/modprobe.d/blacklist.conf 1970-01-01 01:00:00.000000000 +0100 -+++ b/etc.Linux/modprobe.d/blacklist.conf 2017-01-04 17:35:32.196531159 +0000 -@@ -0,0 +1 @@ ++++ b/etc.Linux/modprobe.d/blacklist.conf 2018-01-12 08:36:45.815582426 +0000 +@@ -0,0 +1,7 @@ +blacklist vboxvideo ++blacklist b43 ++blacklist b44 ++blacklist b43legacy ++blacklist ssb ++blacklist brcmsmac ++blacklist bcma diff -Nur a/etc.Linux/os-release b/etc.Linux/os-release ---- a/etc.Linux/os-release 2012-05-17 05:21:08.000000000 +0100 -+++ b/etc.Linux/os-release 2017-01-04 17:36:01.981119062 +0000 +--- a/etc.Linux/os-release 2017-06-09 19:37:50.000000000 +0100 ++++ b/etc.Linux/os-release 2018-01-12 08:35:13.951741903 +0000 @@ -1,7 +1,7 @@ -NAME=Gentoo -ID=gentoo @@ -14,9 +20,9 @@ diff -Nur a/etc.Linux/os-release b/etc.Linux/os-release +ID=redcore +PRETTY_NAME="Redcore/Linux" ANSI_COLOR="1;32" --HOME_URL="http://www.gentoo.org/" --SUPPORT_URL="http://www.gentoo.org/main/en/support.xml" +-HOME_URL="https://www.gentoo.org/" +-SUPPORT_URL="https://www.gentoo.org/support/" -BUG_REPORT_URL="https://bugs.gentoo.org/" -+HOME_URL="http://redcorelinux.org" -+SUPPORT_URL="http://wiki.redcorelinux.org" -+BUG_REPORT_URL="http://bugs.redcorelinux.org" ++HOME_URL="https://redcorelinux.org/" ++SUPPORT_URL="https://wiki.redcorelinux.org/" ++BUG_REPORT_URL="https://bugs.redcorelinux.org/" |