diff options
author | Martin Schlemmer <azarah@gentoo.org> | 2002-03-11 06:37:32 +0000 |
---|---|---|
committer | Martin Schlemmer <azarah@gentoo.org> | 2002-03-11 06:37:32 +0000 |
commit | 90854ad851b34dcc1c765715ff7a1093f42a15ee (patch) | |
tree | 7ba9a2d73f761fb6ce69748fc62c06ec845de06f /sys-apps | |
parent | remove linux-headers (diff) | |
download | gentoo-2-90854ad851b34dcc1c765715ff7a1093f42a15ee.tar.gz gentoo-2-90854ad851b34dcc1c765715ff7a1093f42a15ee.tar.bz2 gentoo-2-90854ad851b34dcc1c765715ff7a1093f42a15ee.zip |
fix depscan.sh
Diffstat (limited to 'sys-apps')
-rw-r--r-- | sys-apps/baselayout/ChangeLog | 7 | ||||
-rw-r--r-- | sys-apps/baselayout/baselayout-1.7.3-r1.ebuild | 415 | ||||
-rw-r--r-- | sys-apps/baselayout/baselayout-1.7.3-r2.ebuild | 423 | ||||
-rw-r--r-- | sys-apps/baselayout/baselayout-1.7.4-r1.ebuild (renamed from sys-apps/baselayout/baselayout-1.7.3-r3.ebuild) | 9 | ||||
-rw-r--r-- | sys-apps/baselayout/files/depscan.sh | 290 | ||||
-rw-r--r-- | sys-apps/baselayout/files/digest-baselayout-1.7.4-r1 | 1 |
6 files changed, 303 insertions, 842 deletions
diff --git a/sys-apps/baselayout/ChangeLog b/sys-apps/baselayout/ChangeLog index 4896f6dc3219..fa607a082647 100644 --- a/sys-apps/baselayout/ChangeLog +++ b/sys-apps/baselayout/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for sys-apps/baselayout # Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL -# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/ChangeLog,v 1.11 2002/03/10 23:00:28 azarah Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/ChangeLog,v 1.12 2002/03/11 06:37:32 azarah Exp $ + + 11 March 2002; Martin Schlemmer <azarah@gentoo.org> baselayout-1.7.4-r1.ebuild, + depscan.sh : + + Fix bash error if no service "provide" a virtual service. *baselayout-1.7.4 (10 March 2002) diff --git a/sys-apps/baselayout/baselayout-1.7.3-r1.ebuild b/sys-apps/baselayout/baselayout-1.7.3-r1.ebuild deleted file mode 100644 index 661fefeefff0..000000000000 --- a/sys-apps/baselayout/baselayout-1.7.3-r1.ebuild +++ /dev/null @@ -1,415 +0,0 @@ -# Copyright 1999-2002 Gentoo Technologies, Inc. -# Distributed under the terms of the GNU General Public License, v2 or later -# Maintainer: Daniel Robbins <drobbins@gentoo.org> -# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.7.3-r1.ebuild,v 1.2 2002/03/05 16:19:13 azarah Exp $ - -SV=1.2.8 -SVREV=-r1 -#sysvinit version -SVIV=2.83 -S=${WORKDIR}/rc-scripts-${SV} -S2=${WORKDIR}/sysvinit-${SVIV}/src -DESCRIPTION="Base layout for Gentoo Linux filesystem (incl. initscripts and sysvinit)" -SRC_URI="ftp://metalab.unc.edu/pub/Linux/system/daemons/init/sysvinit-${SVIV}.tar.gz" -# http://www.ibiblio.org/gentoo/distfiles/rc-scripts-${SV}.tar.bz2" -HOMEPAGE="http://www.gentoo.org" - -if [ -z "$BUILD" ] -then - DEPEND="sys-apps/kbd" -fi - -#This ebuild needs to be merged "live". You can't simply make a package of it and merge it later. - -src_unpack() { - unpack ${A} - - echo ">>> Unpacking rc-scripts-${SV}${SVREV}.tar.bz2" - tar -jxf ${FILESDIR}/rc-scripts-${SV}${SVREV}.tar.bz2 || die - - #fix CFLAGS for sysvinit stuff - cd ${S2} - cp Makefile Makefile.orig - sed -e "s:-O2:${CFLAGS}:" Makefile.orig >Makefile || die - if [ -n "`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 - -} - -src_compile() { - cp ${S}/sbin/runscript.c ${T} - cp ${S}/sbin/start-stop-daemon.c ${T} - - cd ${T} - gcc ${CFLAGS} runscript.c -o runscript || die "cant compile runscript.c" - gcc ${CFLAGS} start-stop-daemon.c -o start-stop-daemon || die "cant compile start-stop-daemon.c" - echo ${ROOT} > ${T}/ROOT - - if [ -z "`use build`" ] - then - # build sysvinit stuff - cd ${S2} - emake LDFLAGS="" || die "problem compiling sysvinit" - fi -} - -#adds ".keep" files so that dirs aren't auto-cleaned -keepdir() { - dodir $* - local x - for x in $* - do - touch ${D}/${x}/.keep - done -} - -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 we are bootstrapping, we want to merge to /dev. - if [ -z "`use build`" ] - then - if [ "$ROOT" = "/" ] && [ "`cat /proc/mounts | grep '/dev devfs'`" ] - then - #we're installing to our current system and have devfs enabled. We'll need to - #make adjustments - altmerge=1 - fi - fi -} - - -src_install() -{ - local foo - defaltmerge - keepdir /sbin - exeinto /sbin - doexe ${T}/runscript - doexe ${T}/start-stop-daemon - - keepdir /usr - keepdir /usr/bin - keepdir /usr/lib - keepdir /usr/sbin - dosbin ${S}/sbin/MAKEDEV ${S}/sbin/run-crons ${S}/sbin/update-modules - keepdir /var /var/run /var/lock/subsys - dosym ../var/tmp /usr/tmp - - keepdir /home - keepdir /usr/include /usr/src /usr/portage /usr/X11R6/include/GL - dosym ../X11R6/include/X11 /usr/include/X11 - dosym ../X11R6/include/GL /usr/include/GL - - #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 - keepdir /usr/X11R6/share - dosym ../../share/info /usr/X11R6/share/info - #end FHS compatibility symlinks stuff - - doman ${FILESDIR}/MAKEDEV.8 ${S}/man/* - dodoc ${FILESDIR}/copyright - dodoc ${S}/ChangeLog - keepdir /usr/X11R6/lib /usr/X11R6/man - keepdir /var/log/news - - #supervise stuff depreciated - #dodir /var/lib/supervise - #install -d -m0750 -o root -g wheel ${D}/var/lib/supervise/control - #install -d -m0750 -o root -g wheel ${D}/var/lib/supervise/services - #end supervise stuff - - keepdir /opt - - #the .keep file messes up Portage when looking in /var/db/pkg - dodir /var/db/pkg - keepdir /var/spool /var/tmp /var/lib/misc - chmod 1777 ${D}/var/tmp - keepdir /root - - #/proc is very likely mounted right now so a keepdir will fail on merge - dodir /proc - - chmod go-rx ${D}/root - keepdir /tmp - chmod 1777 ${D}/tmp - chmod 1777 ${D}/var/tmp - chown root.uucp ${D}/var/lock - chmod 775 ${D}/var/lock - insopts -m0644 - - insinto /etc - ln -s ../proc/filesystems ${D}/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 - chmod go-rwx ${D}/etc/shadow - keepdir /lib /mnt/floppy /mnt/cdrom - chmod go-rwx ${D}/mnt/floppy ${D}/mnt/cdrom - -# dosbin rc-update -# insinto /usr/bin -# insopts -m0755 -# doins colors - if [ $altmerge -eq 1 ] - then - #rootfs and devfs - keepdir /lib/dev-state - dosym /usr/sbin/MAKEDEV /lib/dev-state/MAKEDEV - #this is not needed anymore... - #keepdir /lib/dev-state/pts /lib/dev-state/shm - else - #normal - keepdir /dev - keepdir /lib/dev-state - keepdir /dev/pts /dev/shm - dosym /usr/sbin/MAKEDEV /dev/MAKEDEV - fi - - cd ${S}/sbin - into / - dosbin rc rc-update - - if [ -z "`use build`" ] - then - #install sysvinit stuff - cd ${S2} - 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 - - #sysvinit docs - cd ${S2}/../ - doman man/*.[1-9] - docinto sysvinit-${SVIV} - dodoc COPYRIGHT README doc/* - fi - - #env-update stuff - keepdir /etc/env.d - insinto /etc/env.d - doins ${S}/etc/env.d/00basic - - 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 - #/etc/conf.d/net.ppp* should only be readible by root -# chmod 0600 ${D}/etc/conf.d/net.ppp* - - #this seems the best place for templates .. any ideas ? - #NB: if we move this, then $TEMPLATEDIR in net.ppp0 need to be updated as well - keepdir /etc/ppp - insinto /etc/ppp - doins ${S}/etc/ppp/chat-default - - dodir /etc/init.d - exeinto /etc/init.d - for foo in ${S}/init.d/* - do - [ -f $foo ] && doexe $foo - done - #/etc/init.d/net.ppp* should only be readible by root - chmod 0600 ${D}/etc/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 - - #skip this if we are merging to ROOT - [ "$ROOT" = "/" ] && return - - #set up default runlevel symlinks - local bar - 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_postinst() { - #doing device node creation in pkg_postinst() now so they aren't recorded in CONTENTS. - #latest CVS-only version of Portage doesn't record device nodes in CONTENTS at all. - 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 - if [ ! $altmerge -eq 1 ] - then - cd ${D}/dev - #These devices are also needed by many people and should be included - echo "Making device nodes... (this could take a minute or so...)" - ${S}/sbin/MAKEDEV generic-i386 - ${S}/sbin/MAKEDEV sg - ${S}/sbin/MAKEDEV scd - ${S}/sbin/MAKEDEV rtc - ${S}/sbin/MAKEDEV audio - ${S}/sbin/MAKEDEV hde - ${S}/sbin/MAKEDEV hdf - ${S}/sbin/MAKEDEV hdg - ${S}/sbin/MAKEDEV hdh - fi - #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 - ln -sf . ${ROOT}/boot/boot >/dev/null 2>/dev/null - #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 -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 - - #rather force the install of critical files to insure that there is no - #problems. - ## add net.lo for now as well, as it is a problem case in this release. - for x in depscan.sh functions.sh runscript.sh checkroot net.lo xdm - do - rm -f ${ROOT}/etc/init.d/._cfg*_${x} - cp -f ${S}/init.d/${x} ${ROOT}/etc/init.d/ - done - mkdir -p ${ROOT}/etc/X11/ - cp -f ${S}/sbin/startDM.sh ${ROOT}/etc/X11/ - rm -f ${ROOT}/etc/._cfg*_inittab - cp -f ${S}/etc/inittab ${ROOT}/etc/ - - - #handle the ${svcdir} that changed in location - source ${ROOT}/etc/init.d/functions.sh - if [ ! -d ${ROOT}/${svcdir} ] - then - mkdir -p ${ROOT}/${svcdir} - mount -t tmpfs tmpfs ${ROOT}/${svcdir} - if [ -d ${ROOT}/dev/shm/.init.d ] - then - cp -ax ${ROOT}/dev/shm/.init.d/. ${ROOT}/${svcdir} - fi - fi - - #kill the old /dev-state directory if it exists - if [ -e /dev-state ] - then - if [ "`cat /proc/mounts |grep '/dev-state'`" ] - then - umount /dev-state >/dev/null 2>&1 - - if [ $? -eq 0 ] - then - rm -rf /dev-state - else - echo - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - echo "! Please remove /dev-state after reboot. !" - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - echo - fi - - else - rm -rf /dev-state - fi - fi - - #restart devfsd - #we dont want to restart devfsd when bootstrapping, because it will - #create unneeded entries in /lib/dev-state, which will override the - #symlinks (to /dev/sound/*, etc) and cause problems. - if [ -z "`use build`" ] - then - #force clean start of devfsd (we want it to fail on start - #when the version is < 1.3.20 to display notice ...) - if [ "`ps -A |grep devfsd`" ] - then - killall devfsd >/dev/null 2>&1 - sleep 1 - fi - - if [ -x /sbin/devfsd ] - then - /sbin/devfsd /dev >/dev/null 2>&1 - fi - - if [ $? -eq 1 ] - then - echo - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - echo "! !" - echo "! Please install devfsd-1.3.20 or later!! !" - echo "! The following should install the latest !" - echo "! version: !" - echo "! !" - echo "! emerge sys-apps/devfsd !" - echo "! !" - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - echo - fi - fi -} diff --git a/sys-apps/baselayout/baselayout-1.7.3-r2.ebuild b/sys-apps/baselayout/baselayout-1.7.3-r2.ebuild deleted file mode 100644 index 67e0f43cd2ae..000000000000 --- a/sys-apps/baselayout/baselayout-1.7.3-r2.ebuild +++ /dev/null @@ -1,423 +0,0 @@ -# Copyright 1999-2002 Gentoo Technologies, Inc. -# Distributed under the terms of the GNU General Public License, v2 or later -# Maintainer: Daniel Robbins <drobbins@gentoo.org> -# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.7.3-r2.ebuild,v 1.1 2002/03/06 21:22:09 azarah Exp $ - -SV="1.2.9" -SVREV="" -#sysvinit version -SVIV="2.83" -S=${WORKDIR}/rc-scripts-${SV} -S2=${WORKDIR}/sysvinit-${SVIV}/src -DESCRIPTION="Base layout for Gentoo Linux filesystem (incl. initscripts and sysvinit)" -SRC_URI="ftp://metalab.unc.edu/pub/Linux/system/daemons/init/sysvinit-${SVIV}.tar.gz" -# http://www.ibiblio.org/gentoo/distfiles/rc-scripts-${SV}.tar.bz2" -HOMEPAGE="http://www.gentoo.org" - -if [ -z "$BUILD" ] -then - DEPEND="sys-apps/kbd" -fi - -#This ebuild needs to be merged "live". You can't simply make a package of it and merge it later. - -src_unpack() { - unpack ${A} - - echo ">>> Unpacking rc-scripts-${SV}${SVREV}.tar.bz2" - tar -jxf ${FILESDIR}/rc-scripts-${SV}${SVREV}.tar.bz2 || die - - #fix CFLAGS for sysvinit stuff - cd ${S2} - cp Makefile Makefile.orig - sed -e "s:-O2:${CFLAGS}:" Makefile.orig >Makefile || die - if [ -n "`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 - -} - -src_compile() { - cp ${S}/sbin/runscript.c ${T} - cp ${S}/sbin/start-stop-daemon.c ${T} - - cd ${T} - gcc ${CFLAGS} runscript.c -o runscript || die "cant compile runscript.c" - gcc ${CFLAGS} start-stop-daemon.c -o start-stop-daemon || die "cant compile start-stop-daemon.c" - echo ${ROOT} > ${T}/ROOT - - if [ -z "`use build`" ] - then - # build sysvinit stuff - cd ${S2} - emake LDFLAGS="" || die "problem compiling sysvinit" - fi -} - -#adds ".keep" files so that dirs aren't auto-cleaned -keepdir() { - dodir $* - local x - for x in $* - do - touch ${D}/${x}/.keep - done -} - -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 we are bootstrapping, we want to merge to /dev. - if [ -z "`use build`" ] - then - if [ "$ROOT" = "/" ] && [ "`cat /proc/mounts | grep '/dev devfs'`" ] - then - #we're installing to our current system and have devfs enabled. We'll need to - #make adjustments - altmerge=1 - fi - fi -} - - -src_install() -{ - local foo - defaltmerge - keepdir /sbin - exeinto /sbin - doexe ${T}/runscript - doexe ${T}/start-stop-daemon - - keepdir /usr - keepdir /usr/bin - keepdir /usr/lib - keepdir /usr/sbin - dosbin ${S}/sbin/MAKEDEV ${S}/sbin/run-crons ${S}/sbin/update-modules - keepdir /var /var/run /var/lock/subsys - dosym ../var/tmp /usr/tmp - - keepdir /home - keepdir /usr/include /usr/src /usr/portage /usr/X11R6/include/GL - dosym ../X11R6/include/X11 /usr/include/X11 - dosym ../X11R6/include/GL /usr/include/GL - - #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 - keepdir /usr/X11R6/share - dosym ../../share/info /usr/X11R6/share/info - #end FHS compatibility symlinks stuff - - doman ${FILESDIR}/MAKEDEV.8 ${S}/man/* - dodoc ${FILESDIR}/copyright - dodoc ${S}/ChangeLog - keepdir /usr/X11R6/lib /usr/X11R6/man - keepdir /var/log/news - - #supervise stuff depreciated - #dodir /var/lib/supervise - #install -d -m0750 -o root -g wheel ${D}/var/lib/supervise/control - #install -d -m0750 -o root -g wheel ${D}/var/lib/supervise/services - #end supervise stuff - - keepdir /opt - - #the .keep file messes up Portage when looking in /var/db/pkg - dodir /var/db/pkg - keepdir /var/spool /var/tmp /var/lib/misc - chmod 1777 ${D}/var/tmp - keepdir /root - - #/proc is very likely mounted right now so a keepdir will fail on merge - dodir /proc - - chmod go-rx ${D}/root - keepdir /tmp - chmod 1777 ${D}/tmp - chmod 1777 ${D}/var/tmp - chown root.uucp ${D}/var/lock - chmod 775 ${D}/var/lock - insopts -m0644 - - insinto /etc - ln -s ../proc/filesystems ${D}/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 - chmod go-rwx ${D}/etc/shadow - keepdir /lib /mnt/floppy /mnt/cdrom - chmod go-rwx ${D}/mnt/floppy ${D}/mnt/cdrom - -# dosbin rc-update -# insinto /usr/bin -# insopts -m0755 -# doins colors - if [ $altmerge -eq 1 ] - then - #rootfs and devfs - keepdir /lib/dev-state - dosym /usr/sbin/MAKEDEV /lib/dev-state/MAKEDEV - #this is not needed anymore... - #keepdir /lib/dev-state/pts /lib/dev-state/shm - else - #normal - keepdir /dev - keepdir /lib/dev-state - keepdir /dev/pts /dev/shm - dosym /usr/sbin/MAKEDEV /dev/MAKEDEV - fi - - cd ${S}/sbin - into / - dosbin rc rc-update - - if [ -z "`use build`" ] - then - #install sysvinit stuff - cd ${S2} - 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 - - #sysvinit docs - cd ${S2}/../ - doman man/*.[1-9] - docinto sysvinit-${SVIV} - dodoc COPYRIGHT README doc/* - fi - - #env-update stuff - keepdir /etc/env.d - insinto /etc/env.d - doins ${S}/etc/env.d/00basic - - 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 - #/etc/conf.d/net.ppp* should only be readible by root -# chmod 0600 ${D}/etc/conf.d/net.ppp* - - #this seems the best place for templates .. any ideas ? - #NB: if we move this, then $TEMPLATEDIR in net.ppp0 need to be updated as well - keepdir /etc/ppp - insinto /etc/ppp - doins ${S}/etc/ppp/chat-default - - dodir /etc/init.d - exeinto /etc/init.d - for foo in ${S}/init.d/* - do - [ -f $foo ] && doexe $foo - done - #/etc/init.d/net.ppp* should only be readible by root - chmod 0600 ${D}/etc/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 - - #make sure our ${svcdir} exists - source ${D}/etc/init.d/functions.sh - keepdir ${svcdir} >/dev/null 2>&1 - - #skip this if we are merging to ROOT - [ "$ROOT" = "/" ] && return - - #set up default runlevel symlinks - local bar - 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_postinst() { - #doing device node creation in pkg_postinst() now so they aren't recorded in CONTENTS. - #latest CVS-only version of Portage doesn't record device nodes in CONTENTS at all. - 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 - if [ ! $altmerge -eq 1 ] - then - cd ${D}/dev - #These devices are also needed by many people and should be included - echo "Making device nodes... (this could take a minute or so...)" - ${S}/sbin/MAKEDEV generic-i386 - ${S}/sbin/MAKEDEV sg - ${S}/sbin/MAKEDEV scd - ${S}/sbin/MAKEDEV rtc - ${S}/sbin/MAKEDEV audio - ${S}/sbin/MAKEDEV hde - ${S}/sbin/MAKEDEV hdf - ${S}/sbin/MAKEDEV hdg - ${S}/sbin/MAKEDEV hdh - fi - #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 - ln -sf . ${ROOT}/boot/boot >/dev/null 2>/dev/null - #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 -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 - - #rather force the install of critical files to insure that there is no - #problems. - ## add net.lo for now as well, as it is a problem case in this release. - for x in depscan.sh functions.sh runscript.sh checkroot net.lo consolefont keymaps xdm - do - rm -f ${ROOT}/etc/init.d/._cfg*_${x} - cp -f ${S}/init.d/${x} ${ROOT}/etc/init.d/ - done - rm -f ${ROOT}/etc/._cfg*_inittab - cp -f ${S}/etc/inittab ${ROOT}/etc/ - [ "$ROOT" = "/" ] && /sbin/init Q - mkdir -p ${ROOT}/etc/X11/ - cp -f ${S}/sbin/startDM.sh ${ROOT}/etc/X11/ - - - #handle the ${svcdir} that changed in location - source ${ROOT}/etc/init.d/functions.sh - if [ ! -d ${ROOT}/${svcdir}/started/ ] - then - mkdir -p ${ROOT}/${svcdir} - mount -t tmpfs tmpfs ${ROOT}/${svcdir} - if [ -d ${ROOT}/dev/shm/.init.d ] - then - cp -ax ${ROOT}/dev/shm/.init.d/. ${ROOT}/${svcdir} - fi - fi - - #reload init to fix unmounting problems of / on next reboot - [ "$ROOT" = "/" ] && /sbin/init U - - #kill the old /dev-state directory if it exists - if [ -e /dev-state ] - then - if [ "`cat /proc/mounts |grep '/dev-state'`" ] - then - umount /dev-state >/dev/null 2>&1 - - if [ $? -eq 0 ] - then - rm -rf /dev-state - else - echo - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - echo "! Please remove /dev-state after reboot. !" - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - echo - fi - - else - rm -rf /dev-state - fi - fi - - #restart devfsd - #we dont want to restart devfsd when bootstrapping, because it will - #create unneeded entries in /lib/dev-state, which will override the - #symlinks (to /dev/sound/*, etc) and cause problems. - if [ -z "`use build`" ] - then - #force clean start of devfsd (we want it to fail on start - #when the version is < 1.3.20 to display notice ...) - if [ "`ps -A |grep devfsd`" ] - then - killall devfsd >/dev/null 2>&1 - sleep 1 - fi - - if [ -x /sbin/devfsd ] - then - /sbin/devfsd /dev >/dev/null 2>&1 - fi - - if [ $? -eq 1 ] - then - echo - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - echo "! !" - echo "! Please install devfsd-1.3.20 or later!! !" - echo "! The following should install the latest !" - echo "! version: !" - echo "! !" - echo "! emerge sys-apps/devfsd !" - echo "! !" - echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - echo - fi - fi -} diff --git a/sys-apps/baselayout/baselayout-1.7.3-r3.ebuild b/sys-apps/baselayout/baselayout-1.7.4-r1.ebuild index 8a0b72079a4a..2f6aab18f2ae 100644 --- a/sys-apps/baselayout/baselayout-1.7.3-r3.ebuild +++ b/sys-apps/baselayout/baselayout-1.7.4-r1.ebuild @@ -1,9 +1,9 @@ # Copyright 1999-2002 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License, v2 or later # Maintainer: Daniel Robbins <drobbins@gentoo.org> -# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.7.3-r3.ebuild,v 1.3 2002/03/07 00:11:43 azarah Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/baselayout-1.7.4-r1.ebuild,v 1.1 2002/03/11 06:37:32 azarah Exp $ -SV="1.2.9" +SV="1.3.0" SVREV="" #sysvinit version SVIV="2.83" @@ -46,6 +46,9 @@ src_unpack() { echo ">>> Unpacking rc-scripts-${SV}${SVREV}.tar.bz2" tar -jxf ${FILESDIR}/rc-scripts-${SV}${SVREV}.tar.bz2 || die + + #fix depscan bug + cp -f ${FILESDIR}/depscan.sh ${S}/init.d/ #fix CFLAGS for sysvinit stuff cd ${S2} @@ -356,7 +359,7 @@ EOF #rather force the install of critical files to insure that there is no #problems. ## add net.lo for now as well, as it is a problem case in this release. - for x in depscan.sh functions.sh runscript.sh checkroot net.lo consolefont keymaps xdm + for x in depscan.sh functions.sh runscript.sh checkroot net.eth0 net.lo consolefont keymaps xdm do rm -f ${ROOT}/etc/init.d/._cfg*_${x} cp -f ${S}/init.d/${x} ${ROOT}/etc/init.d/ diff --git a/sys-apps/baselayout/files/depscan.sh b/sys-apps/baselayout/files/depscan.sh new file mode 100644 index 000000000000..caa95b59c05c --- /dev/null +++ b/sys-apps/baselayout/files/depscan.sh @@ -0,0 +1,290 @@ +#!/bin/bash +# Copyright 1999-2002 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License, v2 or later +# $Header: /var/cvsroot/gentoo-x86/sys-apps/baselayout/files/depscan.sh,v 1.1 2002/03/11 06:37:32 azarah Exp $ + + +source /etc/init.d/functions.sh + +if [ ! -d ${svcdir} ] +then + install -d -m0755 ${svcdir} +fi +for x in softscripts cache snapshot options broken started provide ${deptypes} ${ordtypes} +do + if [ ! -d ${svcdir}/${x} ] + then + install -d -m0755 ${svcdir}/${x} + if [ "$?" -ne 0 ] + then + #there is a problem creating the directories, so quit with fail + #status + exit 1 + fi + fi +done + +#call: depend_dbadd dep_type service deps.... +depend_dbadd() { + local mytype="${1}" + local myservice="${2}" + local x="" + shift 2 + for x in $* + do + if [ ! -e ${svcdir}/cache/${myservice}.depend ] + then + continue + fi + if [ ! -e ${svcdir}/cache/${x}.depend ] + then + #handle 'need', as it is the only dependency type that + #should handle invalid database entries currently. The only + #other type of interest is 'pretend' which *should* add + #invalid database entries (no virtual depend should ever + #actually have a matching rc-script). + if [ "${mytype}" = "need" ] && \ + [ ! -d ${svcdir}/provide/${x} ] && \ + [ "${x}" != "net" ] + then + ewarn "NEED: can't find service \"${x}\" needed by \"${myservice}\";" + ewarn " continuing..." + + #$myservice is broken due to missing 'need' dependancies + if [ ! -d ${svcdir}/broken/${myservice} ] + then + install -d -m0755 ${svcdir}/broken/${myservice} + fi + if [ ! -e ${svcdir}/broken/${myservice}/${x} ] + then + touch ${svcdir}/broken/${myservice}/${x} + fi + continue + elif [ "${mytype}" != "provide" ] && \ + [ ! -d ${svcdir}/provide/${x} ] && \ + [ "${x}" != "net" ] + then + continue + fi + fi + + #ugly bug ... if a service depends on itself, it creates + #a 'mini fork bomb' effect, and breaks things... + if [ "${x}" = "${myservice}" ] + then + #dont work too well with the '*' use and need + if [ "${mytype}" != "before" ] && [ "${mytype}" != "after" ] + then + ewarn "DEPEND: service \"${x}\" can't depend on itself;" + ewarn " continuing..." + fi + continue + fi + + if [ ! -d ${svcdir}/${mytype}/${x} ] + then + install -d -m0755 ${svcdir}/${mytype}/${x} + fi + + if [ ! -L ${svcdir}/${mytype}/${x}/${myservice} ] + then + ln -sf /etc/init.d/${myservice} ${svcdir}/${mytype}/${x}/${myservice} + fi + done +} + +check_rcscript() { + [ ! -e ${1} ] && return 1 + + [ "${1##*.}" = "sh" ] && return 1 + [ "${1##*.}" = "c" ] && return 1 + + local IFS='!' + local hash="" + local shell="" + (cat ${1}) | { read hash shell + if [ "${hash}" = "#" ] && [ "${shell}" = "/sbin/runscript" ] + then + return 0 + else + return 1 + fi + } +} + +cache_depend() { + [ ! -e ${1} ] && return 1 + + #the cached file should not be empty + echo "echo foo >/dev/null 2>&1" > ${svcdir}/cache/${1##*/}.depend + + local myline="" + local dowrite=1 + (cat ${1}) | { while read myline + do + if [ "${myline/depend*()/}" != "${myline}" ] + then + dowrite=0 + fi + if [ "${dowrite}" -eq 0 ] + then + echo "${myline}" >> ${svcdir}/cache/${1##*/}.depend + fi + if [ "${myline/\}/}" != "${myline}" ] && [ "${dowrite}" -eq 0 ] + then + dowrite=1 + break + fi + done + } + return 0 +} + +need() { + NEED="${*}" +} + +use() { + USE="${*}" +} + +before() { + BEFORE="${*}" +} + +after() { + AFTER="${*}" +} + +provide() { + PROVIDE="${*}" +} + +ebegin "Caching service dependencies" + +#cleanup and fix a problem with 'for x in foo/*' if foo/ is empty +rm -rf ${svcdir}/need/* +rm -rf ${svcdir}/use/* +rm -rf ${svcdir}/before/* +rm -rf ${svcdir}/after/* +rm -rf ${svcdir}/broken/* +rm -rf ${svcdir}/provide/* +rm -rf ${svcdir}/cache/* + +#for the '*' need and use types to work +pushd /etc/init.d &>/dev/null + +#first cache the depend lines, and calculate all the provides +for x in $(dolisting /etc/init.d/) +do + check_rcscript ${x} || continue + + #set to "" else we get problems + PROVIDE="" + + myservice="${x##*/}" + depend() { + PROVIDE="" + return + } + cache_depend ${x} + wrap_rcscript ${svcdir}/cache/${myservice}.depend || { + einfo "ERROR: ${x} has syntax errors in it, please fix this before" + einfo " trying to execute this script..." + einfo "NOTE: the dependancies for this script has not been calculated!" + continue + } + depend + if [ -n "${PROVIDE}" ] + then + depend_dbadd provide "${myservice}" ${PROVIDE} + fi +done + +#now do the rest +for x in $(dolisting /etc/init.d/) +do + [ ! -e ${svcdir}/cache/${x##*/}.depend ] && continue + + #set to "" else we get problems + NEED="" + USE="" + BEFORE="" + AFTER="" + + myservice="${x##*/}" + depend() { + NEED="" + USE="" + BEFORE="" + AFTER="" + return + } + #we already warn about the error in the provide loop + wrap_rcscript "${svcdir}/cache/${myservice}.depend" || continue + depend + if [ -n "${NEED}" ] + then + depend_dbadd need "${myservice}" ${NEED} + fi + if [ -n "${USE}" ] + then + depend_dbadd use "${myservice}" ${USE} + fi + if [ -n "${BEFORE}" ] + then + depend_dbadd before "${myservice}" ${BEFORE} + for y in ${BEFORE} + do + depend_dbadd after "${y}" "${myservice}" + done + fi + if [ -n "${AFTER}" ] + then + depend_dbadd after "${myservice}" ${AFTER} + for y in ${AFTER} + do + depend_dbadd before "${y}" "${myservice}" + done + fi +done + +#resolve provides +dblprovide="no" +for x in $(dolisting ${svcdir}/provide/) +do + for mytype in ${deptypes} + do + if [ -d ${svcdir}/${mytype}/${x##*/} ] + then + for y in $(dolisting ${svcdir}/${mytype}/${x##*/}/) + do + depend_dbadd "${mytype}" "${y##*/}" $(ls ${x}) + done + rm -rf ${svcdir}/${mytype}/${x##*/} + fi + done + + counter=0 + for y in $(dolisting ${x}) + do + counter=$((counter + 1)) + done + if [ "${counter}" -gt 1 ] && [ "${x##*/}" != "net" ] + then + dblprovide="yes" + errstr="${x##*/}" + fi +done +if [ "${dblprovide}" = "yes" ] +then + ewarn "PROVIDE: it usually is not a good idea to have more than one" + ewarn " service providing the same virtual service (${errstr})!" +fi + +popd &>/dev/null + +eend + + +# vim:ts=4 diff --git a/sys-apps/baselayout/files/digest-baselayout-1.7.4-r1 b/sys-apps/baselayout/files/digest-baselayout-1.7.4-r1 new file mode 100644 index 000000000000..61806b06ce6f --- /dev/null +++ b/sys-apps/baselayout/files/digest-baselayout-1.7.4-r1 @@ -0,0 +1 @@ +MD5 b534cbb5bfdd1ed0fb08ec10757dd741 sysvinit-2.83.tar.gz 90334 |