Fix resolving FQDN given by DHCP
[live-boot-grml.git] / backend / initramfs-tools / live.hook
index 761849e..1817814 100755 (executable)
@@ -53,12 +53,16 @@ do
 done
 
 # udev dependencies
-for FILE in /lib/udev/*_id
-do
-       copy_exec "${FILE}"
-done
+if [ "${MINIMAL:-}" != "true" ] &&  [ "${MINIMAL:-}" != "yes" ]
+then
+       for FILE in /lib/udev/*_id
+       do
+               copy_exec "${FILE}"
+       done
+fi
 
-if [ -e /lib/udev/rules.d/60-cdrom_id.rules ]
+if [ -e /lib/udev/rules.d/60-cdrom_id.rules ] && [ "${DISABLE_CDROM:-}" != "true" ] && \
+       [ "${DISABLE_CDROM:-}" != "yes" ]
 then
        mkdir -p "${DESTDIR}/lib/udev/rules.d"
        cp -p /lib/udev/rules.d/60-cdrom_id.rules "${DESTDIR}/lib/udev/rules.d"
@@ -103,7 +107,7 @@ manual_add_modules hfsplus
 # Filesystem: jffs2
 manual_add_modules jffs2
 
-if [ -x /usr/bin/rsync ]
+if [ -x /usr/bin/rsync ] && [ "${MINIMAL:-}" != "true" ] && [ "${MINIMAL:-}" != "yes" ]
 then
        copy_exec /usr/bin/rsync /bin
 fi
@@ -120,25 +124,37 @@ manual_add_modules aufs
 manual_add_modules overlay
 
 # Filesystem: vfat
-manual_add_modules nls_cp437
-manual_add_modules nls_iso8859-1
-manual_add_modules nls_utf8
-manual_add_modules nls_ascii
-manual_add_modules vfat
+if [ "${DISABLE_FAT:-}" != "true" ] &&  [ "${DISABLE_FAT:-}" != "yes" ]
+then
+       manual_add_modules nls_cp437
+       manual_add_modules nls_iso8859-1
+       manual_add_modules nls_utf8
+       manual_add_modules nls_ascii
+       manual_add_modules vfat
+fi
 
 # Filesystem: ntfs
-manual_add_modules ntfs
+if [ "${DISABLE_NTFS:-}" != "true" ] && [ "${DISABLE_NTFS:-}" != "yes" ]
+then
+       manual_add_modules ntfs
+fi
 
 [ "${QUIET}" ] || echo -n " devices"
 # Hardware: cdrom
-manual_add_modules ide-cd
-manual_add_modules ide-generic
-manual_add_modules ohci1394
-manual_add_modules sbp2
-manual_add_modules sr_mod
+if [ "${DISABLE_CDROM:-}" != "true" ] && [ "${DISABLE_CDROM:-}" != "yes" ]
+then
+       manual_add_modules ide-cd
+       manual_add_modules ide-generic
+       manual_add_modules ohci1394
+       manual_add_modules sbp2
+       manual_add_modules sr_mod
+fi
 
 # Hardware: usb
-manual_add_modules sd_mod
+if [ "${DISABLE_USB:-}" != "true" ] && [ "${DISABLE_USB:-}" != "yes" ]
+then
+       manual_add_modules sd_mod
+fi
 
 # Hardware: network
 auto_add_modules net
@@ -149,10 +165,6 @@ then
        copy_exec /usr/bin/eject /bin
 fi
 
-# Program: mount
-# fuse does not work with klibc mount
-copy_exec /bin/mount /bin/mount.util-linux
-
 [ "${QUIET}" ] || echo -n " utils"
 
 # Feature: Verify Checksums
@@ -187,24 +199,27 @@ then
 fi
 
 # FUSE kernel module
-manual_add_modules fuse
-
-# FUSE filesystem: httpfs2
-if [ -x /usr/bin/httpfs2_ssl ]
-then
-       [ "${QUIET}" ] || echo -n " httpfs:ssl"
-       copy_exec /usr/bin/httpfs2_ssl /bin/httpfs
-elif [ -x /usr/bin/httpfs2 ]
+if [ "${DISABLE_FUSE:-n}" != "true" ] && [ "${DISABLE_FUSE:-n}" != "yes" ]
 then
-       [ "${QUIET}" ] || echo -n " httpfs"
-       copy_exec /usr/bin/httpfs2 /bin/httpfs
-fi
+       manual_add_modules fuse
 
-# FUSE filesystem: curlftpfs
-if [ -x /usr/bin/curlftpfs ]
-then
-       [ "${QUIET}" ] || echo -n " ftpfs"
-       copy_exec /usr/bin/curlftpfs /bin
+       # FUSE filesystem: httpfs2
+       if [ -x /usr/bin/httpfs2_ssl ]
+       then
+               [ "${QUIET}" ] || echo -n " httpfs:ssl"
+               copy_exec /usr/bin/httpfs2_ssl /bin/httpfs
+       elif [ -x /usr/bin/httpfs2 ]
+       then
+               [ "${QUIET}" ] || echo -n " httpfs"
+               copy_exec /usr/bin/httpfs2 /bin/httpfs
+       fi
+
+       # FUSE filesystem: curlftpfs
+       if [ -x /usr/bin/curlftpfs ]
+       then
+               [ "${QUIET}" ] || echo -n " ftpfs"
+               copy_exec /usr/bin/curlftpfs /bin
+       fi
 fi
 
 # iSCSI
@@ -225,13 +240,15 @@ fi
 # /lib/libnss_files.so.*:  /etc/hosts and /etc/passwd
 # /lib/libnss_compat.so.*: /etc/passwd
 
-for _SHLIB in $(find /lib -name 'libnss_dns.so.*')
+for _SHLIB in $(find /lib -name 'libnss_dns.so.*' -o -name 'libnss_files.so.*')
 do
        copy_exec "${_SHLIB}"
 done
 
-# might be needed if /etc/hosts is used
-#mkdir -p "${DESTDIR}/etc"
-#cp -p /etc/nsswitch.conf "${DESTDIR}/etc"
+if [ ! -e "${DESTDIR}/etc/nsswitch.conf" ]
+then
+       # Needed to make "hostname -f" honor the domainname provided by DHCP
+       echo "hosts: files dns" > "${DESTDIR}/etc/nsswitch.conf"
+fi
 
 [ "${QUIET}" ] || echo .