The rewrite in C is here! Rejoice! ppp probably won't work, but everything else should.
authorRoy Marples <uberlord@gentoo.org>
Wed, 11 Apr 2007 10:54:44 +0000 (10:54 +0000)
committerRoy Marples <uberlord@gentoo.org>
Wed, 11 Apr 2007 10:54:44 +0000 (10:54 +0000)
Package-Manager: portage-2.1.2.3

sys-apps/baselayout/ChangeLog
sys-apps/baselayout/Manifest
sys-apps/baselayout/baselayout-2.0.0_alpha1.ebuild [new file with mode: 0644]
sys-apps/baselayout/files/digest-baselayout-2.0.0_alpha1 [new file with mode: 0644]

index b9ea5001170a9f313ad738dbd813ca38154a747d..863931a6ab54b18445919e1bcbbf78a7db843b13 100644 (file)
@@ -1,10 +1,17 @@
 # ChangeLog for sys-apps/baselayout
 # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/ChangeLog,v 1.410 2007/04/08 07:30:00 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/ChangeLog,v 1.411 2007/04/11 10:54:44 uberlord Exp $
 
 # See the rc-scripts ChangeLog in subversion for release info:
 # http://sources.gentoo.org/viewcvs.py/*checkout*/baselayout/trunk/ChangeLog
 
+*baselayout-2.0.0_alpha1 (11 Apr 2007)
+
+  11 Apr 2007; Roy Marples <uberlord@gentoo.org>
+  +baselayout-2.0.0_alpha1.ebuild:
+  The rewrite in C is here! Rejoice!
+  ppp probably won't work, but everything else should.
+
 *baselayout-1.12.10-r1 (08 Apr 2007)
 
   08 Apr 2007; Mike Frysinger <vapier@gentoo.org>
index d9704a78c9e2f9b0393bcd1b105ca765b5030cd3..16b3963dec060357bbb793f846a3ef1a99899862 100644 (file)
@@ -1,6 +1,3 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
 AUX baselayout-1.11.14-man.patch 768 RMD160 b1743f52d71b6ff2bd0d8cb8106112d8fad9d5b7 SHA1 f61b8f985a27dc9f2dd834001602b008030e79ce SHA256 7c12d6ee90b14b3152c2256df5983d3e6d102ca53b5da3ca6505b8925a86a80a
 MD5 dff93a6f0914f6969d21482d2f36e75e files/baselayout-1.11.14-man.patch 768
 RMD160 b1743f52d71b6ff2bd0d8cb8106112d8fad9d5b7 files/baselayout-1.11.14-man.patch 768
@@ -20,6 +17,7 @@ SHA256 38db4636f65ce40ea505a6337138b041ac6be5998982193d16b1fbdeebb2bacd files/co
 DIST baselayout-1.12.10.tar.bz2 218940 RMD160 e499c08af4d73d43c2e354febbf09e48916ac24c SHA1 306090e733eaf059d0849291d6327f7ea9bae5cc SHA256 1d64cdb9cc42bca7a8eec4045ad0e7e8cafba1d6c3f92b377bc7f6f7ee668674
 DIST baselayout-1.12.9.tar.bz2 218939 RMD160 c80a3e4434bd8ce58c89ab1b988b64c012741d00 SHA1 0e5745d95412db3427961c5f796827f7867aa35b SHA256 ab89a131d0a12fa8b411189fb51b15216c3f27a422ff539767eb0d134e40dd94
 DIST baselayout-1.13.0_alpha12.tar.bz2 230982 RMD160 6401629eeb92b13eb2bfbdc7f268d45ee7ed2f51 SHA1 a565b934427e0ba8eb41869fb6b30f294198a2b2 SHA256 3b6214eb02e2549a19f2e40a71eee65981c9c9758a327d6bef128e734c47e054
