diff options
author | Aron Griffis <agriffis@gentoo.org> | 2004-06-29 21:19:13 +0000 |
---|---|---|
committer | Aron Griffis <agriffis@gentoo.org> | 2004-06-29 21:19:13 +0000 |
commit | 49ab3aecf3e36f0bf0d35812d5f151513367b3e7 (patch) | |
tree | 2918fc59048b7d7a20e802b22b263318aa9d4494 /sys-apps/baselayout | |
parent | new version (Manifest recommit) (diff) | |
download | gentoo-2-49ab3aecf3e36f0bf0d35812d5f151513367b3e7.tar.gz gentoo-2-49ab3aecf3e36f0bf0d35812d5f151513367b3e7.tar.bz2 gentoo-2-49ab3aecf3e36f0bf0d35812d5f151513367b3e7.zip |
Split sysvinit from baselayout. Trim old ebuilds
Diffstat (limited to 'sys-apps/baselayout')
19 files changed, 40 insertions, 3760 deletions
diff --git a/sys-apps/baselayout/ChangeLog b/sys-apps/baselayout/ChangeLog index bc032728707a..564217d4343c 100644 --- a/sys-apps/baselayout/ChangeLog +++ b/sys-apps/baselayout/ChangeLog @@ -1,10 +1,20 @@ # ChangeLog for sys-apps/baselayout # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/ChangeLog,v 1.157 2004/06/28 20:28:05 agriffis Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/ChangeLog,v 1.158 2004/06/29 21:19:13 agriffis Exp $ # See the gentoo-src rc-scripts ChangeLog for up-to-date release information: # http://www.gentoo.org/cgi-bin/viewcvs.cgi/rc-scripts/ChangeLog?rev=HEAD&cvsroot=gentoo-src&content-type=text/vnd.viewcvs-markup +*baselayout-1.10.1-r1 (29 Jun 2004) + + 29 Jun 2004; Aron Griffis <agriffis@gentoo.org> + +baselayout-1.10.1-r1.ebuild, baselayout-1.10.1.ebuild, + -baselayout-1.8.11.ebuild, -baselayout-1.8.12.ebuild, + -baselayout-1.8.6.13-r1.ebuild, -baselayout-1.8.6.13.ebuild, + -baselayout-1.9.1.ebuild, -baselayout-1.9.4-r1.ebuild, + baselayout-1.9.4-r2.ebuild, -baselayout-1.9.4.ebuild: + Split sysvinit from baselayout. Trim old ebuilds + *baselayout-1.10.1 (28 Jun 2004) 28 Jun 2004; Aron Griffis <agriffis@gentoo.org> -baselayout-1.10.ebuild, @@ -57,7 +67,7 @@ Update to rc-scripts-1.4.16: Only call generate-modprobe.conf with --assume-kernel if modules-update was called with --assume-kernel. This means that only catalyst has the dependency on module-init-tools, not everybody with - the newer baselayout. This is ~arch at the moment, but should e marked stable + the newer baselayout. This is ~arch at the moment, but should be marked stable within 24 hours or so 04 Jun 2004; Aron Griffis <agriffis@gentoo.org> baselayout-1.9.4-r1.ebuild: diff --git a/sys-apps/baselayout/Manifest b/sys-apps/baselayout/Manifest index 5acf9f9273db..0589fc454447 100644 --- a/sys-apps/baselayout/Manifest +++ b/sys-apps/baselayout/Manifest @@ -2,6 +2,7 @@ MD5 cafda01c8dc5776fc5f4d1866781f8f5 baselayout-1.9.1.ebuild 16081 MD5 1d71e198bf7b5b2da5a1f95f2948b65d baselayout-1.8.12.ebuild 15949 MD5 c333391a007049c1872fc840f880f5d9 baselayout-1.10.1.ebuild 16326 MD5 5fea61bf9668d0b1ff19ae563b6b5c18 baselayout-1.9.4-r1.ebuild 16200 +MD5 e9affe1bb23b8c3f83f59c286b1beb45 baselayout-1.10.1-r1.ebuild 14395 MD5 65a8c80632db039aa8a2568b1b03ea0c baselayout-1.8.6.13.ebuild 20492 MD5 f7e9754385ef39aa7981f4fe0d2baa1e baselayout-1.8.11.ebuild 15439 MD5 b6409ba3a872f8b4e942ef6d7dd612fe baselayout-1.8.6.13-r1.ebuild 16796 @@ -16,6 +17,7 @@ MD5 d50ca91cbb58c7528a60ddf5bb172956 files/sysvinit-2.84-selinux.patch 3206 MD5 f2b3e80ec04ecff5c5e7f517d624a790 files/digest-baselayout-1.10.1 133 MD5 b552d9eff99e33451f2378fa95534fa9 files/digest-baselayout-1.8.11 133 MD5 e0f1fbdd3b7c7deeba40df28dafffc58 files/digest-baselayout-1.8.12 134 +MD5 57c463223d32bbab75879dd96c355472 files/digest-baselayout-1.10.1-r1 69 MD5 adc667ea815b256d6f39259f4134f6df files/sysvinit-2.84-selinux1.patch 3556 MD5 7c0cd50e4ac1dc062f5e6ab578e95659 files/copyright 2099 MD5 bc5cddad26537c7b58702798556754c6 files/digest-baselayout-1.8.6.13-r1 138 diff --git a/sys-apps/baselayout/baselayout-1.9.4.ebuild b/sys-apps/baselayout/baselayout-1.10.1-r1.ebuild index 80f8af5097a4..5b16bd8a2f60 100644 --- a/sys-apps/baselayout/baselayout-1.9.4.ebuild +++ b/sys-apps/baselayout/baselayout-1.10.1-r1.ebuild @@ -1,34 +1,31 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.9.4.ebuild,v 1.3 2004/06/24 21:59:11 agriffis Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.10.1-r1.ebuild,v 1.1 2004/06/29 21:19:13 agriffis Exp $ inherit flag-o-matic eutils -SV=1.4.15 # rc-scripts version +SV=1.5.1 # rc-scripts version SVREV= # rc-scripts rev -SVIV=2.84 # sysvinit version S="${WORKDIR}/rc-scripts-${SV}${SVREV}" -S2="${WORKDIR}/sysvinit-${SVIV}" -DESCRIPTION="Base layout for Gentoo Linux (incl. initscripts and sysvinit)" +DESCRIPTION="Filesystem baselayout and init scripts" HOMEPAGE="http://www.gentoo.org/" -SRC_URI="ftp://ftp.cistron.nl/pub/people/miquels/software/sysvinit-${SVIV}.tar.gz - ftp://sunsite.unc.edu/pub/Linux/system/daemons/init/sysvinit-${SVIV}.tar.gz - mirror://gentoo/rc-scripts-${SV}${SVREV}.tar.bz2" +SRC_URI="mirror://gentoo/rc-scripts-${SV}${SVREV}.tar.bz2 + http://dev.gentoo.org/~agriffis/rc-scripts/rc-scripts-${SV}${SVREV}.tar.bz2" LICENSE="GPL-2" SLOT="0" -KEYWORDS="x86 ppc sparc mips alpha arm hppa amd64 ia64 ppc64 s390" -IUSE="bootstrap build livecd static selinux" +KEYWORDS="~x86 ~ppc ~sparc ~mips ~alpha ~arm ~hppa ~amd64 ~ia64 ~ppc64 ~s390" +IUSE="bootstrap build livecd static selinux uclibc" -DEPEND="virtual/os-headers - selinux? ( sys-libs/libselinux )" +DEPEND="virtual/os-headers" # This version of baselayout needs gawk in /bin, but as we do not have # a c++ compiler during bootstrap, we cannot depend on it if "bootstrap" # or "build" are in USE. RDEPEND="${DEPEND} !build? ( !bootstrap? ( + >=sys-apps/sysvinit-2.84 >=sys-apps/gawk-3.1.1-r2 >=sys-apps/util-linux-2.11z-r6 ) )" @@ -36,44 +33,9 @@ RDEPEND="${DEPEND} src_unpack() { unpack ${A} - # - # Baselayout setup - # - cd ${S}/etc - # Fix Sparc specific stuff if [[ ${ARCH} == sparc ]]; then - sed -i -e 's:KEYMAP="us":KEYMAP="sunkeymap":' rc.conf || die - fi - - # Add serial console for arches that typically have it - case ${ARCH} in - sparc|mips|hppa|alpha|ia64) - sed -i -e \ - 's"# TERMINALS"# SERIAL CONSOLE\nc0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100\n\n# TERMINALS"' \ - inittab || die - ;; - esac - - # - # sysvinit setup - # - if ! use build; then - cd ${S2}/src - - # Note that if sysvinit is ever built with USE=build, need to - # refrain from building sulogin as it needs libcrypt which is - # not in the build image: - # sed -i -e '/^PROGS/s/ sulogin//' Makefile || die - - # Selinux patch for sysvinit - if use selinux; then - if has_version '>=sys-libs/libselinux-1.6'; then - epatch ${FILESDIR}/sysvinit-${SVIV}-selinux1.patch - else - epatch ${FILESDIR}/sysvinit-${SVIV}-selinux.patch - fi - fi + sed -i -e 's:KEYMAP="us":KEYMAP="sunkeymap":' ${S}/etc/rc.conf || die fi } @@ -83,19 +45,8 @@ src_compile() { echo "${ROOT}" > ${T}/ROOT cd ${S}/src - einfo "Building utilities..." make CC="${CC:-gcc}" LD="${CC:-gcc} ${LDFLAGS}" \ - CFLAGS="${CFLAGS}" || die "problem compiling utilities" - - if ! use build; then - # Build sysvinit stuff - cd ${S2}/src - einfo "Building sysvinit..." - emake CC="${CC:-gcc}" LD="${CC:-gcc}" \ - LDFLAGS="${LDFLAGS}" CFLAGS="${CFLAGS} -D_GNU_SOURCE" || die "problem compiling sysvinit" - else - einfo "Not building sysvinit because USE=build" - fi + CFLAGS="${CFLAGS}" || die } # ${PATH} should include where to get MAKEDEV when calling this @@ -239,6 +190,8 @@ src_install() { kdir /var/state kdir -m 1777 /var/tmp + use ppc64 && kdir /sys + dodir /etc/init.d # .keep file might mess up init.d stuff dodir /var/db/pkg # .keep file messes up Portage when looking in /var/db/pkg @@ -299,6 +252,10 @@ src_install() { done fi + # As of baselayout-1.10-1-r1, sysvinit is its own package again, and + # provides the inittab itself + rm -f ${D}/etc/inittab + # We do not want to overwrite the user's settings during # bootstrap; put this somewhere for safekeeping until pkg_postinst mv ${D}/etc/hosts ${D}/usr/share/baselayout @@ -398,31 +355,9 @@ src_install() { # Install baselayout utilities # cd ${S}/src - einfo "Installing utilities..." - make DESTDIR="${D}" install || die "problem installing utilities" + make DESTDIR="${D}" install || die - # - # Install sysvinit - # - if ! use build; then - cd ${S2}/src - einfo "Installing sysvinit..." - into / - dosbin init halt killall5 runlevel shutdown sulogin - dosym init /sbin/telinit - dobin last mesg utmpdump wall - dosym killall5 /sbin/pidof - dosym halt /sbin/reboot - dosym halt /sbin/poweroff - dosym last /bin/lastb - insinto /usr/include - doins initreq.h - # sysvinit docs - cd ${S2} - doman man/*.[1-9] - docinto sysvinit-${SVIV} - dodoc COPYRIGHT README doc/* - fi + use uclibc && rm -f ${D}/etc/nsswitch.conf # Hack to fix bug 9849, continued in pkg_postinst unkdir diff --git a/sys-apps/baselayout/baselayout-1.10.1.ebuild b/sys-apps/baselayout/baselayout-1.10.1.ebuild index f8d21303b1cd..43e114105529 100644 --- a/sys-apps/baselayout/baselayout-1.10.1.ebuild +++ b/sys-apps/baselayout/baselayout-1.10.1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.10.1.ebuild,v 1.1 2004/06/28 20:08:21 agriffis Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.10.1.ebuild,v 1.2 2004/06/29 21:19:13 agriffis Exp $ inherit flag-o-matic eutils @@ -32,7 +32,8 @@ RDEPEND="${DEPEND} !build? ( !bootstrap? ( >=sys-apps/gawk-3.1.1-r2 >=sys-apps/util-linux-2.11z-r6 - ) )" + ) ) + !sys-apps/sysvinit" src_unpack() { unpack ${A} diff --git a/sys-apps/baselayout/baselayout-1.8.11.ebuild b/sys-apps/baselayout/baselayout-1.8.11.ebuild deleted file mode 100644 index e5ba534a670d..000000000000 --- a/sys-apps/baselayout/baselayout-1.8.11.ebuild +++ /dev/null @@ -1,554 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.8.11.ebuild,v 1.5 2004/06/24 21:59:11 agriffis Exp $ - -inherit flag-o-matic eutils - -SV="1.4.9" # rc-scripts version -SVREV= # rc-scripts rev -SVIV="2.84" # sysvinit version - -S="${WORKDIR}/rc-scripts-${SV}${SVREV}" -S2="${WORKDIR}/sysvinit-${SVIV}" -DESCRIPTION="Base layout for Gentoo Linux (incl. initscripts and sysvinit)" -HOMEPAGE="http://www.gentoo.org/" -SRC_URI="ftp://ftp.cistron.nl/pub/people/miquels/software/sysvinit-${SVIV}.tar.gz - ftp://sunsite.unc.edu/pub/Linux/system/daemons/init/sysvinit-${SVIV}.tar.gz - mirror://gentoo/rc-scripts-${SV}${SVREV}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="x86 ppc sparc mips alpha arm hppa amd64 ia64 ppc64 s390" -IUSE="bootstrap build livecd static selinux" - -DEPEND="virtual/os-headers - selinux? ( sys-libs/libselinux )" - -# This version of baselayout needs gawk in /bin, but as we do not have -# a c++ compiler during bootstrap, we cannot depend on it if "bootstrap" -# or "build" are in USE. -RDEPEND="${DEPEND} - !build? ( !bootstrap? ( - >=sys-apps/gawk-3.1.1-r2 - >=sys-apps/util-linux-2.11z-r6 - ) )" - -src_unpack() { - unpack ${A} - - # - # Baselayout setup - # - cd ${S}/etc - - # Fix Sparc specific stuff - if [[ ${ARCH} == sparc ]]; then - sed -i -e 's:KEYMAP="us":KEYMAP="sunkeymap":' rc.conf || die - fi - - # Add serial console for arches that typically have it - case ${ARCH} in - sparc|mips|hppa|alpha|ia64) - sed -i -e \ - 's"# TERMINALS"# SERIAL CONSOLE\nc0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100\n\n# TERMINALS"' \ - inittab || die - ;; - esac - - # - # sysvinit setup - # - if ! use build; then - cd ${S2}/src - - # Note that if sysvinit is ever built with USE=build, need to - # refrain from building sulogin as it needs libcrypt which is - # not in the build image: - # sed -i -e '/^PROGS/s/ sulogin//' Makefile || die - - # Selinux patch for sysvinit - if use selinux; then - if has_version '>=sys-libs/libselinux-1.6'; then - epatch ${FILESDIR}/sysvinit-${SVIV}-selinux1.patch - else - epatch ${FILESDIR}/sysvinit-${SVIV}-selinux.patch - fi - fi - fi -} - -src_compile() { - use static && append-ldflags -static - - echo "${ROOT}" > ${T}/ROOT - - cd ${S}/src - einfo "Building utilities..." - make CC="${CC:-gcc}" LD="${CC:-gcc} ${LDFLAGS}" \ - CFLAGS="${CFLAGS}" || die "problem compiling utilities" - - if ! use build; then - # Build sysvinit stuff - cd ${S2}/src - einfo "Building sysvinit..." - emake CC="${CC:-gcc}" LD="${CC:-gcc}" \ - LDFLAGS="${LDFLAGS}" CFLAGS="${CFLAGS} -D_GNU_SOURCE" || die "problem compiling sysvinit" - else - einfo "Not building sysvinit because USE=build" - fi -} - -# ${PATH} should include where to get MAKEDEV when calling this -# function -create_dev_nodes() { - - case ${ARCH} in - # amd64 must use generic-i386 because amd64/x86_64 does not have - # a generic option at this time, and the default 'generic' ends - # up erroring out, because MAKEDEV internally doesn't know what - # to use - amd64) suffix=-i386 ;; - x86) suffix=-i386 ;; - ppc*) suffix=-powerpc ;; - alpha) suffix=-alpha ;; - ia64) suffix=-ia64 ;; - sparc*) suffix=-sparc ;; - mips) suffix=-mips ;; - arm) suffix=-arm ;; - hppa) suffix=-hppa ;; - esac - - einfo "Using generic${suffix} to make ${ARCH} device nodes..." - MAKEDEV generic${suffix} - MAKEDEV sg scd rtc hde hdf hdg hdh input audio video -} - -# This is a temporary workaround until bug 9849 is completely solved -# in portage. We need to create the directories so they're available -# during src_install, but when src_install is finished, call unkdir -# to remove any empty directories instead of leaving them around. -kdir() { - typeset -a args - typeset d - - # Create the directories for the remainder of src_install, and - # remember how to create the directories later. - for d in "$@"; do - if [[ $d == /* ]]; then - install -d "${args[@]}" "${D}/${d}" - cat >> "${D}/usr/share/baselayout/mkdirs.sh" <<EOF -install -d ${args[@]} "\${ROOT}/${d}" 2>/dev/null \\ - || ewarn " can't create ${d}" -touch "\${ROOT}/${d}/.keep" 2>/dev/null \\ - || ewarn " can't create ${d}/.keep" -EOF - else - args=("${args[@]}" "${d}") - fi - done -} - -# Continued from kdir above... This function removes any empty -# directories as a temporary workaround for bug 9849. The directories -# (and .keep files) are re-created in pkg_postinst, which means they -# aren't listed in CONTENTS, unfortunately. -unkdir() { - einfo "Running unkdir to workaround bug 9849" - find ${D} -depth -type d -exec rmdir {} \; 2>/dev/null - if [[ $? == 127 ]]; then - ewarn "Problem running unkdir: find command not found" - fi -} - -src_install() { - local foo bar - - # ROOT is purged from the environment prior to calling - # src_install. Good thing we saved it in a temporary file. - # Otherwise ROOT will be NULL, which hopefully is correct! - # (I don't know why it was in the environment in the first - # place... could have just used a shell variable?) - if [[ -f ${T}/ROOT ]]; then - ROOT=$(cat ${T}/ROOT) - fi - - # This directory is to stash away things that will be used in - # pkg_postinst - dodir /usr/share/baselayout - - einfo "Creating directories..." - kdir /boot - kdir /dev - kdir /dev/pts - kdir /dev/shm - kdir /etc/conf.d - kdir /etc/cron.daily - kdir /etc/cron.hourly - kdir /etc/cron.monthly - kdir /etc/cron.weekly - kdir /etc/devfs.d - kdir /etc/env.d - kdir /etc/modules.autoload.d - kdir /etc/modules.d - kdir /etc/opt - kdir /home - kdir /lib - kdir /lib/dev-state - kdir /lib/udev-state - kdir /mnt - kdir -m 0700 /mnt/cdrom - kdir -m 0700 /mnt/floppy - kdir /opt - kdir -o root -g uucp -m0755 /var/lock - kdir /proc - kdir -m 0700 /root - kdir /sbin - kdir /usr - kdir /usr/bin - kdir /usr/include - kdir /usr/include/asm - kdir /usr/include/linux - kdir /usr/lib - kdir /usr/local/bin - kdir /usr/local/games - kdir /usr/local/lib - kdir /usr/local/sbin - kdir /usr/local/share - kdir /usr/local/share/doc - kdir /usr/local/share/man - kdir /usr/local/src - kdir /usr/portage - kdir /usr/sbin - kdir /usr/share/doc - kdir /usr/share/info - kdir /usr/share/man - kdir /usr/share/misc - kdir /usr/src - kdir /usr/X11R6/include/GL - kdir /usr/X11R6/include/X11 - kdir /usr/X11R6/lib - kdir /usr/X11R6/lib - kdir /usr/X11R6/man - kdir /usr/X11R6/share - kdir -m 1777 /tmp - kdir /var - kdir /var/lib/misc - kdir /var/lock/subsys - kdir /var/log/news - kdir /var/run - kdir /var/spool - kdir /var/state - kdir -m 1777 /var/tmp - - dodir /etc/init.d # .keep file might mess up init.d stuff - dodir /var/db/pkg # .keep file messes up Portage when looking in /var/db/pkg - - # Symlinks so that LSB compliant apps work - # /lib64 is especially required since its the default place for ld.so - if [[ ${ARCH} == amd64 || ${ARCH} == ppc64 ]]; then - dosym lib /lib64 - dosym lib /usr/lib64 - dosym lib /usr/X11R6/lib64 - fi - - # FHS compatibility symlinks stuff - dosym ../var/tmp /usr/tmp - dosym share/man /usr/man - dosym share/doc /usr/doc - dosym share/info /usr/info - dosym ../../share/info /usr/X11R6/share/info - dosym ../X11R6/include/X11 /usr/include/X11 - dosym ../X11R6/include/GL /usr/include/GL - dosym ../X11R6/lib/X11 /usr/lib/X11 - dosym share/man /usr/local/man - dosym share/doc /usr/local/doc - - # Symlink /boot/boot to . so that /boot can be a separate - # filesystem and config files still work - dosym . /boot/boot - - # - # Setup files in /etc - # - dosym ../proc/filesystems /etc/filesystems - - insopts -m0644 - insinto /etc - find ${S}/etc -type f -maxdepth 1 -print0 | xargs --null doins - - fperms 0600 /etc/shadow - - exeinto /etc/init.d - doexe ${S}/init.d/* - insinto /etc/conf.d - doins ${S}/etc/conf.d/* - insinto /etc/env.d - doins ${S}/etc/env.d/* - insinto /etc/modules.autoload.d - doins ${S}/etc/modules.autoload.d/* - insinto /etc/modules.d - doins ${S}/etc/modules.d/* - insinto /etc/skel - find ${S}/etc/skel -type f -maxdepth 1 -print0 | xargs --null doins - - rm -f ${D}/etc/{conf,init}.d/net.ppp* # now ships with net-dialup/ppp - - # Set up default runlevel symlinks - if [[ ${ROOT} != / ]]; then - for foo in default boot nonetwork single; do - kdir /etc/runlevels/${foo} - for bar in $(cat ${S}/rc-lists/${foo}); do - [[ -e ${S}/init.d/${bar} ]] && \ - dosym /etc/init.d/${bar} /etc/runlevels/${foo}/${bar} - done - done - fi - - # We do not want to overwrite the user's settings during - # bootstrap; put this somewhere for safekeeping until pkg_postinst - mv ${D}/etc/hosts ${D}/usr/share/baselayout - - # rc-scripts version for testing of features that *should* be present - echo "Gentoo Base System version ${SV}" > ${D}/etc/gentoo-release - - # - # Setup files related to /dev - # - into / - dosbin ${S}/sbin/MAKEDEV - dosym ../../sbin/MAKEDEV /usr/sbin/MAKEDEV - dosym ../sbin/MAKEDEV /dev/MAKEDEV - - if use build || use bootstrap || \ - [[ ! -f "${ROOT}/lib/udev-state/devices.tar.bz2" ]]; then - # Ok, create temp device nodes - mkdir -p "${T}/udev-$$" - cd "${T}/udev-$$" - echo - einfo "Making device nodes (this could take a minute or so...)" - PATH="${D}/sbin:${PATH}" create_dev_nodes - - # Now create tarball that can also be used for udev. - # Need GNU tar for -j so call it by absolute path. - /bin/tar -cjlpf "${T}/devices-$$.tar.bz2" * - insinto /lib/udev-state - newins "${T}/devices-$$.tar.bz2" devices.tar.bz2 - fi - - # - # Setup files in /bin - # - cd ${S}/bin - dobin rc-status - - # - # Setup files in /sbin - # - cd ${S}/sbin - into / - dosbin rc rc-update - # Need this in /sbin, as it could be run before - # /usr is mounted. - dosbin modules-update - # Compat symlinks until I can get things synced. - dosym modules-update /sbin/update-modules - dosym ../../sbin/modules-update /usr/sbin/update-modules - # These moved from /etc/init.d/ to /sbin to help newb systems - # from breaking - dosbin runscript.sh functions.sh - use livecd && dosbin livecd-functions.sh - - # Compat symlinks between /etc/init.d and /sbin - # (some stuff have hardcoded paths) - dosym ../../sbin/depscan.sh /etc/init.d/depscan.sh - dosym ../../sbin/runscript.sh /etc/init.d/runscript.sh - dosym ../../sbin/functions.sh /etc/init.d/functions.sh - - # - # Setup files in /lib/rcsripts/sh - # - cd ${S}/sbin - exeinto /lib/rcscripts/sh - doexe rc-services.sh rc-daemon.sh rc-help.sh - - # We can only install new, fast awk versions of scripts - # if 'build' or 'bootstrap' is not in USE. This will - # change if we have sys-apps/gawk-3.1.1-r1 or later in - # the build image ... - if ! use build; then - # This is for new depscan.sh and env-update.sh - # written in awk - cd ${S}/sbin - into / - dosbin depscan.sh - dosbin env-update.sh - insinto /lib/rcscripts/awk - doins ${S}/src/awk/*.awk - fi - - # - # Install baselayout documentation - # - if ! use build ; then - doman ${S}/man/*.* - docinto / - dodoc ${FILESDIR}/copyright - dodoc ${S}/ChangeLog - fi - - # - # Install baselayout utilities - # - cd ${S}/src - einfo "Installing utilities..." - make DESTDIR="${D}" install || die "problem installing utilities" - - # - # Install sysvinit - # - if ! use build; then - cd ${S2}/src - einfo "Installing sysvinit..." - into / - dosbin init halt killall5 runlevel shutdown sulogin - dosym init /sbin/telinit - dobin last mesg utmpdump wall - dosym killall5 /sbin/pidof - dosym halt /sbin/reboot - dosym halt /sbin/poweroff - dosym last /bin/lastb - insinto /usr/include - doins initreq.h - # sysvinit docs - cd ${S2} - doman man/*.[1-9] - docinto sysvinit-${SVIV} - dodoc COPYRIGHT README doc/* - fi - - # Hack to fix bug 9849, continued in pkg_postinst - unkdir -} - -pkg_preinst() { - if [[ -f ${ROOT}/etc/modules.autoload && \ - ! -d ${ROOT}/etc/modules.autoload.d ]]; then - mkdir -p ${ROOT}/etc/modules.autoload.d - mv -f ${ROOT}/etc/modules.autoload \ - ${ROOT}/etc/modules.autoload.d/kernel-2.4 - ln -snf modules.autoload.d/kernel-2.4 ${ROOT}/etc/modules.autoload - fi - - if [[ -f "${ROOT}/lib/udev-state/devices.tar.bz2" && - -e "${ROOT}/dev/.udev" ]]; then - mv -f "${ROOT}/lib/udev-state/devices.tar.bz2" \ - "${ROOT}/lib/udev-state/devices.tar.bz2.current" - fi -} - -pkg_postinst() { - local x - - # Reincarnate dirs from kdir/unkdir (hack for bug 9849) - einfo "Creating directories and .keep files" - source ${ROOT}/usr/share/baselayout/mkdirs.sh - - if [[ -f "${ROOT}/lib/udev-state/devices.tar.bz2.current" ]]; then - # Rather use our current device tarball ... this was saved off - # in pkg_preinst - mv -f "${ROOT}/lib/udev-state/devices.tar.bz2.current" \ - "${ROOT}/lib/udev-state/devices.tar.bz2" - else - # Make sure our tarball does not get removed; update the - # timestamp so that it doesn't match CONTENTS - touch "${ROOT}/lib/udev-state/devices.tar.bz2" - fi - - # We don't want to create devices if this is not a bootstrap and devfs - # is used, as this was the cause for all the devfs problems we had - if use build || use bootstrap; then - if [[ ! -e "${ROOT}/dev/.devfsd" && ! -e "${ROOT}/dev/.udev" ]]; then - einfo "Populating /dev with device nodes..." - cd ${ROOT}/dev - if [ -f "${ROOT}/lib/udev-state/devices.tar.bz2" ]; then - tar -jxpf "${ROOT}/lib/udev-state/devices.tar.bz2" || die - else - # devices.tar.bz2 will not exist with binary packages ... - PATH="${ROOT}/sbin:${PATH}" create_dev_nodes - fi - fi - fi - - # Create /etc/hosts in pkg_postinst so we don't overwrite an - # existing file during bootstrap - if [[ ! -e ${ROOT}/etc/hosts ]]; then - cp ${ROOT}/usr/share/baselayout/hosts ${ROOT}/etc - fi - - # Under what circumstances would mtab be a symlink? It would be - # nice if there were an explanatory comment here - if [[ -L ${ROOT}/etc/mtab ]]; then - rm -f "${ROOT}/etc/mtab" - if [[ ${ROOT} == / ]]; then - cp /proc/mounts "${ROOT}/etc/mtab" - else - touch "${ROOT}/etc/mtab" - fi - fi - - # We should only install empty files if these files don't already exist. - [[ -e ${ROOT}/var/log/lastlog ]] || \ - touch "${ROOT}/var/log/lastlog" - [[ -e ${ROOT}/var/run/utmp ]] || \ - install -m 0664 -g utmp /dev/null "${ROOT}/var/run/utmp" - [[ -e ${ROOT}/var/log/wtmp ]] || \ - install -m 0664 -g utmp /dev/null "${ROOT}/var/log/wtmp" - - # Touching /etc/passwd and /etc/shadow after install can be fatal, as many - # new users do not update them properly. thus remove all ._cfg files if - # we are not busy with a bootstrap. - if ! use build && ! use bootstrap; then - einfo "Removing invalid backup copies of critical config files..." - rm -f "${ROOT}"/etc/._cfg????_{passwd,shadow} - fi - - # Reload init to fix unmounting problems of / on next reboot. - # This is really needed, as without the new version of init cause init - # not to quit properly on reboot, and causes a fsck of / on next reboot. - if [[ ${ROOT} == / ]] && ! use build && ! use bootstrap; then - # Do not return an error if this fails - /sbin/init U &>/dev/null - - # Regenerate init.d dependency tree - /sbin/depscan.sh &>/dev/null - - # Regenerate /etc/modules.conf, else it will fail at next boot - einfo "Updating module dependencies..." - /sbin/modules-update force &>/dev/null - else - rm -f ${ROOT}/etc/modules.conf - fi - - # Enable shadow groups (we need ROOT=/ here, as grpconv only - # operate on / ...). - if [[ ${ROOT} == / && \ - ! -f /etc/gshadow && -x /usr/sbin/grpck && -x /usr/sbin/grpconv ]] - then - if /usr/sbin/grpck -r &>/dev/null; then - /usr/sbin/grpconv - else - echo - ewarn "Running 'grpck' returned errors. Please run it by hand, and then" - ewarn "run 'grpconv' afterwards!" - echo - fi - fi - - 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" - echo -} diff --git a/sys-apps/baselayout/baselayout-1.8.12.ebuild b/sys-apps/baselayout/baselayout-1.8.12.ebuild deleted file mode 100644 index 267e33bb1a8a..000000000000 --- a/sys-apps/baselayout/baselayout-1.8.12.ebuild +++ /dev/null @@ -1,563 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.8.12.ebuild,v 1.6 2004/06/24 21:59:11 agriffis Exp $ - -inherit flag-o-matic eutils - -SV="1.4.10" # rc-scripts version -SVREV= # rc-scripts rev -SVIV="2.84" # sysvinit version - -S="${WORKDIR}/rc-scripts-${SV}${SVREV}" -S2="${WORKDIR}/sysvinit-${SVIV}" -DESCRIPTION="Base layout for Gentoo Linux (incl. initscripts and sysvinit)" -HOMEPAGE="http://www.gentoo.org/" -SRC_URI="ftp://ftp.cistron.nl/pub/people/miquels/software/sysvinit-${SVIV}.tar.gz - ftp://sunsite.unc.edu/pub/Linux/system/daemons/init/sysvinit-${SVIV}.tar.gz - mirror://gentoo/rc-scripts-${SV}${SVREV}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="x86 ppc sparc mips alpha arm hppa amd64 ia64 ppc64 s390" -IUSE="bootstrap build livecd static selinux" - -DEPEND="virtual/os-headers - selinux? ( sys-libs/libselinux )" - -# This version of baselayout needs gawk in /bin, but as we do not have -# a c++ compiler during bootstrap, we cannot depend on it if "bootstrap" -# or "build" are in USE. -RDEPEND="${DEPEND} - !build? ( !bootstrap? ( - >=sys-apps/gawk-3.1.1-r2 - >=sys-apps/util-linux-2.11z-r6 - ) )" - -src_unpack() { - unpack ${A} - - # - # Baselayout setup - # - cd ${S}/etc - - # Fix Sparc specific stuff - if [[ ${ARCH} == sparc ]]; then - sed -i -e 's:KEYMAP="us":KEYMAP="sunkeymap":' rc.conf || die - fi - - # Add serial console for arches that typically have it - case ${ARCH} in - sparc|mips|hppa|alpha|ia64) - sed -i -e \ - 's"# TERMINALS"# SERIAL CONSOLE\nc0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100\n\n# TERMINALS"' \ - inittab || die - ;; - esac - - # - # sysvinit setup - # - if ! use build; then - cd ${S2}/src - - # Note that if sysvinit is ever built with USE=build, need to - # refrain from building sulogin as it needs libcrypt which is - # not in the build image: - # sed -i -e '/^PROGS/s/ sulogin//' Makefile || die - - # Selinux patch for sysvinit - if use selinux; then - if has_version '>=sys-libs/libselinux-1.6'; then - epatch ${FILESDIR}/sysvinit-${SVIV}-selinux1.patch - else - epatch ${FILESDIR}/sysvinit-${SVIV}-selinux.patch - fi - fi - fi -} - -src_compile() { - use static && append-ldflags -static - - echo "${ROOT}" > ${T}/ROOT - - cd ${S}/src - einfo "Building utilities..." - make CC="${CC:-gcc}" LD="${CC:-gcc} ${LDFLAGS}" \ - CFLAGS="${CFLAGS}" || die "problem compiling utilities" - - if ! use build; then - # Build sysvinit stuff - cd ${S2}/src - einfo "Building sysvinit..." - emake CC="${CC:-gcc}" LD="${CC:-gcc}" \ - LDFLAGS="${LDFLAGS}" CFLAGS="${CFLAGS} -D_GNU_SOURCE" || die "problem compiling sysvinit" - else - einfo "Not building sysvinit because USE=build" - fi -} - -# ${PATH} should include where to get MAKEDEV when calling this -# function -create_dev_nodes() { - - case ${ARCH} in - # amd64 must use generic-i386 because amd64/x86_64 does not have - # a generic option at this time, and the default 'generic' ends - # up erroring out, because MAKEDEV internally doesn't know what - # to use - amd64) suffix=-i386 ;; - x86) suffix=-i386 ;; - ppc*) suffix=-powerpc ;; - alpha) suffix=-alpha ;; - ia64) suffix=-ia64 ;; - sparc*) suffix=-sparc ;; - mips) suffix=-mips ;; - arm) suffix=-arm ;; - hppa) suffix=-hppa ;; - esac - - einfo "Using generic${suffix} to make ${ARCH} device nodes..." - MAKEDEV generic${suffix} - MAKEDEV sg scd rtc hde hdf hdg hdh input audio video -} - -# This is a temporary workaround until bug 9849 is completely solved -# in portage. We need to create the directories so they're available -# during src_install, but when src_install is finished, call unkdir -# to remove any empty directories instead of leaving them around. -kdir() { - typeset -a args - typeset d - - # Create the directories for the remainder of src_install, and - # remember how to create the directories later. - for d in "$@"; do - if [[ $d == /* ]]; then - install -d "${args[@]}" "${D}/${d}" - cat >> "${D}/usr/share/baselayout/mkdirs.sh" <<EOF -install -d ${args[@]} "\${ROOT}/${d}" 2>/dev/null \\ - || ewarn " can't create ${d}" -touch "\${ROOT}/${d}/.keep" 2>/dev/null \\ - || ewarn " can't create ${d}/.keep" -EOF - else - args=("${args[@]}" "${d}") - fi - done -} - -# Continued from kdir above... This function removes any empty -# directories as a temporary workaround for bug 9849. The directories -# (and .keep files) are re-created in pkg_postinst, which means they -# aren't listed in CONTENTS, unfortunately. -unkdir() { - einfo "Running unkdir to workaround bug 9849" - find ${D} -depth -type d -exec rmdir {} \; 2>/dev/null - if [[ $? == 127 ]]; then - ewarn "Problem running unkdir: find command not found" - fi -} - -src_install() { - local foo bar - - # ROOT is purged from the environment prior to calling - # src_install. Good thing we saved it in a temporary file. - # Otherwise ROOT will be NULL, which hopefully is correct! - # (I don't know why it was in the environment in the first - # place... could have just used a shell variable?) - if [[ -f ${T}/ROOT ]]; then - ROOT=$(cat ${T}/ROOT) - fi - - # This directory is to stash away things that will be used in - # pkg_postinst - dodir /usr/share/baselayout - - einfo "Creating directories..." - kdir /boot - kdir /dev - kdir /dev/pts - kdir /dev/shm - kdir /etc/conf.d - kdir /etc/cron.daily - kdir /etc/cron.hourly - kdir /etc/cron.monthly - kdir /etc/cron.weekly - kdir /etc/devfs.d - kdir /etc/env.d - kdir /etc/modules.autoload.d - kdir /etc/modules.d - kdir /etc/opt - kdir /home - kdir /lib - kdir /lib/dev-state - kdir /lib/udev-state - kdir /mnt - kdir -m 0700 /mnt/cdrom - kdir -m 0700 /mnt/floppy - kdir /opt - kdir -o root -g uucp -m0755 /var/lock - kdir /proc - kdir -m 0700 /root - kdir /sbin - kdir /usr - kdir /usr/bin - kdir /usr/include - kdir /usr/include/asm - kdir /usr/include/linux - kdir /usr/lib - kdir /usr/local/bin - kdir /usr/local/games - kdir /usr/local/lib - kdir /usr/local/sbin - kdir /usr/local/share - kdir /usr/local/share/doc - kdir /usr/local/share/man - kdir /usr/local/src - kdir /usr/portage - kdir /usr/sbin - kdir /usr/share/doc - kdir /usr/share/info - kdir /usr/share/man - kdir /usr/share/misc - kdir /usr/src - kdir /usr/X11R6/include/GL - kdir /usr/X11R6/include/X11 - kdir /usr/X11R6/lib - kdir /usr/X11R6/lib - kdir /usr/X11R6/man - kdir /usr/X11R6/share - kdir -m 1777 /tmp - kdir /var - kdir /var/lib/misc - kdir /var/lock/subsys - kdir /var/log/news - kdir /var/run - kdir /var/spool - kdir /var/state - kdir -m 1777 /var/tmp - - dodir /etc/init.d # .keep file might mess up init.d stuff - dodir /var/db/pkg # .keep file messes up Portage when looking in /var/db/pkg - - # Symlinks so that LSB compliant apps work - # /lib64 is especially required since its the default place for ld.so - if [[ ${ARCH} == amd64 || ${ARCH} == ppc64 ]]; then - dosym lib /lib64 - dosym lib /usr/lib64 - dosym lib /usr/X11R6/lib64 - fi - - # FHS compatibility symlinks stuff - dosym ../var/tmp /usr/tmp - dosym share/man /usr/man - dosym share/doc /usr/doc - dosym share/info /usr/info - dosym ../../share/info /usr/X11R6/share/info - dosym ../X11R6/include/X11 /usr/include/X11 - dosym ../X11R6/include/GL /usr/include/GL - dosym ../X11R6/lib/X11 /usr/lib/X11 - dosym share/man /usr/local/man - dosym share/doc /usr/local/doc - - # - # Setup files in /etc - # - dosym ../proc/filesystems /etc/filesystems - - insopts -m0644 - insinto /etc - find ${S}/etc -type f -maxdepth 1 -print0 | xargs --null doins - - fperms 0600 /etc/shadow - - exeinto /etc/init.d - doexe ${S}/init.d/* - insinto /etc/conf.d - doins ${S}/etc/conf.d/* - insinto /etc/env.d - doins ${S}/etc/env.d/* - insinto /etc/modules.autoload.d - doins ${S}/etc/modules.autoload.d/* - insinto /etc/modules.d - doins ${S}/etc/modules.d/* - insinto /etc/skel - find ${S}/etc/skel -type f -maxdepth 1 -print0 | xargs --null doins - - rm -f ${D}/etc/{conf,init}.d/net.ppp* # now ships with net-dialup/ppp - - # Set up default runlevel symlinks - if [[ ${ROOT} != / ]]; then - for foo in default boot nonetwork single; do - kdir /etc/runlevels/${foo} - for bar in $(cat ${S}/rc-lists/${foo}); do - [[ -e ${S}/init.d/${bar} ]] && \ - dosym /etc/init.d/${bar} /etc/runlevels/${foo}/${bar} - done - done - fi - - # We do not want to overwrite the user's settings during - # bootstrap; put this somewhere for safekeeping until pkg_postinst - mv ${D}/etc/hosts ${D}/usr/share/baselayout - - # rc-scripts version for testing of features that *should* be present - echo "Gentoo Base System version ${SV}" > ${D}/etc/gentoo-release - - # - # Setup files related to /dev - # - into / - dosbin ${S}/sbin/MAKEDEV - dosym ../../sbin/MAKEDEV /usr/sbin/MAKEDEV - dosym ../sbin/MAKEDEV /dev/MAKEDEV - - if use build || use bootstrap || \ - [[ ! -f "${ROOT}/lib/udev-state/devices.tar.bz2" ]]; then - # Ok, create temp device nodes - mkdir -p "${T}/udev-$$" - cd "${T}/udev-$$" - echo - einfo "Making device nodes (this could take a minute or so...)" - PATH="${D}/sbin:${PATH}" create_dev_nodes - - # Now create tarball that can also be used for udev. - # Need GNU tar for -j so call it by absolute path. - /bin/tar -cjlpf "${T}/devices-$$.tar.bz2" * - insinto /lib/udev-state - newins "${T}/devices-$$.tar.bz2" devices.tar.bz2 - fi - - # - # Setup files in /bin - # - cd ${S}/bin - dobin rc-status - - # - # Setup files in /sbin - # - cd ${S}/sbin - into / - dosbin rc rc-update - # Need this in /sbin, as it could be run before - # /usr is mounted. - dosbin modules-update - # Compat symlinks until I can get things synced. - dosym modules-update /sbin/update-modules - dosym ../../sbin/modules-update /usr/sbin/update-modules - # These moved from /etc/init.d/ to /sbin to help newb systems - # from breaking - dosbin runscript.sh functions.sh - use livecd && dosbin livecd-functions.sh - - # Compat symlinks between /etc/init.d and /sbin - # (some stuff have hardcoded paths) - dosym ../../sbin/depscan.sh /etc/init.d/depscan.sh - dosym ../../sbin/runscript.sh /etc/init.d/runscript.sh - dosym ../../sbin/functions.sh /etc/init.d/functions.sh - - # - # Setup files in /lib/rcsripts/sh - # - cd ${S}/sbin - exeinto /lib/rcscripts/sh - doexe rc-services.sh rc-daemon.sh rc-help.sh - - # We can only install new, fast awk versions of scripts - # if 'build' or 'bootstrap' is not in USE. This will - # change if we have sys-apps/gawk-3.1.1-r1 or later in - # the build image ... - if ! use build; then - # This is for new depscan.sh and env-update.sh - # written in awk - cd ${S}/sbin - into / - dosbin depscan.sh - dosbin env-update.sh - insinto /lib/rcscripts/awk - doins ${S}/src/awk/*.awk - fi - - # - # Install baselayout documentation - # - if ! use build ; then - doman ${S}/man/*.* - docinto / - dodoc ${FILESDIR}/copyright - dodoc ${S}/ChangeLog - fi - - # - # Install baselayout utilities - # - cd ${S}/src - einfo "Installing utilities..." - make DESTDIR="${D}" install || die "problem installing utilities" - - # - # Install sysvinit - # - if ! use build; then - cd ${S2}/src - einfo "Installing sysvinit..." - into / - dosbin init halt killall5 runlevel shutdown sulogin - dosym init /sbin/telinit - dobin last mesg utmpdump wall - dosym killall5 /sbin/pidof - dosym halt /sbin/reboot - dosym halt /sbin/poweroff - dosym last /bin/lastb - insinto /usr/include - doins initreq.h - # sysvinit docs - cd ${S2} - doman man/*.[1-9] - docinto sysvinit-${SVIV} - dodoc COPYRIGHT README doc/* - fi - - # Hack to fix bug 9849, continued in pkg_postinst - unkdir -} - -pkg_preinst() { - if [[ -f ${ROOT}/etc/modules.autoload && \ - ! -d ${ROOT}/etc/modules.autoload.d ]]; then - mkdir -p ${ROOT}/etc/modules.autoload.d - mv -f ${ROOT}/etc/modules.autoload \ - ${ROOT}/etc/modules.autoload.d/kernel-2.4 - ln -snf modules.autoload.d/kernel-2.4 ${ROOT}/etc/modules.autoload - fi - - if [[ -f "${ROOT}/lib/udev-state/devices.tar.bz2" && - -e "${ROOT}/dev/.udev" ]]; then - mv -f "${ROOT}/lib/udev-state/devices.tar.bz2" \ - "${ROOT}/lib/udev-state/devices.tar.bz2.current" - fi -} - -pkg_postinst() { - local x - - # Reincarnate dirs from kdir/unkdir (hack for bug 9849) - einfo "Creating directories and .keep files" - source ${ROOT}/usr/share/baselayout/mkdirs.sh - - if [[ -f "${ROOT}/lib/udev-state/devices.tar.bz2.current" ]]; then - # Rather use our current device tarball ... this was saved off - # in pkg_preinst - mv -f "${ROOT}/lib/udev-state/devices.tar.bz2.current" \ - "${ROOT}/lib/udev-state/devices.tar.bz2" - else - # Make sure our tarball does not get removed; update the - # timestamp so that it doesn't match CONTENTS - touch "${ROOT}/lib/udev-state/devices.tar.bz2" - fi - - # We don't want to create devices if this is not a bootstrap and devfs - # is used, as this was the cause for all the devfs problems we had - if use build || use bootstrap; then - if [[ ! -e "${ROOT}/dev/.devfsd" && ! -e "${ROOT}/dev/.udev" ]]; then - einfo "Populating /dev with device nodes..." - cd ${ROOT}/dev - if [ -f "${ROOT}/lib/udev-state/devices.tar.bz2" ]; then - tar -jxpf "${ROOT}/lib/udev-state/devices.tar.bz2" || die - else - # devices.tar.bz2 will not exist with binary packages ... - PATH="${ROOT}/sbin:${PATH}" create_dev_nodes - fi - fi - fi - - # Create /boot/boot symlink in pkg_postinst because sometimes - # /boot is a FAT filesystem. When that is the case, then the - # symlink will fail. Consequently, if we create it in - # src_install, then merge will fail. AFAIK there is no point to - # this symlink except for misconfigured grubs. See bug 50108 - # (05 May 2004 agriffis) - ln -sn . ${ROOT}/boot/boot 2>/dev/null - - # Create /etc/hosts in pkg_postinst so we don't overwrite an - # existing file during bootstrap - if [[ ! -e ${ROOT}/etc/hosts ]]; then - cp ${ROOT}/usr/share/baselayout/hosts ${ROOT}/etc - fi - - # Under what circumstances would mtab be a symlink? It would be - # nice if there were an explanatory comment here - if [[ -L ${ROOT}/etc/mtab ]]; then - rm -f "${ROOT}/etc/mtab" - if [[ ${ROOT} == / ]]; then - cp /proc/mounts "${ROOT}/etc/mtab" - else - touch "${ROOT}/etc/mtab" - fi - fi - - # We should only install empty files if these files don't already exist. - [[ -e ${ROOT}/var/log/lastlog ]] || \ - touch "${ROOT}/var/log/lastlog" - [[ -e ${ROOT}/var/run/utmp ]] || \ - install -m 0664 -g utmp /dev/null "${ROOT}/var/run/utmp" - [[ -e ${ROOT}/var/log/wtmp ]] || \ - install -m 0664 -g utmp /dev/null "${ROOT}/var/log/wtmp" - - # Touching /etc/passwd and /etc/shadow after install can be fatal, as many - # new users do not update them properly. thus remove all ._cfg files if - # we are not busy with a bootstrap. - if ! use build && ! use bootstrap; then - einfo "Removing invalid backup copies of critical config files..." - rm -f "${ROOT}"/etc/._cfg????_{passwd,shadow} - fi - - # Reload init to fix unmounting problems of / on next reboot. - # This is really needed, as without the new version of init cause init - # not to quit properly on reboot, and causes a fsck of / on next reboot. - if [[ ${ROOT} == / ]] && ! use build && ! use bootstrap; then - # Do not return an error if this fails - /sbin/init U &>/dev/null - - # Regenerate init.d dependency tree - /sbin/depscan.sh &>/dev/null - - # Regenerate /etc/modules.conf, else it will fail at next boot - einfo "Updating module dependencies..." - /sbin/modules-update force &>/dev/null - else - rm -f ${ROOT}/etc/modules.conf - fi - - # Enable shadow groups (we need ROOT=/ here, as grpconv only - # operate on / ...). - if [[ ${ROOT} == / && \ - ! -f /etc/gshadow && -x /usr/sbin/grpck && -x /usr/sbin/grpconv ]] - then - if /usr/sbin/grpck -r &>/dev/null; then - /usr/sbin/grpconv - else - echo - ewarn "Running 'grpck' returned errors. Please run it by hand, and then" - ewarn "run 'grpconv' afterwards!" - echo - fi - 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) - echo "Gentoo Base System version ${SV}" > ${D}/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" - echo -} diff --git a/sys-apps/baselayout/baselayout-1.8.6.13-r1.ebuild b/sys-apps/baselayout/baselayout-1.8.6.13-r1.ebuild deleted file mode 100644 index edfda3a11bde..000000000000 --- a/sys-apps/baselayout/baselayout-1.8.6.13-r1.ebuild +++ /dev/null @@ -1,647 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.8.6.13-r1.ebuild,v 1.9 2004/06/25 20:26:33 agriffis Exp $ - -inherit eutils - -IUSE="bootstrap build livecd static selinux" - -SV="1.4.3.13p1" -SVREV= -# SysvInit version -SVIV="2.84" - -S="${WORKDIR}/rc-scripts-${SV}${SVREV}" -S2="${WORKDIR}/sysvinit-${SVIV}/src" -DESCRIPTION="Base layout for Gentoo Linux filesystem (incl. initscripts and sysvinit)" -SRC_URI="ftp://ftp.cistron.nl/pub/people/miquels/software/sysvinit-${SVIV}.tar.gz - ftp://sunsite.unc.edu/pub/Linux/system/daemons/init/sysvinit-${SVIV}.tar.gz - mirror://gentoo/rc-scripts-${SV}${SVREV}.tar.bz2" -HOMEPAGE="http://www.gentoo.org/" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~x86 ~amd64 ~ppc ~sparc ~alpha ~mips ~hppa ~ia64 ~ppc64 s390" - -DEPEND="virtual/os-headers - selinux? ( sys-libs/libselinux )" - -# This version of baselayout needs gawk in /bin, but as we do not have -# a c++ compiler during bootstrap, we cannot depend on it if "bootstrap" -# or "build" are in USE. -RDEPEND="${DEPEND} - !build? ( !bootstrap? ( >=sys-apps/gawk-3.1.1-r2 ) ) - !build? ( !bootstrap? ( >=sys-apps/util-linux-2.11z-r6 ) )" - -src_unpack() { - - unpack ${A} - - # Fix CFLAGS for sysvinit stuff - cd ${S2} - cp Makefile Makefile.orig - sed -e "s:-O2:${CFLAGS}:" Makefile.orig >Makefile || die - if use build - then - # Do not build sulogin, as it needs libcrypt which is not in the - # build image. - cp Makefile Makefile.orig - sed -e 's:PROGS\t= init halt shutdown killall5 runlevel sulogin:PROGS\t= init halt shutdown killall5 runlevel:g' \ - Makefile.orig > Makefile || die - fi - # Selinux - use selinux && epatch ${FILESDIR}/sysvinit-${SVIV}-selinux.patch - - cd ${S}/etc - - # Fix Sparc specific stuff - if [ "${ARCH}" = "sparc" ] - then - cp rc.conf rc.conf.orig - sed -e 's:KEYMAP="us":KEYMAP="sunkeymap":' rc.conf.orig >rc.conf || die - rm -f rc.conf.orig - fi - - # Add serial console ... - case ${ARCH} in - sparc|mips|hppa) - cp inittab inittab.orig - sed -e 's"# TERMINALS"# SERIAL CONSOLE\nc0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100\n\n# TERMINALS"' \ - inittab.orig > inittab || die - rm -f inittab.orig - ;; - esac - - # temp gcc2 patch #43097 - cd ${WORKDIR} - epatch ${FILESDIR}/${PF}-gcc2.patch -} - -src_compile() { - - use static && export LDFLAGS="-static" - - echo "${ROOT}" > ${T}/ROOT - - cd ${S}/src - einfo "Building utilities..." - make CC="${CC:-gcc}" LD="${CC:-gcc} ${LDFLAGS}" \ - CFLAGS="${CFLAGS}" || die "problem compiling utilities" - - if ! use build - then - # Build sysvinit stuff - cd ${S2} - einfo "Building sysvinit..." - emake CC="${CC:-gcc}" LD="${CC:-gcc}" \ - LDFLAGS="${LDFLAGS}" || die "problem compiling sysvinit" - fi -} - -defaltmerge() { - - # Define the "altmerge" variable. - altmerge=0 - # Special ${T}/ROOT hack because ROOT gets automatically unset during src_install() - # (because it conflicts with some makefiles) - if [ -f "${T}/ROOT" ] - then -# local ROOT="" - ROOT="`cat "${T}/ROOT"`" - fi - einfo "ROOT=${ROOT}" - if [ -e "${ROOT}/dev/.devfsd" ] - then - # We're installing to a system that has devfs enabled; don't create device - # nodes. - altmerge=1 - fi -} - -# Only do a keepdir on mounts if they are not mounted ... -keepdir_mount() { - local x= - local y= - local doit=0 - - [ -z "$1" ] && return 1 - - [ ! -e /proc/mounts ] && return 1 - - for y in $* - do - doit=0 - - # Create a list so that we can try verify that they exists - # after install ... - echo "${Y}" >> "${T}/dirlist.txt" - - for x in $(gawk '{print $2}' /proc/mounts) - do - [ "${x}" = "${y}" ] && doit=1 - done - - if [ "${doit}" -ne 1 ] - then - keepdir "${y}" - fi - done - - return 0 -} - -create_dev_nodes() { - - if [ -z "${DEST}" ]; then - DEST=${D} - fi - - export PATH="${DEST}/sbin:${PATH}" - - case ${ARCH} in - amd64) - # amd64 must use generic-i386 because amd64/x86_64 does not have - # a generic option at this time, and the default 'generic' ends - # up erroring out, because MAKEDEV internally doesn't know what - # to use - einfo "Using generic-i386 to make amd64 device nodes..." - ${DEST}/sbin/MAKEDEV generic-i386 - ;; - x86) - einfo "Using generic-i386 to make device nodes..." - ${DEST}/sbin/MAKEDEV generic-i386 - ;; - ppc) - einfo "Using generic-powerpc to make device nodes..." - ${DEST}/sbin/MAKEDEV generic-powerpc - ;; - ppc64) - einfo "Using generic-powerpc to make device nodes..." - ${DEST}/sbin/MAKEDEV generic-powerpc - ;; - sparc) - einfo "Using generic-sparc to make device nodes..." - ${DEST}/sbin/MAKEDEV generic-sparc - ;; - mips) - einfo "Using generic-mips to make device nodes..." - ${DEST}/sbin/MAKEDEV generic-mips - ;; - arm) - einfo "Using generic-arm to make device nodes..." - ${DEST}/sbin/MAKEDEV generic-arm - ;; - hppa) - einfo "Using generic-hppa to make device nodes..." - ${DEST}/sbin/MAKEDEV generic-hppa - ;; - *) - einfo "Using generic to make device nodes..." - ${DEST}/sbin/MAKEDEV generic - ;; - esac - - ${DEST}/sbin/MAKEDEV sg scd rtc hde hdf hdg hdh input audio video -} - -src_install() { - - local bar= - local foo= - - defaltmerge - keepdir /sbin /usr/sbin - - keepdir_mount /usr - keepdir /usr/bin - keepdir /lib /usr/lib - keepdir /var /var/run /var/lock/subsys /var/state - keepdir /var/spool /var/tmp /var/lib/misc - keepdir /var/log/news - dosym ../var/tmp /usr/tmp - - # Symlinks so that LSB compliant apps work - # /lib64 is especially required since its the default place for ld.so - if [ "${ARCH}" = "amd64" -o "${ARCH}" = "ppc64" ] - then - dosym lib /lib64 - dosym lib /usr/lib64 - dosym lib /usr/X11R6/lib64 - fi - - keepdir /home - keepdir /usr/include /usr/src - keepdir /usr/X11R6/include/{X11,GL} /usr/X11R6/lib - keepdir /usr/X11R6/lib /usr/X11R6/man /usr/X11R6/share - - # If it already exist, do not recreate, else we get - # problems when /usr/portage mounted as ro NFS, etc. - keepdir_mount /usr/portage - - #dosym ../src/linux/include/linux /usr/include/linux - #dosym ../src/linux/include/asm-i386 /usr/include/asm - # Important note: Gentoo Linux 1.0_rc6 no longer uses symlinks to /usr/src for includes. - # We now rely on the special sys-kernel/linux-headers package, which takes a snapshot of - # the currently-installed includes in /usr/src and copies them to /usr/include/linux and - # /usr/include/asm. This is the recommended approach so that kernel includes can remain - # constant. The kernel includes should really only be upgraded when you upgrade glibc. - keepdir /usr/include/linux /usr/include/asm - keepdir /usr/share/man /usr/share/info /usr/share/doc /usr/share/misc - - for foo in games lib sbin share bin share/doc share/man src - do - keepdir /usr/local/${foo} - done - # Local FHS compat symlinks - dosym share/man /usr/local/man - dosym share/doc /usr/local/doc - - # FHS compatibility symlinks stuff - dosym share/man /usr/man - dosym share/doc /usr/doc - dosym share/info /usr/info - dosym ../../share/info /usr/X11R6/share/info - dosym ../X11R6/include/X11 /usr/include/X11 - dosym ../X11R6/include/GL /usr/include/GL - dosym ../X11R6/lib/X11 /usr/lib/X11 - # End FHS compatibility symlinks stuff - - # The .keep file messes up Portage when looking in /var/db/pkg - dodir /var/db/pkg - fperms 1777 /var/tmp - keepdir /root - - # /proc is very likely mounted right now so a keepdir will fail on merge - dodir /proc - - fperms go-rx /root - keepdir /tmp /var/lock - fperms 1777 /tmp - fperms 1777 /var/tmp - fowners root:uucp /var/lock - fperms 775 /var/lock - insopts -m0644 - - keepdir /opt /etc/opt - - insinto /etc - dosym ../proc/filesystems /etc/filesystems - for foo in hourly daily weekly monthly - do - keepdir /etc/cron.${foo} - done - for foo in ${S}/etc/* - do - # Install files, not dirs - [ -f "${foo}" ] && doins ${foo} - done - fperms go-rwx /etc/shadow - # We do not want to overwrite the user's settings during bootstrap ... - [ -f "${ROOT}/etc/hosts" ] && rm -f ${D}/etc/hosts - - keepdir /mnt - keepdir_mount /mnt/floppy /mnt/cdrom - fperms go-rwx /mnt/floppy /mnt/cdrom - - into / - dosbin ${S}/sbin/MAKEDEV - dosym ../../sbin/MAKEDEV /usr/sbin/MAKEDEV - keepdir /lib/dev-state /lib/udev-state - if [ "${altmerge}" -eq "1" ] - then - # rootfs and devfs - #dosym ../../sbin/MAKEDEV /lib/dev-state/MAKEDEV - # This is not needed anymore... - #keepdir /lib/dev-state/pts /lib/dev-state/shm - keepdir_mount /dev /dev/shm # /dev/pts - else - # Normal - keepdir_mount /dev /dev/pts /dev/shm - #dosym ../sbin/MAKEDEV /dev/MAKEDEV - fi - - cd ${S}/sbin - into / - dosbin rc rc-update - # Need this in /sbin, as it could be run before - # /usr is mounted. - dosbin modules-update - # Compat symlinks until I can get things synced. - dosym modules-update /sbin/update-modules - dosym ../../sbin/modules-update /usr/sbin/update-modules - # These moved from /etc/init.d/ to /sbin to help newb systems - # from breaking - dosbin runscript.sh functions.sh - use livecd && dosbin livecd-functions.sh - exeinto /lib/rcscripts/sh - doexe rc-services.sh rc-daemon.sh rc-help.sh - cd ${S}/bin - dobin rc-status - - dodir /etc/init.d - exeinto /etc/init.d - for foo in ${S}/init.d/* - do - [ -f "${foo}" ] && doexe ${foo} - done - - cd ${S}/sbin - # We can only install new, fast awk versions of scripts - # if 'build' or 'bootstrap' is not in USE. This will - # change if we have sys-apps/gawk-3.1.1-r1 or later in - # the build image ... - if ! use build - then - # This is for new depscan.sh and env-update.sh - # written in awk - into / - dosbin depscan.sh - dosbin env-update.sh - insinto /lib/rcscripts/awk - for foo in ${S}/src/awk/*.awk - do - [ -f "${foo}" ] && doins ${foo} - done - fi - - # Compat symlinks (some stuff have hardcoded paths) - dosym ../../sbin/depscan.sh /etc/init.d/depscan.sh - dosym ../../sbin/runscript.sh /etc/init.d/runscript.sh - dosym ../../sbin/functions.sh /etc/init.d/functions.sh - - cd ${S}/src - einfo "Installing utilities..." - make DESTDIR="${D}" install || die "problem installing utilities" - - if ! use build - then - # Install sysvinit stuff - cd ${S2} - einfo "Installing sysvinit..." - into / - dosbin init halt killall5 runlevel shutdown sulogin - dosym init /sbin/telinit - dobin last mesg utmpdump wall - dosym killall5 /sbin/pidof - dosym halt /sbin/reboot - dosym halt /sbin/poweroff - dosym last /bin/lastb - # SysvInit include - insinto /usr/include - doins initreq.h - # SysvInit docs - cd ${S2}/../ - for foo in ${S2}/../man/*.[1-9] - do - [ -f "${foo}" ] && doman ${foo} - done - docinto sysvinit-${SVIV} - dodoc COPYRIGHT README doc/* - fi - - for foo in ${S}/man/* - do - [ -f "${foo}" ] && doman ${foo} - done - docinto / - dodoc ${FILESDIR}/copyright - dodoc ${S}/ChangeLog - - # env-update stuff - keepdir /etc/env.d - insinto /etc/env.d - doins ${S}/etc/env.d/00basic - - keepdir /etc/devfs.d - - keepdir /etc/modules.autoload.d - insinto /etc/modules.autoload.d - for foo in in ${S}/etc/modules.autoload.d/* - do - [ -f "${foo}" ] && doins ${foo} - done - - keepdir /etc/modules.d - insinto /etc/modules.d - doins ${S}/etc/modules.d/aliases ${S}/etc/modules.d/i386 - - keepdir /etc/conf.d - insinto /etc/conf.d - for foo in ${S}/etc/conf.d/* - do - [ -f "${foo}" ] && doins ${foo} - done - - # Now ships with net-dialup/ppp ... - rm -f ${D}/etc/{conf,init}.d/net.ppp* - - dodir /etc/skel - insinto /etc/skel - for foo in $(find ${S}/etc/skel -type f -maxdepth 1) - do - [ -f "${foo}" ] && doins ${foo} - done - - keepdir ${svcdir} >/dev/null 2>&1 - - if use build || use bootstrap || \ - [ ! -f "${ROOT}/lib/udev-state/devices.tar.bz2" ] - then - # Ok, create temp device nodes - mkdir -p "${T}/udev-$$" - cd "${T}/udev-$$" - echo - einfo "Making device nodes (this could take a minute or so...)" - create_dev_nodes - # Now create tarball that can also be used for udev - tar -jclpf "${T}/devices-$$.tar.bz2" * - insinto /lib/udev-state - newins "${T}/devices-$$.tar.bz2" devices.tar.bz2 - fi - - # Put this where we can get it again ... - insinto /usr/share/baselayout - doins "${T}/dirlist.txt" - - # Skip this if we are merging to ROOT - [ "${ROOT}" = "/" ] && return 0 - - # Set up default runlevel symlinks - for foo in default boot nonetwork single - do - keepdir /etc/runlevels/${foo} - for bar in $(cat ${S}/rc-lists/${foo}) - do - [ -e "${S}/init.d/${bar}" ] && \ - dosym /etc/init.d/${bar} /etc/runlevels/${foo}/${bar} - done - done - -} - -pkg_preinst() { - if [ -f ${ROOT}/etc/modules.autoload -a ! -d ${ROOT}/etc/modules.autoload.d ] - then - mkdir -p ${ROOT}/etc/modules.autoload.d - mv -f ${ROOT}/etc/modules.autoload \ - ${ROOT}/etc/modules.autoload.d/kernel-2.4 - ln -snf modules.autoload.d/kernel-2.4 ${ROOT}/etc/modules.autoload - fi - - if [ -f "${ROOT}/lib/udev-state/devices.tar.bz2" -a -e "${ROOT}/dev/.udev" ] - then - mv -f "${ROOT}/lib/udev-state/devices.tar.bz2" \ - "${ROOT}/lib/udev-state/devices.tar.bz2.old" - fi -} - -pkg_postinst() { - local x= - - # Make sure all needed dirs exist ... - for x in $(cat "${ROOT}/usr/share/baselayout/dirlist.txt") - do - [ ! -d "${x}" ] && mkdir -m0666 -p "${x}" &>/dev/null - done - - if [ -f "${ROOT}/lib/udev-state/devices.tar.bz2.old" ] - then - # Rather use our current device tarball ... - mv -f "${ROOT}/lib/udev-state/devices.tar.bz2.old" \ - "${ROOT}/lib/udev-state/devices.tar.bz2" - else - # Make sure our tarball do not get removed ... - touch -m "${ROOT}/lib/udev-state/devices.tar.bz2" - fi - - defaltmerge - # We dont want to create devices if this is not a bootstrap and devfs - # is used, as this was the cause for all the devfs problems we had - # ($altmerge will be '1' if '${ROOT}/dev/.devfsd' exists ...) - if [ "${altmerge}" -eq "0" -a ! -e "${ROOT}/dev/.udev" -a \ - -f "${ROOT}/lib/udev-state/devices.tar.bz2" ] - then - if use build || use bootstrap - then - einfo "Populating /dev with device nodes..." - if [ -f "${ROOT}/lib/udev-state/devices.tar.bz2" ] - then - tar -jxpf "${ROOT}/lib/udev-state/devices.tar.bz2" \ - -C "${ROOT}/dev" || die - else - # devices.tar.bz2 will not exist with binary packages ... - cd ${ROOT}/dev - DEST="${ROOT}" create_dev_nodes - fi - fi - fi - - echo - - # We create the /boot directory here so that /boot doesn't get deleted when a previous - # baselayout is unmerged with /boot unmounted. - install -d ${ROOT}/boot - touch ${ROOT}/boot/.keep - if [ ! -L ${ROOT}/boot/boot ] - then - ln -snf . ${ROOT}/boot/boot - fi - if [ -d "${ROOT}/dev" ] - then - ln -snf ../sbin/MAKEDEV ${ROOT}/dev/MAKEDEV - fi - # We create this here so we don't overwrite an existing /etc/hosts during bootstrap - if [ ! -e ${ROOT}/etc/hosts ] - then - cat << EOF >> ${ROOT}/etc/hosts -127.0.0.1 localhost -# IPV6 versions of localhost and co -::1 ip6-localhost ip6-loopback -fe00::0 ip6-localnet -ff00::0 ip6-mcastprefix -ff02::1 ip6-allnodes -ff02::2 ip6-allrouters -ff02::3 ip6-allhosts -EOF - fi - if [ -L ${ROOT}/etc/mtab ] - then - rm -f ${ROOT}/etc/mtab - if [ "$ROOT" = "/" ] - then - cp /proc/mounts ${ROOT}/etc/mtab - else - touch ${ROOT}/etc/mtab - fi - fi - # We should only install empty files if these files don't already exist. - for x in log/lastlog run/utmp log/wtmp - do - [ -e ${ROOT}/var/${x} ] || touch ${ROOT}/var/${x} - done - for x in run/utmp log/wtmp - do - chgrp utmp ${ROOT}/var/${x} - chmod 0664 ${ROOT}/var/${x} - done - - # Touching /etc/passwd and /etc/shadow after install can be fatal, as many - # new users do not update them properly. thus remove all ._cfg files if - # we are not busy with a bootstrap. - if ! use build && ! use bootstrap - then - ewarn "Removing invalid backup copies of critical config files..." - rm -f ${ROOT}/etc/._cfg????_{passwd,shadow} - fi - - # Reload init to fix unmounting problems of / on next reboot - # this is really needed, as without the new version of init cause init - # not to quit properly on reboot, and causes a fsck of / on next reboot. - if [ "${ROOT}" = "/" ] && ! use build && ! use bootstrap - then - echo - # Do not return an error if this fails - /sbin/init U &>/dev/null || : - - /sbin/depscan.sh &>/dev/null - - # We need to regenerate /etc/modules.conf, else it will fail at next - # boot. - einfo "Updating module dependencies..." - /sbin/modules-update force &> /dev/null - - elif [ -f "${ROOT}/etc/modules.conf" ] - then - rm -f ${ROOT}/etc/modules.conf - fi - - # Enable shadow groups (we need ROOT=/ here, as grpconv only - # operate on / ...). - if [ "${ROOT}" = "/" -a \ - ! -f /etc/gshadow -a -x /usr/sbin/grpck -a -x /usr/sbin/grpconv ] - then - /usr/sbin/grpck -r &>/dev/null - if [ "$?" -eq 0 ] - then - /usr/sbin/grpconv - else - echo - ewarn "Running 'grpck' returned errors. Please run it by hand, and then" - ewarn "run 'grpconv' afterwards!" - echo - fi - fi - - # Simple Release version for testing of features that *should* be - # present in the rc-scripts, etc. - echo "Gentoo Base System version ${SV}" > ${ROOT}/etc/gentoo-release - - echo - ewarn "Please be sure to update all pending '._cfg*' files in /etc are updated," - ewarn "else things might break at your next reboot! You can use 'etc-update'" - ewarn "to accomplish this:" - echo - ewarn " # etc-update" - echo -} - diff --git a/sys-apps/baselayout/baselayout-1.8.6.13.ebuild b/sys-apps/baselayout/baselayout-1.8.6.13.ebuild deleted file mode 100644 index 66e0390a1217..000000000000 --- a/sys-apps/baselayout/baselayout-1.8.6.13.ebuild +++ /dev/null @@ -1,758 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.8.6.13.ebuild,v 1.9 2004/06/25 20:26:33 agriffis Exp $ - -inherit eutils - -# This ebuild needs to be merged "live". You can't simply make a package -# of it and merge it later. - -IUSE="bootstrap build livecd static selinux" - -SV="1.4.3.13" -SVREV= -# SysvInit version -SVIV="2.84" - -S="${WORKDIR}/rc-scripts-${SV}${SVREV}" -S2="${WORKDIR}/sysvinit-${SVIV}/src" -DESCRIPTION="Base layout for Gentoo Linux filesystem (incl. initscripts and sysvinit)" -SRC_URI="ftp://ftp.cistron.nl/pub/people/miquels/software/sysvinit-${SVIV}.tar.gz - ftp://sunsite.unc.edu/pub/Linux/system/daemons/init/sysvinit-${SVIV}.tar.gz - mirror://gentoo/rc-scripts-${SV}${SVREV}.tar.bz2" -HOMEPAGE="http://www.gentoo.org/" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="x86 amd64 ppc sparc alpha mips hppa ia64 ppc64" - -DEPEND="virtual/os-headers - selinux? ( sys-libs/libselinux )" - -# This version of baselayout needs gawk in /bin, but as we do not have -# a c++ compiler during bootstrap, we cannot depend on it if "bootstrap" -# or "build" are in USE. -RDEPEND="${DEPEND} - !build? ( !bootstrap? ( >=sys-apps/gawk-3.1.1-r2 ) ) - !build? ( !bootstrap? ( >=sys-apps/util-linux-2.11z-r6 ) )" - -src_unpack() { - - unpack ${A} - - # Fix CFLAGS for sysvinit stuff - cd ${S2} - cp Makefile Makefile.orig - sed -e "s:-O2:${CFLAGS}:" Makefile.orig >Makefile || die - if use build - then - # Do not build sulogin, as it needs libcrypt which is not in the - # build image. - cp Makefile Makefile.orig - sed -e 's:PROGS\t= init halt shutdown killall5 runlevel sulogin:PROGS\t= init halt shutdown killall5 runlevel:g' \ - Makefile.orig > Makefile || die - fi - # Selinux - use selinux && epatch ${FILESDIR}/sysvinit-${SVIV}-selinux.patch - - cd ${S}/etc - - # Fix Sparc specific stuff - if [ "${ARCH}" = "sparc" ] - then - cp rc.conf rc.conf.orig - sed -e 's:KEYMAP="us":KEYMAP="sunkeymap":' rc.conf.orig >rc.conf || die - rm -f rc.conf.orig - fi - - # Add serial console ... - case ${ARCH} in - sparc|mips|hppa) - cp inittab inittab.orig - sed -e 's"# TERMINALS"# SERIAL CONSOLE\nc0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100\n\n# TERMINALS"' \ - inittab.orig > inittab || die - rm -f inittab.orig - ;; - esac - - if ! use build && ! use bootstrap - then - # Sanity check to see if has version works - if has_version '>=sys-apps/baselayout-1.8' &> /dev/null - then - einfo "Checking if we need to tweak CONFIG_PROTECT_MASK" - # Make sure user get things updated first time he merge 1.8.6 ... - if ! has_version '>=sys-apps/baselayout-1.8.6' &> /dev/null - then - touch "${WORKDIR}/update_init_d" - fi - fi - fi -} - -src_compile() { - - use static && export LDFLAGS="-static" - - echo "${ROOT}" > ${T}/ROOT - - cd ${S}/src - einfo "Building utilities..." - make CC="${CC:-gcc}" LD="${CC:-gcc} ${LDFLAGS}" \ - CFLAGS="${CFLAGS}" || die "problem compiling utilities" - - if ! use build - then - # Build sysvinit stuff - cd ${S2} - einfo "Building sysvinit..." - emake CC="${CC:-gcc}" LD="${CC:-gcc}" \ - LDFLAGS="${LDFLAGS}" || die "problem compiling sysvinit" - fi -} - -defaltmerge() { - - # Define the "altmerge" variable. - altmerge=0 - # Special ${T}/ROOT hack because ROOT gets automatically unset during src_install() - # (because it conflicts with some makefiles) - local ROOT="" - ROOT="`cat ${T}/ROOT`" - if [ -e ${ROOT}/dev/.devfsd ] - then - # We're installing to a system that has devfs enabled; don't create device - # nodes. - altmerge=1 - fi -} - -# Only do a keepdir on mounts if they are not mounted ... -keepdir_mount() { - local x= - local y= - local doit=0 - - [ -z "$1" ] && return 1 - - [ ! -e /proc/mounts ] && return 1 - - for y in $* - do - doit=0 - - for x in $(gawk '{print $2}' /proc/mounts) - do - [ "${x}" = "${y}" ] && doit=1 - done - - if [ "${doit}" -ne 1 ] - then - keepdir "${y}" - fi - done - - return 0 -} - -create_dev_nodes() { - export PATH="${D}/sbin:${PATH}" - - case ${ARCH} in - amd64) - # amd64 must use generic-i386 because amd64/x86_64 does not have - # a generic option at this time, and the default 'generic' ends - # up erroring out, because MAKEDEV internally doesn't know what - # to use - einfo "Using generic-i386 to make amd64 device nodes..." - ${D}/sbin/MAKEDEV generic-i386 - ;; - x86) - einfo "Using generic-i386 to make device nodes..." - ${D}/sbin/MAKEDEV generic-i386 - ;; - ppc) - einfo "Using generic-powerpc to make device nodes..." - ${D}/sbin/MAKEDEV generic-powerpc - ;; - ppc64) - einfo "Using generic-powerpc to make device nodes..." - ${D}/sbin/MAKEDEV generic-powerpc - ;; - sparc) - einfo "Using generic-sparc to make device nodes..." - ${D}/sbin/MAKEDEV generic-sparc - ;; - mips) - einfo "Using generic-mips to make device nodes..." - ${D}/sbin/MAKEDEV generic-mips - ;; - arm) - einfo "Using generic-arm to make device nodes..." - ${D}/sbin/MAKEDEV generic-arm - ;; - hppa) - einfo "Using generic-hppa to make device nodes..." - ${D}/sbin/MAKEDEV generic-hppa - ;; - *) - einfo "Using generic to make device nodes..." - ${D}/sbin/MAKEDEV generic - ;; - esac - - ${D}/sbin/MAKEDEV sg scd rtc hde hdf hdg hdh input audio video -} - -src_install() { - - local bar= - local foo= - - defaltmerge - keepdir /sbin /usr/sbin - - keepdir_mount /usr - keepdir /usr/bin - keepdir /lib /usr/lib - keepdir /var /var/run /var/lock/subsys /var/state - keepdir /var/spool /var/tmp /var/lib/misc - keepdir /var/log/news - dosym ../var/tmp /usr/tmp - - # Symlinks so that LSB compliant apps work - # /lib64 is especially required since its the default place for ld.so - if [ "${ARCH}" = "amd64" -o "${ARCH}" = "ppc64" ] - then - dosym lib /lib64 - dosym lib /usr/lib64 - dosym lib /usr/X11R6/lib64 - fi - - keepdir /home - keepdir /usr/include /usr/src - keepdir /usr/X11R6/include/{X11,GL} /usr/X11R6/lib - keepdir /usr/X11R6/lib /usr/X11R6/man /usr/X11R6/share - - # If it already exist, do not recreate, else we get - # problems when /usr/portage mounted as ro NFS, etc. - keepdir_mount /usr/portage - - #dosym ../src/linux/include/linux /usr/include/linux - #dosym ../src/linux/include/asm-i386 /usr/include/asm - # Important note: Gentoo Linux 1.0_rc6 no longer uses symlinks to /usr/src for includes. - # We now rely on the special sys-kernel/linux-headers package, which takes a snapshot of - # the currently-installed includes in /usr/src and copies them to /usr/include/linux and - # /usr/include/asm. This is the recommended approach so that kernel includes can remain - # constant. The kernel includes should really only be upgraded when you upgrade glibc. - keepdir /usr/include/linux /usr/include/asm - keepdir /usr/share/man /usr/share/info /usr/share/doc /usr/share/misc - - for foo in games lib sbin share bin share/doc share/man src - do - keepdir /usr/local/${foo} - done - # Local FHS compat symlinks - dosym share/man /usr/local/man - dosym share/doc /usr/local/doc - - # FHS compatibility symlinks stuff - dosym share/man /usr/man - dosym share/doc /usr/doc - dosym share/info /usr/info - dosym ../../share/info /usr/X11R6/share/info - dosym ../X11R6/include/X11 /usr/include/X11 - dosym ../X11R6/include/GL /usr/include/GL - dosym ../X11R6/lib/X11 /usr/lib/X11 - # End FHS compatibility symlinks stuff - - # The .keep file messes up Portage when looking in /var/db/pkg - dodir /var/db/pkg - fperms 1777 /var/tmp - keepdir /root - - # /proc is very likely mounted right now so a keepdir will fail on merge - dodir /proc - - fperms go-rx /root - keepdir /tmp /var/lock - fperms 1777 /tmp - fperms 1777 /var/tmp - fowners root:uucp /var/lock - fperms 775 /var/lock - insopts -m0644 - - keepdir /opt /etc/opt - - insinto /etc - dosym ../proc/filesystems /etc/filesystems - for foo in hourly daily weekly monthly - do - keepdir /etc/cron.${foo} - done - for foo in ${S}/etc/* - do - # Install files, not dirs - [ -f ${foo} ] && doins ${foo} - done - fperms go-rwx /etc/shadow - # We do not want to overwrite the user's settings during bootstrap ... - [ -f "${ROOT}/etc/hosts" ] && rm -f ${D}/etc/hosts - - keepdir /mnt - keepdir_mount /mnt/floppy /mnt/cdrom - fperms go-rwx /mnt/floppy /mnt/cdrom - - into / - dosbin ${S}/sbin/MAKEDEV - dosym ../../sbin/MAKEDEV /usr/sbin/MAKEDEV - keepdir /lib/dev-state /lib/udev-state - if [ "${altmerge}" -eq "1" ] - then - # rootfs and devfs - #dosym ../../sbin/MAKEDEV /lib/dev-state/MAKEDEV - # This is not needed anymore... - #keepdir /lib/dev-state/pts /lib/dev-state/shm - echo >/dev/null - else - # Normal - keepdir_mount /dev /dev/pts /dev/shm - #dosym ../sbin/MAKEDEV /dev/MAKEDEV - fi - - cd ${S}/sbin - into / - dosbin rc rc-update - # Need this in /sbin, as it could be run before - # /usr is mounted. - dosbin modules-update - # Compat symlinks until I can get things synced. - dosym modules-update /sbin/update-modules - dosym ../../sbin/modules-update /usr/sbin/update-modules - # These moved from /etc/init.d/ to /sbin to help newb systems - # from breaking - dosbin runscript.sh functions.sh - use livecd && dosbin livecd-functions.sh - exeinto /lib/rcscripts/sh - doexe rc-services.sh rc-daemon.sh rc-help.sh - cd ${S}/bin - dobin rc-status - - dodir /etc/init.d - exeinto /etc/init.d - for foo in ${S}/init.d/* - do - [ -f ${foo} ] && doexe ${foo} - done - - cd ${S}/sbin - # We can only install new, fast awk versions of scripts - # if 'build' or 'bootstrap' is not in USE. This will - # change if we have sys-apps/gawk-3.1.1-r1 or later in - # the build image ... - if ! use build - then - # This is for new depscan.sh and env-update.sh - # written in awk - into / - dosbin depscan.sh - dosbin env-update.sh - insinto /lib/rcscripts/awk - for foo in ${S}/src/awk/*.awk - do - [ -f ${foo} ] && doins ${foo} - done - fi - - # Compat symlinks (some stuff have hardcoded paths) - dosym ../../sbin/depscan.sh /etc/init.d/depscan.sh - dosym ../../sbin/runscript.sh /etc/init.d/runscript.sh - dosym ../../sbin/functions.sh /etc/init.d/functions.sh - - cd ${S}/src - einfo "Installing utilities..." - make DESTDIR="${D}" install || die "problem installing utilities" - - if ! use build - then - # Install sysvinit stuff - cd ${S2} - einfo "Installing sysvinit..." - into / - dosbin init halt killall5 runlevel shutdown sulogin - dosym init /sbin/telinit - dobin last mesg utmpdump wall - dosym killall5 /sbin/pidof - dosym halt /sbin/reboot - dosym halt /sbin/poweroff - dosym last /bin/lastb - # SysvInit include - insinto /usr/include - doins initreq.h - # SysvInit docs - cd ${S2}/../ - for foo in ${S2}/../man/*.[1-9] - do - [ -f ${foo} ] && doman ${foo} - done - docinto sysvinit-${SVIV} - dodoc COPYRIGHT README doc/* - fi - - for foo in ${S}/man/* - do - [ -f ${foo} ] && doman ${foo} - done - docinto / - dodoc ${FILESDIR}/copyright - dodoc ${S}/ChangeLog - - # env-update stuff - keepdir /etc/env.d - insinto /etc/env.d - doins ${S}/etc/env.d/00basic - - keepdir /etc/devfs.d - - keepdir /etc/modules.autoload.d - insinto /etc/modules.autoload.d - for foo in in ${S}/etc/modules.autoload.d/* - do - [ -f ${foo} ] && doins ${foo} - done - - keepdir /etc/modules.d - insinto /etc/modules.d - doins ${S}/etc/modules.d/aliases ${S}/etc/modules.d/i386 - - keepdir /etc/conf.d - insinto /etc/conf.d - for foo in ${S}/etc/conf.d/* - do - [ -f ${foo} ] && doins ${foo} - done - - # Now ships with net-dialup/ppp ... - rm -f ${D}/etc/{conf,init}.d/net.ppp* - - dodir /etc/skel - insinto /etc/skel - for foo in $(find ${S}/etc/skel -type f -maxdepth 1) - do - [ -f ${foo} ] && doins ${foo} - done - - keepdir ${svcdir} >/dev/null 2>&1 - - if use build || use bootstrap || \ - [ ! -f "${ROOT}/lib/udev-state/devices.tar.bz2" ] - then - # Ok, create temp device nodes - mkdir -p "${T}/udev-$$" - cd "${T}/udev-$$" - echo - einfo "Making device nodes (this could take a minute or so...)" - create_dev_nodes - # Now create tarball that can also be used for udev - tar -jclpf "${T}/devices-$$.tar.bz2" * - insinto /lib/udev-state - newins "${T}/devices-$$.tar.bz2" devices.tar.bz2 - fi - - # Skip this if we are merging to ROOT - [ "${ROOT}" = "/" ] && return 0 - - # Set up default runlevel symlinks - for foo in default boot nonetwork single - do - keepdir /etc/runlevels/${foo} - for bar in $(cat ${S}/rc-lists/${foo}) - do - [ -e ${S}/init.d/${bar} ] && \ - dosym /etc/init.d/${bar} /etc/runlevels/${foo}/${bar} - done - done - -} - -pkg_preinst() { - # Make sure symlinks of these get installed. - if [ -e ${ROOT}/etc/init.d/depscan.sh ] && \ - [ ! -L ${ROOT}/etc/init.d/depscan.sh ] - then - rm -f ${ROOT}/etc/init.d/depscan.sh - fi - if [ -e ${ROOT}/etc/init.d/runscript.sh ] && \ - [ ! -L ${ROOT}/etc/init.d/runscript.sh ] - then - rm -f ${ROOT}/etc/init.d/runscript.sh - fi - if [ -e ${ROOT}/etc/init.d/functions.sh ] && \ - [ ! -L ${ROOT}/etc/init.d/functions.sh ] - then - rm -f ${ROOT}/etc/init.d/functions.sh - fi - if [ -e ${ROOT}/etc/init.d/rc-help.sh ] - then - rm -f ${ROOT}/etc/init.d/rc-help.sh - fi - - # This one was borked, so make sure fixed one gets installed. - if [ -L ${ROOT}/usr/lib/X11 ] - then - rm -f ${ROOT}/usr/lib/X11 - fi - - if [ -f ${ROOT}/etc/modules.autoload -a ! -d ${ROOT}/etc/modules.autoload.d ] - then - mkdir -p ${ROOT}/etc/modules.autoload.d - mv -f ${ROOT}/etc/modules.autoload \ - ${ROOT}/etc/modules.autoload.d/kernel-2.4 - ln -snf modules.autoload.d/kernel-2.4 ${ROOT}/etc/modules.autoload - fi - - # Make sure user get things updated first time he merge 1.8.6 ... - if [ -f "${WORKDIR}/update_init_d" ] - then - # Update CONFIG_PROTECT_MASK to exclude /etc/init.d from - # CONFIG_PROTECT ... - ewarn "Changing CONFIG_PROTECT_MASK to ensure critical files are updated ..." - echo "CONFIG_PROTECT_MASK=\"/etc/init.d\"" \ - > ${ROOT}/etc/env.d/99foo - env-update &> /dev/null - export CONFIG_PROTECT_MASK="${CONFIG_PROTECT_MASK}:/etc/init.d" - - if [ -d "${ROOT}/etc/init.d" ] - then - # Backup /etc/init.d if it exists ... - einfo "Backing up /etc/init.d ..." - cp -af "${ROOT}/etc/init.d" "${ROOT}/etc/init_d.old" - fi - fi - - if [ -f "${ROOT}/lib/udev-state/devices.tar.bz2" -a -e "${ROOT}/dev/.udev" ] - then - mv -f "${ROOT}/lib/udev-state/devices.tar.bz2" \ - "${ROOT}/lib/udev-state/devices.tar.bz2.old" - fi -} - -pkg_postinst() { - if [ -f "${ROOT}/lib/udev-state/devices.tar.bz2.old" ] - then - # Rather use our current device tarball ... - mv -f "${ROOT}/lib/udev-state/devices.tar.bz2.old" \ - "${ROOT}/lib/udev-state/devices.tar.bz2" - else - # Make sure our tarball do not get removed ... - touch -m "${ROOT}/lib/udev-state/devices.tar.bz2" - fi - - defaltmerge - # We dont want to create devices if this is not a bootstrap and devfs - # is used, as this was the cause for all the devfs problems we had - # ($altmerge will be '1' if '${ROOT}/dev/.devfsd' exists ...) - if [ "${altmerge}" -eq "0" -a ! -e "${ROOT}/dev/.udev" -a \ - -f "${ROOT}/lib/udev-state/devices.tar.bz2" ] - then - if use build || use bootstrap - then - einfo "Populating /dev with device nodes..." - [ ! -e "${ROOT}/dev" ] && mkdir -p "${ROOT}/dev" - tar -jxpf "${ROOT}/lib/udev-state/devices.tar.bz2" \ - -C "${ROOT}/dev" || die - fi - fi - - echo - - # We create the /boot directory here so that /boot doesn't get deleted when a previous - # baselayout is unmerged with /boot unmounted. - install -d ${ROOT}/boot - touch ${ROOT}/boot/.keep - if [ ! -L ${ROOT}/boot/boot ] - then - ln -snf . ${ROOT}/boot/boot - fi - if [ -d "${ROOT}/dev" ] - then - ln -snf ../sbin/MAKEDEV ${ROOT}/dev/MAKEDEV - fi - # We create this here so we don't overwrite an existing /etc/hosts during bootstrap - if [ ! -e ${ROOT}/etc/hosts ] - then - cat << EOF >> ${ROOT}/etc/hosts -127.0.0.1 localhost -# IPV6 versions of localhost and co -::1 ip6-localhost ip6-loopback -fe00::0 ip6-localnet -ff00::0 ip6-mcastprefix -ff02::1 ip6-allnodes -ff02::2 ip6-allrouters -ff02::3 ip6-allhosts -EOF - fi - if [ -L ${ROOT}/etc/mtab ] - then - rm -f ${ROOT}/etc/mtab - if [ "$ROOT" = "/" ] - then - cp /proc/mounts ${ROOT}/etc/mtab - else - touch ${ROOT}/etc/mtab - fi - fi - # We should only install empty files if these files don't already exist. - local x= - for x in log/lastlog run/utmp log/wtmp - do - [ -e ${ROOT}/var/${x} ] || touch ${ROOT}/var/${x} - done - for x in run/utmp log/wtmp - do - chgrp utmp ${ROOT}/var/${x} - chmod 0664 ${ROOT}/var/${x} - done - - # Make sure we get everything ready for $svcdir that moved to - # /var/lib/init.d .... - if ! use build && ! use bootstrap - then - local oldsvcdir="${svcdir}" - local rcconfd="/etc/conf.d/rc" - local inittab="/etc/inittab" - - # Remove old backup /etc/conf.d/rc files ... - rm -f ${ROOT}/etc/conf.d/._cfg????_rc - # Remove old backup /etc/inittab files ... - rm -f ${ROOT}/etc/._cfg????_inittab - - # Replace and backup /etc/conf.d/rc (unless already in new format) - if [ -f "${ROOT}/${rcconfd}" ] && \ - ([ -z "$(grep '^svcmount' "${ROOT}/${rcconfd}")" ] || \ - [ -z "$(grep '^svcdir=\"\/var\/lib\/init.d\"' "${ROOT}/${rcconfd}")" ]) - #svcdir="/var/lib/init.d" - then - ewarn "Backing up your old /etc/conf.d/rc, and replacing with new!" - ewarn "This is needed, as \$svcdir moved from /mnt/.init.d to" - ewarn "/var/state/init.d" - echo - cp -f "${ROOT}/${rcconfd}" "${ROOT}/${rcconfd}.old" - cp -f "${S}/${rcconfd}" "${ROOT}/${rcconfd}" - fi - - # Replace and backup /etc/inittab (unless already in new format) - if [ -f "${ROOT}/${inittab}" ] && \ - [ -z "$(grep '^si::sysinit:/sbin/rc sysinit' "${ROOT}/${inittab}")" ] - then - ewarn "Backing up your old /etc/inittab, and replacing with new!" - ewarn "This is needed, as there were critical changes to /sbin/rc" - echo - cp -f "${ROOT}/${inittab}" "${ROOT}/${inittab}.old" - cp -f "${S}/${inittab}" "${ROOT}/${inittab}" - fi - - source ${ROOT}/etc/conf.d/rc - - # Handle the ${svcdir} that changed in location - if [ ! -d "${ROOT}/${svcdir}/started" ] - then - einfo "Trying to move SVCDIR to new location..." - echo - mkdir -p "${ROOT}/${svcdir}" -# mount -t tmpfs tmpfs ${ROOT}/${svcdir} - if [ -d "${ROOT}/${oldsvcdir}/started" ] - then - cp -ax "${ROOT}/${oldsvcdir}"/* "${ROOT}/${svcdir}" - - elif [ -d "${ROOT}/mnt/.init.d/started" ] - then - cp -ax "${ROOT}/mnt/.init.d"/* "${ROOT}/${svcdir}" - fi - fi - fi - - # Touching /etc/passwd and /etc/shadow after install can be fatal, as many - # new users do not update them properly. thus remove all ._cfg files if - # we are not busy with a bootstrap. - if ! use build && ! use bootstrap - then - ewarn "Removing invalid backup copies of critical config files..." - rm -f ${ROOT}/etc/._cfg????_{passwd,shadow} - fi - - # Reload init to fix unmounting problems of / on next reboot - # this is really needed, as without the new version of init cause init - # not to quit properly on reboot, and causes a fsck of / on next reboot. - if [ "${ROOT}" = "/" ] && ! use build && ! use bootstrap - then - echo - # Do not return an error if this fails - /sbin/init U &>/dev/null || : - - /sbin/depscan.sh &>/dev/null - - # We need to regenerate /etc/modules.conf, else it will fail at next - # boot. - einfo "Updating module dependencies..." - /sbin/modules-update force &> /dev/null - - elif [ -f "${ROOT}/etc/modules.conf" ] - then - rm -f ${ROOT}/etc/modules.conf - fi - - # Enable shadow groups (we need ROOT=/ here, as grpconv only - # operate on / ...). - if [ "${ROOT}" = "/" -a \ - ! -f /etc/gshadow -a -x /usr/sbin/grpck -a -x /usr/sbin/grpconv ] - then - /usr/sbin/grpck -r &>/dev/null - if [ "$?" -eq 0 ] - then - /usr/sbin/grpconv - else - echo - ewarn "Running 'grpck' returned errors. Please run it by hand, and then" - ewarn "run 'grpconv' afterwards!" - echo - fi - fi - - # Simple Release version for testing of features that *should* be - # present in the rc-scripts, etc. - echo "Gentoo Base System version ${SV}" > ${ROOT}/etc/gentoo-release - - echo - ewarn "Please be sure to update all pending '._cfg*' files in /etc are updated," - ewarn "else things might break at your next reboot! You can use 'etc-update'" - ewarn "to accomplish this:" - echo - ewarn " # etc-update" - echo - - if [ -f "${ROOT}/etc/env.d/99foo" ] - then - echo - ewarn "Due to large changes from 1.8.5 to 1.8.6, all your files in /etc/init.d" - ewarn "have been updated automatically. If you did make any changes directly" - ewarn "to your old files, they can be found in /etc/init_d.old. Please just" - ewarn "make sure to edit the new files, and not just copy the old over!" - echo - - rm -f "${ROOT}/etc/env.d/99foo" - - echo -ne "\a" ; sleep 1 ; echo -ne "\a" ; sleep 1 ; echo -ne "\a" ; sleep 1 - echo -ne "\a" ; sleep 1 ; echo -ne "\a" ; sleep 1 ; echo -ne "\a" ; sleep 1 - sleep 8 - fi -} - -pkg_postrm() { - - # Fix problematic links - ln -snf ../X11R6/include/X11 ${ROOT}/usr/include/X11 - ln -snf ../X11R6/include/GL ${ROOT}/usr/include/GL - ln -snf ../X11R6/lib/X11 ${ROOT}/usr/lib/X11 -} - diff --git a/sys-apps/baselayout/baselayout-1.9.1.ebuild b/sys-apps/baselayout/baselayout-1.9.1.ebuild deleted file mode 100644 index 181c9910ffd2..000000000000 --- a/sys-apps/baselayout/baselayout-1.9.1.ebuild +++ /dev/null @@ -1,565 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.9.1.ebuild,v 1.3 2004/06/24 21:59:11 agriffis Exp $ - -inherit flag-o-matic eutils - -SV=1.4.12 # rc-scripts version -SVREV= # rc-scripts rev -SVIV=2.84 # sysvinit version - -S="${WORKDIR}/rc-scripts-${SV}${SVREV}" -S2="${WORKDIR}/sysvinit-${SVIV}" -DESCRIPTION="Base layout for Gentoo Linux (incl. initscripts and sysvinit)" -HOMEPAGE="http://www.gentoo.org/" -SRC_URI="ftp://ftp.cistron.nl/pub/people/miquels/software/sysvinit-${SVIV}.tar.gz - ftp://sunsite.unc.edu/pub/Linux/system/daemons/init/sysvinit-${SVIV}.tar.gz - mirror://gentoo/rc-scripts-${SV}${SVREV}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~x86 ~ppc ~sparc ~mips ~alpha ~arm ~hppa ~amd64 ~ia64 ~ppc64 s390" -IUSE="bootstrap build livecd static selinux" - -DEPEND="virtual/os-headers - selinux? ( sys-libs/libselinux )" - -# This version of baselayout needs gawk in /bin, but as we do not have -# a c++ compiler during bootstrap, we cannot depend on it if "bootstrap" -# or "build" are in USE. -RDEPEND="${DEPEND} - !build? ( !bootstrap? ( - >=sys-apps/gawk-3.1.1-r2 - >=sys-apps/util-linux-2.11z-r6 - ) )" - -src_unpack() { - unpack ${A} - - # - # Baselayout setup - # - cd ${S}/etc - - # Fix Sparc specific stuff - if [[ ${ARCH} == sparc ]]; then - sed -i -e 's:KEYMAP="us":KEYMAP="sunkeymap":' rc.conf || die - fi - - # Add serial console for arches that typically have it - case ${ARCH} in - sparc|mips|hppa|alpha|ia64) - sed -i -e \ - 's"# TERMINALS"# SERIAL CONSOLE\nc0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100\n\n# TERMINALS"' \ - inittab || die - ;; - esac - - # - # sysvinit setup - # - if ! use build; then - cd ${S2}/src - - # Note that if sysvinit is ever built with USE=build, need to - # refrain from building sulogin as it needs libcrypt which is - # not in the build image: - # sed -i -e '/^PROGS/s/ sulogin//' Makefile || die - - # Selinux patch for sysvinit - if use selinux; then - if has_version '>=sys-libs/libselinux-1.6'; then - epatch ${FILESDIR}/sysvinit-${SVIV}-selinux1.patch - else - epatch ${FILESDIR}/sysvinit-${SVIV}-selinux.patch - fi - fi - fi -} - -src_compile() { - use static && append-ldflags -static - - echo "${ROOT}" > ${T}/ROOT - - cd ${S}/src - einfo "Building utilities..." - make CC="${CC:-gcc}" LD="${CC:-gcc} ${LDFLAGS}" \ - CFLAGS="${CFLAGS}" || die "problem compiling utilities" - - if ! use build; then - # Build sysvinit stuff - cd ${S2}/src - einfo "Building sysvinit..." - emake CC="${CC:-gcc}" LD="${CC:-gcc}" \ - LDFLAGS="${LDFLAGS}" CFLAGS="${CFLAGS} -D_GNU_SOURCE" || die "problem compiling sysvinit" - else - einfo "Not building sysvinit because USE=build" - fi -} - -# ${PATH} should include where to get MAKEDEV when calling this -# function -create_dev_nodes() { - - case ${ARCH} in - # amd64 must use generic-i386 because amd64/x86_64 does not have - # a generic option at this time, and the default 'generic' ends - # up erroring out, because MAKEDEV internally doesn't know what - # to use - amd64) suffix=-i386 ;; - x86) suffix=-i386 ;; - ppc*) suffix=-powerpc ;; - alpha) suffix=-alpha ;; - ia64) suffix=-ia64 ;; - sparc*) suffix=-sparc ;; - mips) suffix=-mips ;; - arm) suffix=-arm ;; - hppa) suffix=-hppa ;; - esac - - einfo "Using generic${suffix} to make ${ARCH} device nodes..." - MAKEDEV generic${suffix} - MAKEDEV sg scd rtc hde hdf hdg hdh input audio video -} - -# This is a temporary workaround until bug 9849 is completely solved -# in portage. We need to create the directories so they're available -# during src_install, but when src_install is finished, call unkdir -# to remove any empty directories instead of leaving them around. -kdir() { - typeset -a args - typeset d - - # Create the directories for the remainder of src_install, and - # remember how to create the directories later. - for d in "$@"; do - if [[ $d == /* ]]; then - install -d "${args[@]}" "${D}/${d}" - cat >> "${D}/usr/share/baselayout/mkdirs.sh" <<EOF -install -d ${args[@]} "\${ROOT}/${d}" 2>/dev/null \\ - || ewarn " can't create ${d}" -touch "\${ROOT}/${d}/.keep" 2>/dev/null \\ - || ewarn " can't create ${d}/.keep" -EOF - else - args=("${args[@]}" "${d}") - fi - done -} - -# Continued from kdir above... This function removes any empty -# directories as a temporary workaround for bug 9849. The directories -# (and .keep files) are re-created in pkg_postinst, which means they -# aren't listed in CONTENTS, unfortunately. -unkdir() { - einfo "Running unkdir to workaround bug 9849" - find ${D} -depth -type d -exec rmdir {} \; 2>/dev/null - if [[ $? == 127 ]]; then - ewarn "Problem running unkdir: find command not found" - fi -} - -src_install() { - local foo bar - - # ROOT is purged from the environment prior to calling - # src_install. Good thing we saved it in a temporary file. - # Otherwise ROOT will be NULL, which hopefully is correct! - # (I don't know why it was in the environment in the first - # place... could have just used a shell variable?) - if [[ -f ${T}/ROOT ]]; then - ROOT=$(cat ${T}/ROOT) - fi - - # This directory is to stash away things that will be used in - # pkg_postinst - dodir /usr/share/baselayout - - einfo "Creating directories..." - kdir /boot - kdir /dev - kdir /dev/pts - kdir /dev/shm - kdir /etc/conf.d - kdir /etc/cron.daily - kdir /etc/cron.hourly - kdir /etc/cron.monthly - kdir /etc/cron.weekly - kdir /etc/devfs.d - kdir /etc/env.d - kdir /etc/modules.autoload.d - kdir /etc/modules.d - kdir /etc/opt - kdir /home - kdir /lib - kdir /lib/dev-state - kdir /lib/udev-state - kdir /mnt - kdir -m 0700 /mnt/cdrom - kdir -m 0700 /mnt/floppy - kdir /opt - kdir -o root -g uucp -m0755 /var/lock - kdir /proc - kdir -m 0700 /root - kdir /sbin - kdir /usr - kdir /usr/bin - kdir /usr/include - kdir /usr/include/asm - kdir /usr/include/linux - kdir /usr/lib - kdir /usr/local/bin - kdir /usr/local/games - kdir /usr/local/lib - kdir /usr/local/sbin - kdir /usr/local/share - kdir /usr/local/share/doc - kdir /usr/local/share/man - kdir /usr/local/src - kdir /usr/portage - kdir /usr/sbin - kdir /usr/share/doc - kdir /usr/share/info - kdir /usr/share/man - kdir /usr/share/misc - kdir /usr/src - kdir /usr/X11R6/include/GL - kdir /usr/X11R6/include/X11 - kdir /usr/X11R6/lib - kdir /usr/X11R6/lib - kdir /usr/X11R6/man - kdir /usr/X11R6/share - kdir -m 1777 /tmp - kdir /var - kdir /var/lib/misc - kdir /var/lock/subsys - kdir /var/log/news - kdir /var/run - kdir /var/spool - kdir /var/state - kdir -m 1777 /var/tmp - - dodir /etc/init.d # .keep file might mess up init.d stuff - dodir /var/db/pkg # .keep file messes up Portage when looking in /var/db/pkg - - # Symlinks so that LSB compliant apps work - # /lib64 is especially required since its the default place for ld.so - if [[ ${ARCH} == amd64 || ${ARCH} == ppc64 ]]; then - dosym lib /lib64 - dosym lib /usr/lib64 - dosym lib /usr/X11R6/lib64 - fi - - # FHS compatibility symlinks stuff - dosym ../var/tmp /usr/tmp - dosym share/man /usr/man - dosym share/doc /usr/doc - dosym share/info /usr/info - dosym ../../share/info /usr/X11R6/share/info - dosym ../X11R6/include/X11 /usr/include/X11 - dosym ../X11R6/include/GL /usr/include/GL - dosym ../X11R6/lib/X11 /usr/lib/X11 - dosym share/man /usr/local/man - dosym share/doc /usr/local/doc - - # - # Setup files in /etc - # - dosym ../proc/filesystems /etc/filesystems - - insopts -m0644 - insinto /etc - find ${S}/etc -type f -maxdepth 1 -print0 | xargs --null doins - - fperms 0600 /etc/shadow - - exeinto /etc/init.d - doexe ${S}/init.d/* - insinto /etc/conf.d - doins ${S}/etc/conf.d/* - insinto /etc/env.d - doins ${S}/etc/env.d/* - insinto /etc/modules.autoload.d - doins ${S}/etc/modules.autoload.d/* - insinto /etc/modules.d - doins ${S}/etc/modules.d/* - insinto /etc/skel - find ${S}/etc/skel -type f -maxdepth 1 -print0 | xargs --null doins - - rm -f ${D}/etc/{conf,init}.d/net.ppp* # now ships with net-dialup/ppp - - # Set up default runlevel symlinks - if [[ ${ROOT} != / ]]; then - for foo in default boot nonetwork single; do - kdir /etc/runlevels/${foo} - for bar in $(cat ${S}/rc-lists/${foo}); do - [[ -e ${S}/init.d/${bar} ]] && \ - dosym /etc/init.d/${bar} /etc/runlevels/${foo}/${bar} - done - done - fi - - # We do not want to overwrite the user's settings during - # bootstrap; put this somewhere for safekeeping until pkg_postinst - mv ${D}/etc/hosts ${D}/usr/share/baselayout - - # rc-scripts version for testing of features that *should* be present - echo "Gentoo Base System version ${SV}" > ${D}/etc/gentoo-release - - # - # Setup files related to /dev - # - into / - dosbin ${S}/sbin/MAKEDEV - dosym ../../sbin/MAKEDEV /usr/sbin/MAKEDEV - dosym ../sbin/MAKEDEV /dev/MAKEDEV - - if use build || use bootstrap || \ - [[ ! -f "${ROOT}/lib/udev-state/devices.tar.bz2" ]]; then - # Ok, create temp device nodes - mkdir -p "${T}/udev-$$" - cd "${T}/udev-$$" - echo - einfo "Making device nodes (this could take a minute or so...)" - PATH="${D}/sbin:${PATH}" create_dev_nodes - - # Now create tarball that can also be used for udev. - # Need GNU tar for -j so call it by absolute path. - /bin/tar -cjlpf "${T}/devices-$$.tar.bz2" * - insinto /lib/udev-state - newins "${T}/devices-$$.tar.bz2" devices.tar.bz2 - fi - - # - # Setup files in /bin - # - cd ${S}/bin - dobin rc-status - - # - # Setup files in /sbin - # - cd ${S}/sbin - into / - dosbin rc rc-update - # Need this in /sbin, as it could be run before - # /usr is mounted. - dosbin modules-update - # Compat symlinks until I can get things synced. - dosym modules-update /sbin/update-modules - dosym ../../sbin/modules-update /usr/sbin/update-modules - # These moved from /etc/init.d/ to /sbin to help newb systems - # from breaking - dosbin runscript.sh functions.sh - use livecd && dosbin livecd-functions.sh - - # Compat symlinks between /etc/init.d and /sbin - # (some stuff have hardcoded paths) - dosym ../../sbin/depscan.sh /etc/init.d/depscan.sh - dosym ../../sbin/runscript.sh /etc/init.d/runscript.sh - dosym ../../sbin/functions.sh /etc/init.d/functions.sh - - # - # Setup files in /lib/rcsripts/sh - # - cd ${S}/sbin - exeinto /lib/rcscripts/sh - doexe rc-services.sh rc-daemon.sh rc-help.sh - - # We can only install new, fast awk versions of scripts - # if 'build' or 'bootstrap' is not in USE. This will - # change if we have sys-apps/gawk-3.1.1-r1 or later in - # the build image ... - if ! use build; then - # This is for new depscan.sh and env-update.sh - # written in awk - cd ${S}/sbin - into / - dosbin depscan.sh - dosbin env-update.sh - insinto /lib/rcscripts/awk - doins ${S}/src/awk/*.awk - fi - - # - # Install baselayout documentation - # - if ! use build ; then - doman ${S}/man/*.* - docinto / - dodoc ${FILESDIR}/copyright - dodoc ${S}/ChangeLog - fi - - # - # Install baselayout utilities - # - cd ${S}/src - einfo "Installing utilities..." - make DESTDIR="${D}" install || die "problem installing utilities" - - # - # Install sysvinit - # - if ! use build; then - cd ${S2}/src - einfo "Installing sysvinit..." - into / - dosbin init halt killall5 runlevel shutdown sulogin - dosym init /sbin/telinit - dobin last mesg utmpdump wall - dosym killall5 /sbin/pidof - dosym halt /sbin/reboot - dosym halt /sbin/poweroff - dosym last /bin/lastb - insinto /usr/include - doins initreq.h - # sysvinit docs - cd ${S2} - doman man/*.[1-9] - docinto sysvinit-${SVIV} - dodoc COPYRIGHT README doc/* - fi - - # Hack to fix bug 9849, continued in pkg_postinst - unkdir -} - -pkg_preinst() { - if [[ -f ${ROOT}/etc/modules.autoload && \ - ! -d ${ROOT}/etc/modules.autoload.d ]]; then - mkdir -p ${ROOT}/etc/modules.autoload.d - mv -f ${ROOT}/etc/modules.autoload \ - ${ROOT}/etc/modules.autoload.d/kernel-2.4 - ln -snf modules.autoload.d/kernel-2.4 ${ROOT}/etc/modules.autoload - fi - - if [[ -f "${ROOT}/lib/udev-state/devices.tar.bz2" && - -e "${ROOT}/dev/.udev" ]]; then - mv -f "${ROOT}/lib/udev-state/devices.tar.bz2" \ - "${ROOT}/lib/udev-state/devices.tar.bz2.current" - fi -} - -pkg_postinst() { - local x - - # Reincarnate dirs from kdir/unkdir (hack for bug 9849) - einfo "Creating directories and .keep files." - einfo "Some of these might fail if they're read-only mounted" - einfo "filesystems, for example /dev or /proc. That's okay!" - source ${ROOT}/usr/share/baselayout/mkdirs.sh - - if [[ -f "${ROOT}/lib/udev-state/devices.tar.bz2.current" ]]; then - # Rather use our current device tarball ... this was saved off - # in pkg_preinst - mv -f "${ROOT}/lib/udev-state/devices.tar.bz2.current" \ - "${ROOT}/lib/udev-state/devices.tar.bz2" - else - # Make sure our tarball does not get removed; update the - # timestamp so that it doesn't match CONTENTS - touch "${ROOT}/lib/udev-state/devices.tar.bz2" - fi - - # We don't want to create devices if this is not a bootstrap and devfs - # is used, as this was the cause for all the devfs problems we had - if use build || use bootstrap; then - if [[ ! -e "${ROOT}/dev/.devfsd" && ! -e "${ROOT}/dev/.udev" ]]; then - einfo "Populating /dev with device nodes..." - cd ${ROOT}/dev - if [ -f "${ROOT}/lib/udev-state/devices.tar.bz2" ]; then - tar -jxpf "${ROOT}/lib/udev-state/devices.tar.bz2" || die - else - # devices.tar.bz2 will not exist with binary packages ... - PATH="${ROOT}/sbin:${PATH}" create_dev_nodes - fi - fi - fi - - # Create /boot/boot symlink in pkg_postinst because sometimes - # /boot is a FAT filesystem. When that is the case, then the - # symlink will fail. Consequently, if we create it in - # src_install, then merge will fail. AFAIK there is no point to - # this symlink except for misconfigured grubs. See bug 50108 - # (05 May 2004 agriffis) - ln -sn . ${ROOT}/boot/boot 2>/dev/null - - # Create /etc/hosts in pkg_postinst so we don't overwrite an - # existing file during bootstrap - if [[ ! -e ${ROOT}/etc/hosts ]]; then - cp ${ROOT}/usr/share/baselayout/hosts ${ROOT}/etc - fi - - # Under what circumstances would mtab be a symlink? It would be - # nice if there were an explanatory comment here - if [[ -L ${ROOT}/etc/mtab ]]; then - rm -f "${ROOT}/etc/mtab" - if [[ ${ROOT} == / ]]; then - cp /proc/mounts "${ROOT}/etc/mtab" - else - touch "${ROOT}/etc/mtab" - fi - fi - - # We should only install empty files if these files don't already exist. - [[ -e ${ROOT}/var/log/lastlog ]] || \ - touch "${ROOT}/var/log/lastlog" - [[ -e ${ROOT}/var/run/utmp ]] || \ - install -m 0664 -g utmp /dev/null "${ROOT}/var/run/utmp" - [[ -e ${ROOT}/var/log/wtmp ]] || \ - install -m 0664 -g utmp /dev/null "${ROOT}/var/log/wtmp" - - # Touching /etc/passwd and /etc/shadow after install can be fatal, as many - # new users do not update them properly. thus remove all ._cfg files if - # we are not busy with a bootstrap. - if ! use build && ! use bootstrap; then - einfo "Removing invalid backup copies of critical config files..." - rm -f "${ROOT}"/etc/._cfg????_{passwd,shadow} - fi - - # Reload init to fix unmounting problems of / on next reboot. - # This is really needed, as without the new version of init cause init - # not to quit properly on reboot, and causes a fsck of / on next reboot. - if [[ ${ROOT} == / ]] && ! use build && ! use bootstrap; then - # Do not return an error if this fails - /sbin/init U &>/dev/null - - # Regenerate init.d dependency tree - /sbin/depscan.sh &>/dev/null - - # Regenerate /etc/modules.conf, else it will fail at next boot - einfo "Updating module dependencies..." - /sbin/modules-update force &>/dev/null - else - rm -f ${ROOT}/etc/modules.conf - fi - - # Enable shadow groups (we need ROOT=/ here, as grpconv only - # operate on / ...). - if [[ ${ROOT} == / && \ - ! -f /etc/gshadow && -x /usr/sbin/grpck && -x /usr/sbin/grpconv ]] - then - if /usr/sbin/grpck -r &>/dev/null; then - /usr/sbin/grpconv - else - echo - ewarn "Running 'grpck' returned errors. Please run it by hand, and then" - ewarn "run 'grpconv' afterwards!" - echo - fi - 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) - echo "Gentoo Base System version ${SV}" > ${D}/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" - echo -} diff --git a/sys-apps/baselayout/baselayout-1.9.4-r1.ebuild b/sys-apps/baselayout/baselayout-1.9.4-r1.ebuild deleted file mode 100644 index 18978074f47c..000000000000 --- a/sys-apps/baselayout/baselayout-1.9.4-r1.ebuild +++ /dev/null @@ -1,569 +0,0 @@ -# Copyright 1999-2004 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.9.4-r1.ebuild,v 1.3 2004/06/24 21:59:11 agriffis Exp $ - -inherit flag-o-matic eutils - -SV=1.4.15 # rc-scripts version -SVREV= # rc-scripts rev -SVIV=2.84 # sysvinit version - -S="${WORKDIR}/rc-scripts-${SV}${SVREV}" -S2="${WORKDIR}/sysvinit-${SVIV}" -DESCRIPTION="Base layout for Gentoo Linux (incl. initscripts and sysvinit)" -HOMEPAGE="http://www.gentoo.org/" -SRC_URI="ftp://ftp.cistron.nl/pub/people/miquels/software/sysvinit-${SVIV}.tar.gz - ftp://sunsite.unc.edu/pub/Linux/system/daemons/init/sysvinit-${SVIV}.tar.gz - mirror://gentoo/rc-scripts-${SV}${SVREV}.tar.bz2" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="x86 ppc sparc mips alpha arm hppa amd64 ia64 ppc64 s390" -IUSE="bootstrap build livecd static selinux" - -DEPEND="virtual/os-headers - selinux? ( sys-libs/libselinux )" - -# This version of baselayout needs gawk in /bin, but as we do not have -# a c++ compiler during bootstrap, we cannot depend on it if "bootstrap" -# or "build" are in USE. -RDEPEND="${DEPEND} - !build? ( !bootstrap? ( - >=sys-apps/gawk-3.1.1-r2 - >=sys-apps/util-linux-2.11z-r6 - ) ) - >=sys-apps/module-init-tools-3.0-r2" - -src_unpack() { - unpack ${A} - - # - # Baselayout setup - # - cd ${S}/etc - - # Fix Sparc specific stuff - if [[ ${ARCH} == sparc ]]; then - sed -i -e 's:KEYMAP="us":KEYMAP="sunkeymap":' rc.conf || die - fi - - # Add serial console for arches that typically have it - case ${ARCH} in - sparc|mips|hppa|alpha|ia64) - sed -i -e \ - 's"# TERMINALS"# SERIAL CONSOLE\nc0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100\n\n# TERMINALS"' \ - inittab || die - ;; - esac - - # - # sysvinit setup - # - if ! use build; then - cd ${S2}/src - - # Note that if sysvinit is ever built with USE=build, need to - # refrain from building sulogin as it needs libcrypt which is - # not in the build image: - # sed -i -e '/^PROGS/s/ sulogin//' Makefile || die - - # Selinux patch for sysvinit - if use selinux; then - if has_version '>=sys-libs/libselinux-1.6'; then - epatch ${FILESDIR}/sysvinit-${SVIV}-selinux1.patch - else - epatch ${FILESDIR}/sysvinit-${SVIV}-selinux.patch - fi - fi - fi -} - -src_compile() { - use static && append-ldflags -static - - echo "${ROOT}" > ${T}/ROOT - - cd ${S}/src - einfo "Building utilities..." - make CC="${CC:-gcc}" LD="${CC:-gcc} ${LDFLAGS}" \ - CFLAGS="${CFLAGS}" || die "problem compiling utilities" - - if ! use build; then - # Build sysvinit stuff - cd ${S2}/src - einfo "Building sysvinit..." - emake CC="${CC:-gcc}" LD="${CC:-gcc}" \ - LDFLAGS="${LDFLAGS}" CFLAGS="${CFLAGS} -D_GNU_SOURCE" || die "problem compiling sysvinit" - else - einfo "Not building sysvinit because USE=build" - fi -} - -# ${PATH} should include where to get MAKEDEV when calling this -# function -create_dev_nodes() { - case ${ARCH} in - # amd64 must use generic-i386 because amd64/x86_64 does not have - # a generic option at this time, and the default 'generic' ends - # up erroring out, because MAKEDEV internally doesn't know what - # to use - amd64) suffix=-i386 ;; - x86) suffix=-i386 ;; - ppc*) suffix=-powerpc ;; - alpha) suffix=-alpha ;; - ia64) suffix=-ia64 ;; - sparc*) suffix=-sparc ;; - mips) suffix=-mips ;; - arm) suffix=-arm ;; - hppa) suffix=-hppa ;; - esac - - einfo "Using generic${suffix} to make ${ARCH} device nodes..." - MAKEDEV generic${suffix} - MAKEDEV sg scd rtc hde hdf hdg hdh input audio video -} - -# This is a temporary workaround until bug 9849 is completely solved -# in portage. We need to create the directories so they're available -# during src_install, but when src_install is finished, call unkdir -# to remove any empty directories instead of leaving them around. -kdir() { - typeset -a args - typeset d - - # Create the directories for the remainder of src_install, and - # remember how to create the directories later. - for d in "$@"; do - if [[ $d == /* ]]; then - install -d "${args[@]}" "${D}/${d}" - cat >> "${D}/usr/share/baselayout/mkdirs.sh" <<EOF -install -d ${args[@]} "\${ROOT}/${d}" 2>/dev/null \\ - || ewarn " can't create ${d}" -touch "\${ROOT}/${d}/.keep" 2>/dev/null \\ - || ewarn " can't create ${d}/.keep" -EOF - else - args=("${args[@]}" "${d}") - fi - done -} - -# Continued from kdir above... This function removes any empty -# directories as a temporary workaround for bug 9849. The directories -# (and .keep files) are re-created in pkg_postinst, which means they -# aren't listed in CONTENTS, unfortunately. -unkdir() { - einfo "Running unkdir to workaround bug 9849" - find ${D} -depth -type d -exec rmdir {} \; 2>/dev/null - if [[ $? == 127 ]]; then - ewarn "Problem running unkdir: find command not found" - fi -} - -src_install() { - local foo bar - - # ROOT is purged from the environment prior to calling - # src_install. Good thing we saved it in a temporary file. - # Otherwise ROOT will be NULL, which hopefully is correct! - # (I don't know why it was in the environment in the first - # place... could have just used a shell variable?) - if [[ -f ${T}/ROOT ]]; then - ROOT=$(cat ${T}/ROOT) - fi - - # This directory is to stash away things that will be used in - # pkg_postinst - dodir /usr/share/baselayout - - einfo "Creating directories..." - kdir /boot - kdir /dev - kdir /dev/pts - kdir /dev/shm - kdir /etc/conf.d - kdir /etc/cron.daily - kdir /etc/cron.hourly - kdir /etc/cron.monthly - kdir /etc/cron.weekly - kdir /etc/devfs.d - kdir /etc/env.d - kdir /etc/modules.autoload.d - kdir /etc/modules.d - kdir /etc/opt - kdir /home - kdir /lib - kdir /lib/dev-state - kdir /lib/udev-state - kdir /mnt - kdir -m 0700 /mnt/cdrom - kdir -m 0700 /mnt/floppy - kdir /opt - kdir -o root -g uucp -m0755 /var/lock - kdir /proc - kdir -m 0700 /root - kdir /sbin - kdir /usr - kdir /usr/bin - kdir /usr/include - kdir /usr/include/asm - kdir /usr/include/linux - kdir /usr/lib - kdir /usr/local/bin - kdir /usr/local/games - kdir /usr/local/lib - kdir /usr/local/sbin - kdir /usr/local/share - kdir /usr/local/share/doc - kdir /usr/local/share/man - kdir /usr/local/src - kdir /usr/portage - kdir /usr/sbin - kdir /usr/share/doc - kdir /usr/share/info - kdir /usr/share/man - kdir /usr/share/misc - kdir /usr/src - kdir /usr/X11R6/include/GL - kdir /usr/X11R6/include/X11 - kdir /usr/X11R6/lib - kdir /usr/X11R6/lib - kdir /usr/X11R6/man - kdir /usr/X11R6/share - kdir -m 1777 /tmp - kdir /var - kdir /var/lib/misc - kdir /var/lock/subsys - kdir /var/log/news - kdir /var/run - kdir /var/spool - kdir /var/state - kdir -m 1777 /var/tmp - - dodir /etc/init.d # .keep file might mess up init.d stuff - dodir /var/db/pkg # .keep file messes up Portage when looking in /var/db/pkg - - # Symlinks so that LSB compliant apps work - # /lib64 is especially required since its the default place for ld.so - if [[ ${ARCH} == amd64 || ${ARCH} == ppc64 ]]; then - dosym lib /lib64 - dosym lib /usr/lib64 - dosym lib /usr/X11R6/lib64 - fi - - # FHS compatibility symlinks stuff - dosym ../var/tmp /usr/tmp - dosym share/man /usr/man - dosym share/doc /usr/doc - dosym share/info /usr/info - dosym ../../share/info /usr/X11R6/share/info - dosym ../X11R6/include/X11 /usr/include/X11 - dosym ../X11R6/include/GL /usr/include/GL - dosym ../X11R6/lib/X11 /usr/lib/X11 - dosym share/man /usr/local/man - dosym share/doc /usr/local/doc - - # - # Setup files in /etc - # - dosym ../proc/filesystems /etc/filesystems - - insopts -m0644 - insinto /etc - find ${S}/etc -type f -maxdepth 1 -print0 | xargs --null doins - - fperms 0600 /etc/shadow - - exeinto /etc/init.d - doexe ${S}/init.d/* - insinto /etc/conf.d - doins ${S}/etc/conf.d/* - insinto /etc/env.d - doins ${S}/etc/env.d/* - insinto /etc/modules.autoload.d - doins ${S}/etc/modules.autoload.d/* - insinto /etc/modules.d - doins ${S}/etc/modules.d/* - insinto /etc/skel - find ${S}/etc/skel -type f -maxdepth 1 -print0 | xargs --null doins - - rm -f ${D}/etc/{conf,init}.d/net.ppp* # now ships with net-dialup/ppp - - # Set up default runlevel symlinks - if [[ ${ROOT} != / ]]; then - for foo in default boot nonetwork single; do - kdir /etc/runlevels/${foo} - for bar in $(cat ${S}/rc-lists/${foo}); do - [[ -e ${S}/init.d/${bar} ]] && \ - dosym /etc/init.d/${bar} /etc/runlevels/${foo}/${bar} - done - done - fi - - # We do not want to overwrite the user's settings during - # bootstrap; put this somewhere for safekeeping until pkg_postinst - mv ${D}/etc/hosts ${D}/usr/share/baselayout - - # rc-scripts version for testing of features that *should* be present - echo "Gentoo Base System version ${SV}" > ${D}/etc/gentoo-release - - # - # Setup files related to /dev - # - into / - dosbin ${S}/sbin/MAKEDEV - dosym ../../sbin/MAKEDEV /usr/sbin/MAKEDEV - dosym ../sbin/MAKEDEV /dev/MAKEDEV - - if use build || use bootstrap || \ - [[ ! -f "${ROOT}/lib/udev-state/devices.tar.bz2" ]]; then - # Ok, create temp device nodes - mkdir -p "${T}/udev-$$" - cd "${T}/udev-$$" - echo - einfo "Making device nodes (this could take a minute or so...)" - PATH="${D}/sbin:${PATH}" create_dev_nodes - - # Now create tarball that can also be used for udev. - # Need GNU tar for -j so call it by absolute path. - /bin/tar -cjlpf "${T}/devices-$$.tar.bz2" * - insinto /lib/udev-state - newins "${T}/devices-$$.tar.bz2" devices.tar.bz2 - fi - - # - # Setup files in /bin - # - cd ${S}/bin - dobin rc-status - if use livecd; then - dobin bashlogin - fi - - # - # Setup files in /sbin - # - cd ${S}/sbin - into / - dosbin rc rc-update - # Need this in /sbin, as it could be run before - # /usr is mounted. - dosbin modules-update - # Compat symlinks until I can get things synced. - dosym modules-update /sbin/update-modules - dosym ../../sbin/modules-update /usr/sbin/update-modules - # These moved from /etc/init.d/ to /sbin to help newb systems - # from breaking - dosbin runscript.sh functions.sh - use livecd && dosbin livecd-functions.sh - - # Compat symlinks between /etc/init.d and /sbin - # (some stuff have hardcoded paths) - dosym ../../sbin/depscan.sh /etc/init.d/depscan.sh - dosym ../../sbin/runscript.sh /etc/init.d/runscript.sh - dosym ../../sbin/functions.sh /etc/init.d/functions.sh - - # - # Setup files in /lib/rcsripts/sh - # - cd ${S}/sbin - exeinto /lib/rcscripts/sh - doexe rc-services.sh rc-daemon.sh rc-help.sh - - # We can only install new, fast awk versions of scripts - # if 'build' or 'bootstrap' is not in USE. This will - # change if we have sys-apps/gawk-3.1.1-r1 or later in - # the build image ... - if ! use build; then - # This is for new depscan.sh and env-update.sh - # written in awk - cd ${S}/sbin - into / - dosbin depscan.sh - dosbin env-update.sh - insinto /lib/rcscripts/awk - doins ${S}/src/awk/*.awk - fi - - # - # Install baselayout documentation - # - if ! use build ; then - doman ${S}/man/*.* - docinto / - dodoc ${FILESDIR}/copyright - dodoc ${S}/ChangeLog - fi - - # - # Install baselayout utilities - # - cd ${S}/src - einfo "Installing utilities..." - make DESTDIR="${D}" install || die "problem installing utilities" - - # - # Install sysvinit - # - if ! use build; then - cd ${S2}/src - einfo "Installing sysvinit..." - into / - dosbin init halt killall5 runlevel shutdown sulogin - dosym init /sbin/telinit - dobin last mesg utmpdump wall - dosym killall5 /sbin/pidof - dosym halt /sbin/reboot - dosym halt /sbin/poweroff - dosym last /bin/lastb - insinto /usr/include - doins initreq.h - # sysvinit docs - cd ${S2} - doman man/*.[1-9] - docinto sysvinit-${SVIV} - dodoc COPYRIGHT README doc/* - fi - - # Hack to fix bug 9849, continued in pkg_postinst - unkdir -} - -pkg_preinst() { - if [[ -f ${ROOT}/etc/modules.autoload && \ - ! -d ${ROOT}/etc/modules.autoload.d ]]; then - mkdir -p ${ROOT}/etc/modules.autoload.d - mv -f ${ROOT}/etc/modules.autoload \ - ${ROOT}/etc/modules.autoload.d/kernel-2.4 - ln -snf modules.autoload.d/kernel-2.4 ${ROOT}/etc/modules.autoload - fi - - if [[ -f "${ROOT}/lib/udev-state/devices.tar.bz2" && - -e "${ROOT}/dev/.udev" ]]; then - mv -f "${ROOT}/lib/udev-state/devices.tar.bz2" \ - "${ROOT}/lib/udev-state/devices.tar.bz2.current" - fi -} - -pkg_postinst() { - local x - - # Reincarnate dirs from kdir/unkdir (hack for bug 9849) - einfo "Creating directories and .keep files." - einfo "Some of these might fail if they're read-only mounted" - einfo "filesystems, for example /dev or /proc. That's okay!" - source ${ROOT}/usr/share/baselayout/mkdirs.sh - - if [[ -f "${ROOT}/lib/udev-state/devices.tar.bz2.current" ]]; then - # Rather use our current device tarball ... this was saved off - # in pkg_preinst - mv -f "${ROOT}/lib/udev-state/devices.tar.bz2.current" \ - "${ROOT}/lib/udev-state/devices.tar.bz2" - else - # Make sure our tarball does not get removed; update the - # timestamp so that it doesn't match CONTENTS - touch "${ROOT}/lib/udev-state/devices.tar.bz2" - fi - - # We don't want to create devices if this is not a bootstrap and devfs - # is used, as this was the cause for all the devfs problems we had - if use build || use bootstrap; then - if [[ ! -e "${ROOT}/dev/.devfsd" && ! -e "${ROOT}/dev/.udev" ]]; then - einfo "Populating /dev with device nodes..." - cd ${ROOT}/dev - if [ -f "${ROOT}/lib/udev-state/devices.tar.bz2" ]; then - tar -jxpf "${ROOT}/lib/udev-state/devices.tar.bz2" || die - else - # devices.tar.bz2 will not exist with binary packages ... - PATH="${ROOT}/sbin:${PATH}" create_dev_nodes - fi - fi - fi - - # Create /boot/boot symlink in pkg_postinst because sometimes - # /boot is a FAT filesystem. When that is the case, then the - # symlink will fail. Consequently, if we create it in - # src_install, then merge will fail. AFAIK there is no point to - # this symlink except for misconfigured grubs. See bug 50108 - # (05 May 2004 agriffis) - ln -sn . ${ROOT}/boot/boot 2>/dev/null - - # Create /etc/hosts in pkg_postinst so we don't overwrite an - # existing file during bootstrap - if [[ ! -e ${ROOT}/etc/hosts ]]; then - cp ${ROOT}/usr/share/baselayout/hosts ${ROOT}/etc - fi - - # Under what circumstances would mtab be a symlink? It would be - # nice if there were an explanatory comment here - if [[ -L ${ROOT}/etc/mtab ]]; then - rm -f "${ROOT}/etc/mtab" - if [[ ${ROOT} == / ]]; then - cp /proc/mounts "${ROOT}/etc/mtab" - else - touch "${ROOT}/etc/mtab" - fi - fi - - # We should only install empty files if these files don't already exist. - [[ -e ${ROOT}/var/log/lastlog ]] || \ - touch "${ROOT}/var/log/lastlog" - [[ -e ${ROOT}/var/run/utmp ]] || \ - install -m 0664 -g utmp /dev/null "${ROOT}/var/run/utmp" - [[ -e ${ROOT}/var/log/wtmp ]] || \ - install -m 0664 -g utmp /dev/null "${ROOT}/var/log/wtmp" - - # Touching /etc/passwd and /etc/shadow after install can be fatal, as many - # new users do not update them properly. thus remove all ._cfg files if - # we are not busy with a bootstrap. - if ! use build && ! use bootstrap; then - einfo "Removing invalid backup copies of critical config files..." - rm -f "${ROOT}"/etc/._cfg????_{passwd,shadow} - fi - - # Reload init to fix unmounting problems of / on next reboot. - # This is really needed, as without the new version of init cause init - # not to quit properly on reboot, and causes a fsck of / on next reboot. - if [[ ${ROOT} == / ]] && ! use build && ! use bootstrap; then - # Do not return an error if this fails - /sbin/init U &>/dev/null - - # Regenerate init.d dependency tree - /sbin/depscan.sh &>/dev/null - - # Regenerate /etc/modules.conf, else it will fail at next boot - einfo "Updating module dependencies..." - /sbin/modules-update force &>/dev/null - else - rm -f ${ROOT}/etc/modules.conf - fi - - # Enable shadow groups (we need ROOT=/ here, as grpconv only - # operate on / ...). - if [[ ${ROOT} == / && \ - ! -f /etc/gshadow && -x /usr/sbin/grpck && -x /usr/sbin/grpconv ]] - then - if /usr/sbin/grpck -r &>/dev/null; then - /usr/sbin/grpconv - else - echo - ewarn "Running 'grpck' returned errors. Please run it by hand, and then" - ewarn "run 'grpconv' afterwards!" - echo - fi - 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 version ${SV}" > ${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" - echo -} diff --git a/sys-apps/baselayout/baselayout-1.9.4-r2.ebuild b/sys-apps/baselayout/baselayout-1.9.4-r2.ebuild index 0f55da474878..2513429b1433 100644 --- a/sys-apps/baselayout/baselayout-1.9.4-r2.ebuild +++ b/sys-apps/baselayout/baselayout-1.9.4-r2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.9.4-r2.ebuild,v 1.6 2004/06/26 22:15:24 agriffis Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.9.4-r2.ebuild,v 1.7 2004/06/29 21:19:13 agriffis Exp $ inherit flag-o-matic eutils @@ -31,7 +31,8 @@ RDEPEND="${DEPEND} !build? ( !bootstrap? ( >=sys-apps/gawk-3.1.1-r2 >=sys-apps/util-linux-2.11z-r6 - ) )" + ) ) + !sys-apps/sysvinit" src_unpack() { unpack ${A} diff --git a/sys-apps/baselayout/files/digest-baselayout-1.10.1-r1 b/sys-apps/baselayout/files/digest-baselayout-1.10.1-r1 new file mode 100644 index 000000000000..222f69102d52 --- /dev/null +++ b/sys-apps/baselayout/files/digest-baselayout-1.10.1-r1 @@ -0,0 +1 @@ +MD5 12307a32cd59a8af514684476645c8df rc-scripts-1.5.1.tar.bz2 117514 diff --git a/sys-apps/baselayout/files/digest-baselayout-1.8.11 b/sys-apps/baselayout/files/digest-baselayout-1.8.11 deleted file mode 100644 index 13ade53c2816..000000000000 --- a/sys-apps/baselayout/files/digest-baselayout-1.8.11 +++ /dev/null @@ -1,2 +0,0 @@ -MD5 6ae4a8237a7e298097239e76eb7aff60 sysvinit-2.84.tar.gz 91488 -MD5 e28f6d3e2c15bce4033facbf4f96c5dd rc-scripts-1.4.9.tar.bz2 106962 diff --git a/sys-apps/baselayout/files/digest-baselayout-1.8.12 b/sys-apps/baselayout/files/digest-baselayout-1.8.12 deleted file mode 100644 index 497fc7b8f444..000000000000 --- a/sys-apps/baselayout/files/digest-baselayout-1.8.12 +++ /dev/null @@ -1,2 +0,0 @@ -MD5 6ae4a8237a7e298097239e76eb7aff60 sysvinit-2.84.tar.gz 91488 -MD5 6f8028b3debffd67e69e0b9e4488225a rc-scripts-1.4.10.tar.bz2 111354 diff --git a/sys-apps/baselayout/files/digest-baselayout-1.8.6.13 b/sys-apps/baselayout/files/digest-baselayout-1.8.6.13 deleted file mode 100644 index 6bfd9eac3d19..000000000000 --- a/sys-apps/baselayout/files/digest-baselayout-1.8.6.13 +++ /dev/null @@ -1,2 +0,0 @@ -MD5 6ae4a8237a7e298097239e76eb7aff60 sysvinit-2.84.tar.gz 91488 -MD5 58a9b21983b568dd763343e2377e2d51 rc-scripts-1.4.3.13.tar.bz2 103990 diff --git a/sys-apps/baselayout/files/digest-baselayout-1.8.6.13-r1 b/sys-apps/baselayout/files/digest-baselayout-1.8.6.13-r1 deleted file mode 100644 index e3a49ae106dc..000000000000 --- a/sys-apps/baselayout/files/digest-baselayout-1.8.6.13-r1 +++ /dev/null @@ -1,2 +0,0 @@ -MD5 6ae4a8237a7e298097239e76eb7aff60 sysvinit-2.84.tar.gz 91488 -MD5 b6a5b8fccd248faa026a6f8b6746783c rc-scripts-1.4.3.13p1.tar.bz2 104257 diff --git a/sys-apps/baselayout/files/digest-baselayout-1.9.1 b/sys-apps/baselayout/files/digest-baselayout-1.9.1 deleted file mode 100644 index cc787de990a5..000000000000 --- a/sys-apps/baselayout/files/digest-baselayout-1.9.1 +++ /dev/null @@ -1,2 +0,0 @@ -MD5 6ae4a8237a7e298097239e76eb7aff60 sysvinit-2.84.tar.gz 91488 -MD5 b6955a756c74a1cf23f19ba69590493f rc-scripts-1.4.12.tar.bz2 114204 diff --git a/sys-apps/baselayout/files/digest-baselayout-1.9.4 b/sys-apps/baselayout/files/digest-baselayout-1.9.4 deleted file mode 100644 index 5822957739e6..000000000000 --- a/sys-apps/baselayout/files/digest-baselayout-1.9.4 +++ /dev/null @@ -1,2 +0,0 @@ -MD5 6ae4a8237a7e298097239e76eb7aff60 sysvinit-2.84.tar.gz 91488 -MD5 fa35a7a6531a901233abc02ff8e991a7 rc-scripts-1.4.15.tar.bz2 110413 diff --git a/sys-apps/baselayout/files/digest-baselayout-1.9.4-r1 b/sys-apps/baselayout/files/digest-baselayout-1.9.4-r1 deleted file mode 100644 index 5822957739e6..000000000000 --- a/sys-apps/baselayout/files/digest-baselayout-1.9.4-r1 +++ /dev/null @@ -1,2 +0,0 @@ -MD5 6ae4a8237a7e298097239e76eb7aff60 sysvinit-2.84.tar.gz 91488 -MD5 fa35a7a6531a901233abc02ff8e991a7 rc-scripts-1.4.15.tar.bz2 110413 |