Changeset 2471
- Timestamp:
- 01/23/07 17:41:03 (2 years ago)
- Files:
-
- trunk/distrib/Makefile.am (modified) (1 diff)
- trunk/distrib/gentoo/initpost (modified) (4 diffs)
- trunk/distrib/gentoo/initpre (modified) (2 diffs)
- trunk/distrib/gentoo/net.vserver (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/distrib/Makefile.am
r2360 r2471 34 34 gentoo/initpost \ 35 35 gentoo/initpre \ 36 gentoo/init-vserver.sh 36 gentoo/init-vserver.sh \ 37 gentoo/net.vserver 37 38 38 39 nobase_distrib_DATA = defaults/devs \ trunk/distrib/gentoo/initpost
r2465 r2471 18 18 ## Called as: initpost <cfgdir> <path of util-vserver-vars> 19 19 20 # finish notice from initpre 21 echo "ok" 22 23 24 #setup environment 20 25 cfgdir="$1" 21 26 vdir="$cfgdir"/vdir 22 27 . "$2" 23 28 29 30 # go to vdir for chroot-sh 31 pushd "$vdir" &>/dev/null 32 33 34 # helper for sed in chroot 35 chrootsed() { 36 local file="$1" 37 shift 38 39 sedtmp=$($_MKTEMP chrootsed.XXXXXX) 40 41 $_CHROOT_SH cat "$file" | $_SED "$@" > $sedtmp 42 $_CHROOT_SH truncate "$file" < $sedtmp 43 44 $_RM -f $sedtmp 45 } 46 47 24 48 # portage stuff 25 pushd "$vdir" &>/dev/null26 49 $_CHROOT_SH mkdir /usr 2>/dev/null || : 27 50 $_CHROOT_SH mkdir /usr/portage 2>/dev/null || : 28 popd &>/dev/null29 51 30 52 … … 34 56 35 57 if test "$initstyle" == "gentoo"; then 36 pushd "$vdir" &>/dev/null37 38 58 echo ">>> Installing special init-style magic ... " 39 59 … … 41 61 $_CHROOT_SH truncate /lib/rcscripts/sh/init-vserver.sh 42 62 $_CHROOT_SH chmod 0755 /lib/rcscripts/sh/init-vserver.sh 43 44 popd &>/dev/null45 63 46 64 echo "!!!" … … 56 74 57 75 # unneeded runlevel scripts 58 pushd "$vdir" &>/dev/null59 76 echo ">>> Fixing default runlevel scripts ... " 60 77 $_CHROOT_SH rm /etc/runlevels/boot/{clock,consolefont,keymaps,modules,net.lo} 2>/dev/null || : 61 78 $_CHROOT_SH rm /etc/runlevels/default/{hdparm,netmount} 2>/dev/null || : 62 popd &>/dev/null63 79 64 80 65 81 # setting hostname 66 pushd "$vdir" &>/dev/null67 68 82 if test -r "$cfgdir"/uts/nodename && $_CHROOT_SH testfile /etc/conf.d/hostname; then 69 83 echo ">>> Setting hostname ... " 70 hostnametmp=$($_MKTEMP hostname.XXXXXX) 71 72 $_CHROOT_SH cat /etc/conf.d/hostname | \ 73 $_SED "s:HOSTNAME=\"\(.*\)\":HOSTNAME=\"$(< "$cfgdir"/uts/nodename)\":" > $hostnametmp 74 $_CHROOT_SH truncate /etc/conf.d/hostname < $hostnametmp 75 76 $_RM -f $hostnametmp 84 chrootsed /etc/conf.d/hostname \ 85 -e "s:HOSTNAME=\"\(.*\)\":HOSTNAME=\"$(< "$cfgdir"/uts/nodename)\":" 77 86 fi 78 87 79 popd &>/dev/null80 88 81 82 # check for baselayout >= 1.13 83 pushd "$vdir" &>/dev/null 84 basever=$($_CHROOT_SH cat /etc/gentoo-release | $_AWK '{print $5}') 85 popd &>/dev/null 86 87 echo ">>> Found baselayout-$basever" 88 89 basemaj=${basever/.*} 90 basemin=${basever#*.} 91 basemin=${basemin/.*} 92 93 if test "$basemaj" -lt 1 -o "$basemin" -lt 13; then 94 echo "!!! Will not do automagic changes to baselayout < 1.13" 95 echo "!!! You have to take care for yourself ..." 96 exit 0 89 # fix syslog-ng.conf 90 if $_CHROOT_SH testfile /etc/syslog-ng/syslog-ng.conf; then 91 echo ">>> Fixing syslog-ng.conf ... " 92 chrootsed /etc/syslog-ng/syslog-ng.conf \ 93 -e 's:pipe("/proc/kmsg"); ::' \ 94 -e 's:\(.*console_all.*\):#\1:g' 97 95 fi 98 96 99 97 100 98 # fix gettys in inittab 101 pushd "$vdir" &>/dev/null102 103 99 if $_CHROOT_SH testfile /etc/inittab; then 104 100 echo ">>> Fixing inittab ... " 105 inittabtmp=$($_MKTEMP inittab.XXXXXX) 106 107 $_CHROOT_SH cat /etc/inittab | \ 108 $_SED 's/\(^[^#].*getty.*$\)/#\1/' > $inittabtmp 109 $_CHROOT_SH truncate /etc/inittab < $inittabtmp 110 111 $_RM -f $inittabtmp 101 chrootsed /etc/inittab \ 102 -e 's/\(^[^#].*getty.*$\)/#\1/' 112 103 fi 113 104 114 popd &>/dev/null 105 106 # fix fstab for checkfs/localmount in baselayout >= 1.13 107 # (does not affect any previous versions) 108 echo ">>> Fixing fstab ... " 109 echo "/dev/hdv1 / ufs defaults 0 0" | $_CHROOT_SH truncate /etc/fstab 115 110 116 111 117 # fix fstab for checkfs/localmount 118 pushd "$vdir" &>/dev/null 119 echo ">>> Fixing fstab ... " 120 echo "/dev/hdv1 / ufs defaults 0 0" | $_CHROOT_SH truncate /etc/fstab 112 # always satisfy net dependency in baselayout >= 1.13 113 # (does not affect any previous versions) 114 echo ">>> Providing dummy net dependency ... " 115 $_CAT "$__DISTRIBDIR"/gentoo/net.vserver | \ 116 $_CHROOT_SH truncate /etc/init.d/net.vserver 117 $_CHROOT_SH chmod 0755 /etc/init.d/net.vserver 118 121 119 popd &>/dev/null trunk/distrib/gentoo/initpre
r2360 r2471 22 22 23 23 # portage stuff 24 25 24 echo ">>> Adding shared /usr/portage to fstab ... " 26 25 27 if test -d /usr/portage; then 26 hash portageq &>/dev/null 27 28 if test $? -eq 0; then 29 _PORTDIR=$(portageq portdir) 30 else 31 _PORTDIR=/usr/portage 32 fi 33 34 if test -d $_PORTDIR; then 28 35 ( echo 29 36 echo "# shared portage tree" 30 echo " /usr/portage/usr/portage none bind,ro 0 0"31 echo " /usr/portage/distfiles /usr/portage/distfiles none bind,rw 0 0"37 echo "${_PORTDIR} /usr/portage none bind,ro 0 0" 38 echo "${_PORTDIR}/distfiles /usr/portage/distfiles none bind,rw 0 0" 32 39 ) >> "$1"/fstab 33 40 else 34 echo "!!! Cannot find /usr/portage! You should definitely use a"41 echo "!!! Cannot find a portage tree! You should definitely use a" 35 42 echo "!!! shared portage tree if you have multiple Gentoo guests!" 36 43 fi … … 47 54 echo "!!! Please use one of: plain, gentoo" 48 55 fi 56 57 echo -n ">>> Unpacking template ... "