+DIST baselayout-2.0.0_alpha1.tar.bz2 128006 RMD160 71da0cdbc4c870736caba7b3c7b7afe5b413eb54 SHA1 d975c51dfb845926fd450501a15a0c7938bb0d11 SHA256 bb740d967e136e35958a5e64bca777ef16b3f29194a477fc2368aa8b8fab2193
 DIST rc-scripts-1.6.15.tar.bz2 161524 RMD160 f69c3d5a9e742bf7b7c997d49d443617779f3d39 SHA1 e3039dc8fe7ddfc31d88f4b9e1c833fe9607f85c SHA256 55d20018624141fa2ae92c843fa93c6d4b77fc89a493949d5ad391bce5b9888a
 EBUILD baselayout-1.11.15-r3.ebuild 18810 RMD160 c2d9d4fc7aee7a26615f37b370871ab3accdf43d SHA1 9821697e7473e1e1f6d54d56237c3546310dc898 SHA256 7b98c19332ebbf4e23ca9800d3bdbbee4e03aeb92663ec4c21b7270a8ddb1c0f
 MD5 363cb680de3467f3bd044dcd85279974 baselayout-1.11.15-r3.ebuild 18810
@@ -37,10 +35,14 @@ EBUILD baselayout-1.13.0_alpha12.ebuild 9966 RMD160 db7de2961b97237d7b2c2e84c925
 MD5 56dc3d80b5c9847bdb05532fd3fdff71 baselayout-1.13.0_alpha12.ebuild 9966
 RMD160 db7de2961b97237d7b2c2e84c925d262aeeb3d50 baselayout-1.13.0_alpha12.ebuild 9966
 SHA256 a81b8db088f4ba1de413bcf4955f295d2e2dd6fac919e4bb607ef737973cfef1 baselayout-1.13.0_alpha12.ebuild 9966
-MISC ChangeLog 91444 RMD160 0f8e26f0057aa1b5f5c17b47d72898a3dc6699ae SHA1 dc35a715cb56af8f773576b48530ecb11c2c8b8d SHA256 a91fd7034e7565f6b23648c2207c33e662e278a724e62d686a4065a6d2872f10
-MD5 17a0dfe58866e1e26ce6a867a82f2908 ChangeLog 91444
-RMD160 0f8e26f0057aa1b5f5c17b47d72898a3dc6699ae ChangeLog 91444
-SHA256 a91fd7034e7565f6b23648c2207c33e662e278a724e62d686a4065a6d2872f10 ChangeLog 91444
+EBUILD baselayout-2.0.0_alpha1.ebuild 9745 RMD160 c67c2e8130d3bc2aa5e7300d4a92d5c806078260 SHA1 a738af7cab0208bafd5f544c0848c3fc63298dcd SHA256 ef8db0c1c46cc612734e49080191ad2258587957bbb0af66499eeba207e15579
+MD5 20708a49b76bc369cb8ca5c6ccd2e4b3 baselayout-2.0.0_alpha1.ebuild 9745
+RMD160 c67c2e8130d3bc2aa5e7300d4a92d5c806078260 baselayout-2.0.0_alpha1.ebuild 9745
+SHA256 ef8db0c1c46cc612734e49080191ad2258587957bbb0af66499eeba207e15579 baselayout-2.0.0_alpha1.ebuild 9745
+MISC ChangeLog 91663 RMD160 63a503b1e9078ad03a015890bea4b3e1d0f8cdb5 SHA1 d24479249cd45d8f89ed8183a0c3af9c959308c6 SHA256 fd8355b3142c18cf57d0906e1bf8ef2400e225673ca0e1a0dfec5f47cdcf526d
+MD5 999541fe5d62ded99c62155e8a1dad50 ChangeLog 91663
+RMD160 63a503b1e9078ad03a015890bea4b3e1d0f8cdb5 ChangeLog 91663
+SHA256 fd8355b3142c18cf57d0906e1bf8ef2400e225673ca0e1a0dfec5f47cdcf526d ChangeLog 91663
 MISC metadata.xml 164 RMD160 f43cbec30b7074319087c9acffdb9354b17b0db3 SHA1 9c213f5803676c56439df3716be07d6692588856 SHA256 f5f2891f2a4791cd31350bb2bb572131ad7235cd0eeb124c9912c187ac10ce92
 MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164
 RMD160 f43cbec30b7074319087c9acffdb9354b17b0db3 metadata.xml 164
