#!/bin/sh PROGRAM=setup-alpine VERSION=@VERSION@ PREFIX= . $PREFIX/lib/libalpine.sh # Extract fully qualified domain name from current hostname. If none is # currently set, use 'my.domain'. get_fqdn() { local _dn _dn=$(hostname -f 2>/dev/null) _dn=${_dn#$(hostname -s 2>/dev/null)} _dn=${_dn#.} echo "${_dn:=my.domain}" } while getopts "ah" opt ; do case $opt in a) ARCHIVE=yes;; h) usage;; *) usage;; esac done shift `expr $OPTIND - 1` if [ "$ARCHIVE" ] ; then echo "Creating an Alpine overlay" init_tmpdir ROOT else PKGADD=apk_add fi $PREFIX/sbin/setup-keymap $PREFIX/sbin/setup-hostname $PREFIX/sbin/setup-interfaces # setup up dns if no dhcp was configured grep '^iface.*dhcp' $ROOT/etc/network/interfaces > /dev/null ||\ $PREFIX/sbin/setup-dns # set root password [ -z "$NOCOMMIT" ] && while ! passwd ; do echo "Please retry." ; done rc-update -q add networking boot # enable new hostname /etc/init.d/hostname --quiet restart # start up the services rc boot rc default # update /etc/hosts - after we have got dhcp address # Get default fully qualified domain name from *first* domain # given on *last* search or domain statement. _dn=$(sed -n \ -e '/^domain[[:space:]][[:space:]]*/{s///;s/\([^[:space:]]*\).*$/\1/;h;}' \ -e '/^search[[:space:]][[:space:]]*/{s///;s/\([^[:space:]]*\).*$/\1/;h;}' \ -e '${g;p;}' /etc/resolv.conf 2>/dev/null) _hn=$(hostname) _hn=${_hn%%.*} sed -i -e "s/^127\.0\.0\.1.*/127.0.0.1\t${_hn}.${_dn:-$(get_fqdn)} ${_hn} localhost.localdomain localhost/" /etc/hosts