mirror of the now-defunct rocklinux.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

128 lines
3.6 KiB

# --- ROCK-COPYRIGHT-NOTE-BEGIN ---
#
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
# Please add additional copyright information _after_ the line containing
# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
#
# ROCK Linux: rock-src/package/base/sysfiles/stone_mod_setup.sh
# ROCK Linux is Copyright (C) 1998 - 2006 Clifford Wolf
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version. A copy of the GNU General Public
# License can be found at Documentation/COPYING.
#
# Many people helped and are helping developing ROCK Linux. Please
# have a look at http://www.rocklinux.org/ and the Documentation/TEAM
# file for details.
#
# --- ROCK-COPYRIGHT-NOTE-END ---
#
# This module should only be executed once directly after the installation
make_fstab() {
tmp1=`mktemp` ; tmp2=`mktemp`
cat <<- EOT > $tmp2
/dev/root / auto defaults 0 0
proc /proc proc defaults 0 0
devpts /dev/pts devpts defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
/dev/bus/usb /proc/bus/usb bind bind 0 0
#tmpfs /tmp tmpfs defaults 0 0
EOT
for x in /dev/cdroms/cdrom[0-9] ; do
if [ -e $x ] ; then
trg=/mnt/${x/*\//} ; trg=${trg/cdrom0/cdrom}
mkdir -p $trg
[ -L "$x" ] && x="`readlink -f $x`"
echo "$x $trg iso9660 ro,noauto 0 0" >> $tmp2
fi
done
for x in /dev/floppy/[0-9] ; do
if [ -e $x ] ; then
trg=/mnt/floppy${x/*\//} ; trg=${trg/floppy0/floppy}
mkdir -p $trg
[ -L "$x" ] && x="`readlink -f $x`"
echo "$x $trg auto sync,noauto 0 0" >> $tmp2
fi
done
sed -e "s/ nfs [^ ]\+/ nfs rw/" < /etc/mtab | \
sed "s/ rw,/ /; s/ rw / defaults /" >> $tmp2
grep '^/dev/' /proc/swaps | cut -f1 -d' ' | \
sed 's,$, swap swap defaults 0 0,' >> $tmp2
cut -f2 -d' ' < $tmp2 | sort -u | while read dn ; do
grep " $dn " $tmp2 | tail -n 1; done > $tmp1
fsregex="$( echo -n $( ls /sbin/fsck.* | \
cut -f2- -d. ) | sed 's, ,\\|,g' )"
gawk '{ printf("%-58s %d %d\n",
sprintf("%-45s ", sprintf("%-35s ",
sprintf("%-20s ", $1) $2) $3) $4,
$5, $6); }' < $tmp1 | \
sed "/ \/[^ ].*\($fsregex\) / s, 0$, 1," > /etc/fstab
tr ' ' '\240' < /etc/fstab > $tmp1
gui_message $'Auto-created /etc/fstab file:\n\n'"$( cat $tmp1 )"
rm -f $tmp1 $tmp2
}
set_rootpw() {
if [ "$SETUPG" = dialog ] ; then
tmp1="`mktemp`" ; tmp2="`mktemp`" ; rc=0
gui_dialog --nocancel --passwordbox "Setting a root password. `
`Type password:" 8 70 > $tmp1
gui_dialog --nocancel --passwordbox "Setting a root password. `
`Retype password:" 8 70 > $tmp2
if [ -s $tmp1 ] && cmp -s $tmp1 $tmp2 ; then
echo -n "root:" > $tmp1 ; echo >> $tmp2
cat $tmp1 $tmp2 | chpasswd
else
gui_message "Password 1 and password 2 are `
`not the same" ; rc=1
fi
rm $tmp1 $tmp2
return $rc
else
passwd root
return $?
fi
}
main() {
ldconfig
export gui_nocancel=1
make_fstab
$STONE general set_keymap
while ! set_rootpw; do :; done
$STONE general set_tmarea
$STONE general set_dtime
$STONE general set_locale
$STONE general set_vcfont
# source postinstall scripts added by misc packages
for x in ${SETUPD}/setup_*.sh ; do
[ -f $x ] && . $x
done
# postinstall is called by cron.run / 00-updates - it wouldn't get
# called at all if cron isn't installed, so let's call it at lease
# once after installing / chrooting.
if [ -n "`which cron.run`" ] ; then
cron.run
else
postinstall -a
fi
unset gui_nocancel
exec $STONE
}