paul@31 | 1 | #!/bin/sh |
paul@22 | 2 | |
paul@22 | 3 | # Configuration: |
paul@22 | 4 | if [ -e userinstall-defaults ]; then |
paul@31 | 5 | . "$PWD/userinstall-defaults" |
paul@22 | 6 | elif [ -e /etc/default/userinstall ]; then |
paul@31 | 7 | . /etc/default/userinstall |
paul@22 | 8 | else |
paul@34 | 9 | echo "No defaults found for userinstall." 1>&2 |
paul@22 | 10 | exit 1 |
paul@22 | 11 | fi |
paul@22 | 12 | |
paul@34 | 13 | if [ "$1" = '--help' ]; then |
paul@34 | 14 | echo "Usage: `basename $0` [ --root ] [ <country> ]" 1>&2 |
paul@34 | 15 | elif [ "$1" = '--root' ]; then |
paul@34 | 16 | AS_ROOT="$1" |
paul@34 | 17 | AS_USER="sudo" |
paul@30 | 18 | shift 1 |
paul@25 | 19 | fi |
paul@25 | 20 | |
paul@30 | 21 | export COUNTRY="$1" |
paul@30 | 22 | |
paul@31 | 23 | THIS_DIR=`dirname "$0"` |
paul@25 | 24 | |
paul@34 | 25 | if [ ! "$PACKAGEROOT" ] || [ "$PACKAGEROOT" = '/' ]; then |
paul@34 | 26 | echo "The package root must be specified and not be set to / (the system root)." 1>&2 |
paul@34 | 27 | exit 1 |
paul@34 | 28 | fi |
paul@22 | 29 | |
paul@34 | 30 | echo "Copying host DNS configuration..." 1>&2 |
paul@34 | 31 | "$AS_USER" cp /etc/resolv.conf "$PACKAGEROOT/etc/" |
paul@34 | 32 | |
paul@34 | 33 | echo "Copying filesystems configuration..." 1>&2 |
paul@34 | 34 | "$AS_USER" cp /etc/fstab "$PACKAGEROOT/etc/" |
paul@22 | 35 | |
paul@34 | 36 | echo "Copying network configuration..." 1>&2 |
paul@34 | 37 | "$AS_USER" cp /etc/hosts "$PACKAGEROOT/etc/" |
paul@34 | 38 | "$AS_USER" cp /etc/network/interfaces "$PACKAGEROOT/etc/network/" |
paul@22 | 39 | |
paul@34 | 40 | echo "Copying package repository configuration..." 1>&2 |
paul@50 | 41 | |
paul@50 | 42 | # For installations of the same distribution, copy the host's sources list. |
paul@50 | 43 | |
paul@31 | 44 | if [ "$USERINSTALL_CODENAME" = "$DISTRIB_CODENAME" ]; then |
paul@34 | 45 | "$AS_USER" cp /etc/apt/sources.list "$PACKAGEROOT/etc/apt/" |
paul@50 | 46 | |
paul@50 | 47 | # Otherwise, attempt to make a new sources list. |
paul@50 | 48 | |
paul@22 | 49 | else |
paul@34 | 50 | echo "Attempting to generate a repository definition for $USERINSTALL_CODENAME." 1>&2 |
paul@37 | 51 | "$AS_USER" USERINSTALL_ID="$USERINSTALL_ID" USERINSTALL_CODENAME="$USERINSTALL_CODENAME" \ |
paul@37 | 52 | "$THIS_DIR/user-makesources" "$PACKAGEROOT/etc/apt/sources.list" "$COUNTRY" |
paul@25 | 53 | fi |
paul@25 | 54 | |
paul@34 | 55 | echo "Updating package details and upgrading..." 1>&2 |
paul@34 | 56 | "$THIS_DIR/user-do" $AS_ROOT apt-get update |
paul@34 | 57 | "$THIS_DIR/user-do" $AS_ROOT apt-get upgrade |
paul@25 | 58 | |
paul@50 | 59 | # Root installations also need further configuration. |
paul@50 | 60 | |
paul@30 | 61 | if [ "$AS_ROOT" ]; then |
paul@34 | 62 | echo "Configuring a root installation..." 1>&2 |
paul@34 | 63 | "$THIS_DIR/user-do" $AS_ROOT apt-get install locales console-data |
paul@34 | 64 | "$THIS_DIR/user-do" $AS_ROOT dpkg-reconfigure locales |
paul@34 | 65 | "$THIS_DIR/user-do" $AS_ROOT dpkg-reconfigure tzdata |
paul@34 | 66 | "$THIS_DIR/user-do" $AS_ROOT dpkg-reconfigure console-data |
paul@25 | 67 | fi |