From 2aa9f867e01781674c0044a653302c25c4fe0c45 Mon Sep 17 00:00:00 2001 From: Sebastian Schmelzer Date: Thu, 26 May 2011 17:30:32 +0200 Subject: fix hostname / resolv.conf generation --- VERSIONS | 2 +- src/initramfs/scripts/bin/dhcpmkconfig | 8 ++++++-- src/initramfs/scripts/bin/servconfig | 25 +++++++++++++++++++------ 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/VERSIONS b/VERSIONS index 3dc3f6f5..55c9bd0b 100644 --- a/VERSIONS +++ b/VERSIONS @@ -1,5 +1,5 @@ OPENSLX_VERSION_MAJOR="5" OPENSLX_VERSION_MINOR="0" -OPENSLX_VERSION_RELEASE="1" +OPENSLX_VERSION_RELEASE="5" OPENSLX_VERSION_STRING="${OPENSLX_VERSION_MAJOR}.${OPENSLX_VERSION_MINOR}.${OPENSLX_VERSION_RELEASE}${OPENSLX_VERSION_BUILD}" diff --git a/src/initramfs/scripts/bin/dhcpmkconfig b/src/initramfs/scripts/bin/dhcpmkconfig index 1c6bc1e7..881a9335 100755 --- a/src/initramfs/scripts/bin/dhcpmkconfig +++ b/src/initramfs/scripts/bin/dhcpmkconfig @@ -36,16 +36,20 @@ set | sed \ -e "s,domain,domain_name,;s,dns,domain_name_servers," \ -e "s,broadcast,broadcast_address,;s,dhc.*,,;/^$/d" \ -e "s,nissrv,nis_servers,;s,nisdomain_name,nis_domain," \ + -e "s,search,domain_search," \ -e "s,wins,netbios_name_servers,;/OPTIND.*/d" >>/tmp/confviadhcp # generate a local /etc/resolv.conf (might overwrite the version from preboot) +[ -n "$domain" ] && echo -e "domain $domain\n" >/etc/resolv.conf if [ -n "$search" ]; then - echo "search $search\n" >/etc/resolv.conf + echo "search $search\n" >>/etc/resolv.conf else - [ -n "$domain" ] && echo -e "search $domain\n" >/etc/resolv.conf + [ -n "$domain" ] && echo -e "search $domain\n" >>/etc/resolv.conf fi test -n "$dns" && { for name in $dns; do echo nameserver $name >>/etc/resolv.conf; done; } +#generate local /etc/hostname +echo $hostname.$domain > /etc/hostname diff --git a/src/initramfs/scripts/bin/servconfig b/src/initramfs/scripts/bin/servconfig index 1248918e..8866d91e 100755 --- a/src/initramfs/scripts/bin/servconfig +++ b/src/initramfs/scripts/bin/servconfig @@ -123,15 +123,28 @@ else fi # set up domainname and resolving rm -rf /mnt/etc/resolv.conf -test -n "${domain_name}" && \ - echo -e "# /etc/resolv.conf - file generated by\n#\t$0:\n\ -#\t${date}\n#options timeout:1 attempts:1 rotate\n\ -search "${domain_name} >/mnt/etc/resolv.conf -test -n "${domain_name_servers}" && { + +out=/mnt/etc/resolv.conf +echo -e "# /etc/resolv.conf - file generated by\n#\t$0:\n\ +#\t${date}\n#options timeout:1 attempts:1 rotate" > $out + +[ -n ${domain_name} ] && echo -e "domain ${domain_name}" >> $out +[ -n ${domain_search} ] && echo -e "search ${domain_search}" >> $out +#fallback +[ ! -n ${domain_search} ] && [ -n ${domain_name} ] && \ + echo -e "search ${domain_name}" >> $out + +[ -n "${domain_name_servers}" ] && { for name in ${domain_name_servers}; do - echo nameserver ${name} >>/mnt/etc/resolv.conf; + echo nameserver ${name} >> $out; done; } +unset out + +# create hostname file +[ -n ${host_name} ] && [ -n ${domain_name} ] && \ + echo "${host_name}.${domain_name}" > /mnt/etc/hostname + ############################################################################# # run distro specific configuration function config_distro -- cgit v1.2.3-55-g7522