@@ -57,10 +59,6 @@ SHA256 d975250968cfce2250369add8355bc47cc2e3c8ae2ae5d606c6f69086535f510 files/di
 MD5 73d1269ba801eb1a113e55b5679be37f files/digest-baselayout-1.13.0_alpha12 280
 RMD160 82ba1b5b86ef5f414bf202d8cfd1275e7e21bf97 files/digest-baselayout-1.13.0_alpha12 280
 SHA256 4e5b7e0884373590a6b434976433e8d06a3fb4d52282f416d5a25dc2d265bd8a files/digest-baselayout-1.13.0_alpha12 280
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.3 (GNU/Linux)
-
-iD8DBQFGGJoU8bi6rjpTunYRAqiSAKDgo8sBAsfSHpLwNWGlml6l20i+9ACgpoNj
-PWF3I/ZuUcQTYXF4BHz9JX4=
-=7Xr+
------END PGP SIGNATURE-----
+MD5 ee4d69b5b955d11ad0682ed5276ce5cb files/digest-baselayout-2.0.0_alpha1 274
+RMD160 1f7fd2f4bec5e35f7d85e905f80a491daa18f179 files/digest-baselayout-2.0.0_alpha1 274
+SHA256 1b8d9bd46ccda9cf47f971c90b3028a54335835083dfca109a7cb5c0d95a621b files/digest-baselayout-2.0.0_alpha1 274
diff --git a/sys-apps/baselayout/baselayout-2.0.0_alpha1.ebuild b/sys-apps/baselayout/baselayout-2.0.0_alpha1.ebuild
new file mode 100644 (file)
index 0000000..845ff1c
--- /dev/null
@@ -0,0 +1,280 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-2.0.0_alpha1.ebuild,v 1.1 2007/04/11 10:54:44 uberlord Exp $
+
+inherit flag-o-matic eutils toolchain-funcs multilib
+
+DESCRIPTION="Filesystem baselayout and init scripts"
+HOMEPAGE="http://www.gentoo.org/"
+SRC_URI="mirror://gentoo/${P}.tar.bz2
+       http://dev.gentoo.org/~uberlord/baselayout/${P}.tar.bz2
+       http://dev.gentoo.org/~azarah/baselayout/${P}.tar.bz2
+       http://dev.gentoo.org/~vapier/dist/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
+IUSE="bootstrap build pam static unicode kernel_linux kernel_FreeBSD"
+
+RDEPEND="virtual/init
+               !build? (
+                       !bootstrap? (
+                               kernel_linux? ( >=sys-apps/coreutils-5.2.1 )
+                               kernel_FreeBSD? ( sys-process/fuser-bsd )
+                       )
+               )
+               pam? ( virtual/pam )
+               !<net-misc/dhcpcd-2.0.0"
+DEPEND="virtual/os-headers"
+PDEPEND="virtual/init
+       !build? ( !bootstrap? (
+               kernel_linux? ( >=sys-apps/module-init-tools-3.2.2-r2 sys-apps/makedev )
+       ) )"
+
+PROVIDE="virtual/baselayout"
+
+src_unpack() {
+       unpack ${A}
+       cd "${S}"
+
+       # Setup unicode defaults for silly unicode users
+       if use unicode ; then
+               sed -i -e '/^UNICODE=/s:no:yes:' etc/rc.conf
+       fi
+
+       # SPARC does not like stty, so we disable RC_INTERACTIVE which requires it
+       # see Gentoo bug #104067.
+       if use sparc ; then \
+               sed -i -e '/^RC_INTERACTIVE=/s:yes:no:' etc/conf.d/rc || die
+       fi
+}
+
+make_opts() {
+       local libdir="lib"
+       [[ ${SYMLINK_LIB} == "yes" ]] && libdir=$(get_abi_LIBDIR "${DEFAULT_ABI}")
+       local opts="${opts} LIB=${libdir}"
+
+       if use kernel_linux ; then
+               opts="${opts} OS=Linux"
+       else
+               opts="${opts} OS=BSD"
+       fi
+       use pam && opts="${opts} HAVE_PAM=1"
+
+       echo "${opts}"
+}
+
+src_compile() {
+       use static && append-ldflags -static
+       emake $(make_opts) ARCH=$(tc-arch) CC=$(tc-getCC) || die
+}
+
+# Support function for remapping old wireless dns vars
+remap_dns_vars() {
+       if [[ -f "${ROOT}/etc/conf.d/$1" ]]; then
+               sed -e 's/\<domain_/dns_domain_/g' \
+                       -e 's/\<mac_domain_/mac_dns_domain_/g' \
+                       -e 's/\<nameservers_/dns_servers_/g' \
+                       -e 's/\<mac_nameservers_/mac_dns_servers_/g' \
+                       -e 's/\<searchdomains_/dns_search_domains_/g' \
+                       -e 's/\<mac_searchdomains_/mac_dns_search_domains_/g' \
+                       "${ROOT}/etc/conf.d/$1" > "${D}/etc/conf.d/$1"
+       fi
+}
+
+pkg_preinst() {
+       # Move our makefiles to a temporay location
+       mv "${D}"/usr/share/baselayout/{Makefile,default.mk,runlevels}* "${T}"
+
+       # 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.
+       if use build || use bootstrap ; then
+               local libdirs="$(get_all_libdirs)" dir=
+               # Create our multilib dirs - the Makefile has no knowledge of this
+               : ${libdirs:=lib}       # it isn't that we don't trust multilib.eclass...
+               for dir in ${libdirs}; do
+                       mkdir -p "${ROOT}${dir}"
+                       touch "${ROOT}${dir}"/.keep
+                       mkdir -p "${ROOT}usr/${dir}"
+                       touch "${ROOT}usr/${dir}"/.keep
+                       mkdir -p "${ROOT}usr/local/${dir}"
+                       touch "${ROOT}usr/local/${dir}"/.keep
+               done
+
+               # Ugly compatibility with stupid ebuilds and old profiles symlinks
+               if [[ ${SYMLINK_LIB} == "yes" ]] ; then
+                       rm -r "${ROOT}"/{lib,usr/lib,usr/local/lib} &> /dev/null
+                       local lib=$(get_abi_LIBDIR ${DEFAULT_ABI})
+                       ln -s "${lib}" "${ROOT}lib"
+                       ln -s "${lib}" "${ROOT}usr/lib"
+                       ln -s "${lib}" "${ROOT}usr/local/lib"
+               fi
+
+               make -C "${T}" $(make_opts) DESTDIR="${ROOT}" layout || die "failed to layout filesystem"
+       fi
+
+       # Change some vars introduced in baselayout-1.11.0 before we go stable
+       # The new names make more sense and allow nis_domain
+       # for use in baselayout-1.12.0
+       remap_dns_vars net
+       remap_dns_vars wireless
+}
+
+src_install() {
+       make $(make_opts) DESTDIR="${D}" install
+       dodoc ChangeLog COPYRIGHT
+
+       # Should this belong in another ebuild? Like say binutils?
+       # List all the multilib libdirs in /etc/env/04multilib (only if they're
+       # actually different from the normal
+       if has_multilib_profile || [[ $(get_libdir) != "lib" || -n ${CONF_MULTILIBDIR} ]]; then
+               local libdirs="$(get_all_libdirs)" libdirs_env= dir=
+               : ${libdirs:=lib}       # it isn't that we don't trust multilib.eclass...
+               for dir in ${libdirs}; do
+                       libdirs_env=${libdirs_env:+$libdirs_env:}/${dir}:/usr/${dir}:/usr/local/${dir}
+               done
+
+               # Special-case uglyness... For people updating from lib32 -> lib amd64
+               # profiles, keep lib32 in the search path while it's around
+               if has_multilib_profile && [[ -d ${ROOT}lib32 || -d ${ROOT}lib32 ]] && ! hasq lib32 ${libdirs}; then
+                       libdirs_env="${libdirs_env}:/lib32:/usr/lib32:/usr/local/lib32"
+               fi
+               echo "LDPATH=\"${libdirs_env}\"" > "${T}"/04multilib
+               doenvd "${T}"/04multilib
+       fi
+
+       # rc-scripts version for testing of features that *should* be present
+       echo "Gentoo Base System release ${PV}" > "${D}"/etc/gentoo-release
+
+       # Remove the installed runlevels, as we don't know about $ROOT yet
+       rm -rf "${D}/etc/runlevels"
+
+       # Copy the make files to /usr/share/baselayout so we can re-use them in
+       # postinst, otherwise binpkg will break.
+       insinto /usr/share/baselayout
+       doins -r Makefile default.mk runlevels*
+}
+
+pkg_postinst() {
+       # Make our runlevels if they don't exist
+       if [[ ! -e ${ROOT}etc/runlevels ]] ; then
+               einfo "Making default runlevels"
+               make -C "${T}" $(make_opts) DESTDIR="${ROOT}" runlevels_install >/dev/null
+       fi
+
+       # 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 "${ROOT}etc/${x}" ]] && continue
+               [[ -e "${ROOT}usr/share/baselayout/${x}" ]] || continue
+               cp -p "${ROOT}usr/share/baselayout/${x}" ${ROOT}etc
+       done
+
+       # We need to copy svcdir if upgrading
+       if has_version "<sys-apps/${PN}-1.13.0_alpha" ; then
+               (
+               source "${ROOT}etc/conf.d/rc"
+               svcdir="${svcdir:-/var/lib/init.d}"
+               einfo "Moving state from ${ROOT}${svcdir} to ${ROOT}lib/rcscripts/init.d"
+               cp -RPp "${ROOT}${svcdir}"/* "${ROOT}"lib/rcscripts/init.d
+               rm -rf "${ROOT}"lib/rcscripts/init.d/daemons
+               umount "${ROOT}${svcdir}" 2>/dev/null
+               rm -rf "${ROOT}${svcdir}"
+               )
+               # Install our new init script and mark it started
+               if use kernel_linux ; then
+                       ln -snf ../../init.d/volumes "${ROOT}"etc/runlevels/boot
+                       ln -snf /etc/init.d/volumes "${ROOT}"lib/rcscripts/init.d/started
+               fi
+       fi
+
+       if [[ ${ROOT} == / ]] && ! use build && ! use bootstrap; then
+               /$(get_libdir)/rcscripts/bin/rc-depend --update
+       fi
+
+       # This is also written in src_install (so it's in CONTENTS), but
+       # write it here so that the new version is immediately in the file
+       # (without waiting for the user to do etc-update)
+       rm -f "${ROOT}"/etc/._cfg????_gentoo-release
+       echo "Gentoo Base System release ${PV}" > "${ROOT}"/etc/gentoo-release
+
+       echo
+       einfo "Please be sure to update all pending '._cfg*' files in /etc,"
+       einfo "else things might break at your next reboot!      You can use 'etc-update'"
+       einfo "to accomplish this:"
+       einfo
+       einfo "  # etc-update"
+
+       local lo="net.lo0"
+       use kernel_linux && lo="net.lo"
+       for f in ${ROOT}etc/init.d/net.*; do
+               [[ -L ${f} || ${f} == "${ROOT}etc/init.d/${lo}" ]] && continue
+               echo
+               einfo "WARNING: You have older net.* files in ${ROOT}etc/init.d/"
+               einfo "They need to be converted to symlinks to ${lo}.  If you haven't"
+               einfo "made personal changes to those files, you can update with the"
+               einfo "following command:"
+               einfo
+               einfo "  /bin/ls ${ROOT}etc/init.d/net.* | grep -v '/${lo}$' | xargs -n1 ln -sfvn ${lo}"
+               break
+       done
+
+       if sed -e 's/#.*//' "${ROOT}"etc/conf.d/{net,wireless} 2>/dev/null \
+               | egrep -q '\<(domain|nameservers|searchdomains)_' ; then
+                       echo
+                       ewarn "You have depreciated variables in ${ROOT}etc/conf.d/net"
+                       ewarn "or ${ROOT}etc/conf.d/wireless"
+                       ewarn
+                       ewarn "domain_* -> dns_domain_*"
+                       ewarn "nameservers_* -> dns_servers_*"
+                       ewarn "searchdomains_* -> dns_search_domains_*"
+                       ewarn
+                       ewarn "They have been converted for you - ensure that you"
+                       ewarn "update them via 'etc-update'"
+       fi
+
+       if sed -e 's/#.*//' "${ROOT}"etc/conf.d/net 2>/dev/null \
+               | egrep -q '\<(ifconfig|aliases|broadcasts|netmasks|inet6|ipaddr|iproute)_'; then
+                       echo
+                       ewarn "You are using deprecated variables in ${ROOT}etc/conf.d/net"
+                       ewarn
+                       ewarn "You are advised to review the new configuration variables as"
+                       ewarn "found in ${ROOT}etc/conf.d/net.example as there is no"
+                       ewarn "guarantee that they will work in future versions."
+       fi
+
+       # Remove old stuff that may cause problems.
+       if [[ -e "${ROOT}"/etc/env.d/01hostname ]] ; then
+               rm -f "${ROOT}"/etc/env.d/01hostname
+       fi
+       if [[ -e "${ROOT}"/etc/init.d/domainname ]] ; then
+               rm -f "${ROOT}"/etc/{conf.d,init.d}/domainname \
+                       "${ROOT}"/etc/runlevels/*/domainname
+               echo
+               ewarn "The domainname init script has been removed in this version."
+               ewarn "Consult ${ROOT}etc/conf.d/net.example for details about how"
+               ewarn "to apply dns/nis information to the loopback interface."
+       fi
+}
+
+# Handle our downgraders
+# We should remove this when <1.13 has been removed from the tree
+pkg_postrm() {
+       # Remove dir if downgrading
+       if has_version "<sys-apps/${PN}-1.13.0_alpha" ; then
+               (
+               source "${ROOT}etc/conf.d/rc"
+               svcdir="${svcdir:-/var/lib/init.d}"
+               einfo "Moving state from ${ROOT}lib/rcscripts/init.d to ${ROOT}${svcdir}"
+               mkdir -p "${ROOT}${svcdir}"
+               cp -RPp "${ROOT}lib/rcscripts/init.d"/* "${ROOT}${svcdir}"
+               rm -rf "${ROOT}${svcdir}"/daemons
+               umount "${ROOT}lib/rcscripts/init.d" 2>/dev/null
+               rm -rf "${ROOT}lib/rcscripts/init.d"
+               )
+       fi
+}
diff --git a/sys-apps/baselayout/files/digest-baselayout-2.0.0_alpha1 b/sys-apps/baselayout/files/digest-baselayout-2.0.0_alpha1
new file mode 100644 (file)
index 0000000..f5e7d36
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 52837d7962805591f760bb0cbe84a127 baselayout-2.0.0_alpha1.tar.bz2 128006
+RMD160 71da0cdbc4c870736caba7b3c7b7afe5b413eb54 baselayout-2.0.0_alpha1.tar.bz2 128006
+SHA256 bb740d967e136e35958a5e64bca777ef16b3f29194a477fc2368aa8b8fab2193 baselayout-2.0.0_alpha1.tar.bz2 128006