# --- 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
|
|
}
|
|
|