From: Michael Prokop Date: Thu, 13 Dec 2018 15:14:39 +0000 (+0100) Subject: Minimize delta to Debian's upstream/master X-Git-Tag: debian/1%20180603+grml.1~3 X-Git-Url: http://git.grml.org/?p=live-boot-grml.git;a=commitdiff_plain;h=c8a5e53447ded45ce385a3a6a5c20adb834763c5 Minimize delta to Debian's upstream/master Sync as much as possible with what Debian uses, to make merging against upstream easy and be as close to Debian's behavior as possible. Changes synced from Debian upstream: * xz compression is the default nowadays with gbp * the FIXME file (debian/lib/live/boot/FIXME) no longer exists * Recommends for eject + file aren't relevant within live-boot * Don't re-implement initramfs-tools' log_failure_msg + log_warning_msg, use their common behavior instead * Debian's ip=... handling supports setting nameserver via its 5th field * Drop our ip=... handling with copying complete ip=args into STATICIP variable, this doesn't work as expected with the current code Remaining changes where we diverge from Debian: * custom bootid=... + ignore_bootid handling * support nodhcphostname boot option * support vlan=... boot option * display Grml specific information on boot failures * support /etc/grml_version * custom network handling via Grml_Networking * we don't support images directly on block devices in find_livefs(), since this might raise unexpected behavior in data rescue/forensic use cases --- diff --git a/components/9990-cmdline-old b/components/9990-cmdline-old index c896bbb..6ac6eb5 100755 --- a/components/9990-cmdline-old +++ b/components/9990-cmdline-old @@ -39,13 +39,14 @@ Cmdline_old () nodhcp) DHCP="" export DHCP - NODHCP="Yes" + NODHCP="true" export NODHCP ;; ethdevice=*) - ETHDEVICE="${_PARAMETER#ethdevice=}" - export ETHDEVICE + DEVICE="${_PARAMETER#ethdevice=}" + ETHDEVICE="${DEVICE}" + export DEVICE ETHDEVICE ;; ethdevice-timeout=*) @@ -102,9 +103,13 @@ Cmdline_old () ;; ip=*) - # copy complete ip=args into staticip, and - # keep multiple uses. - STATICIP="${STATICIP} ${_PARAMETER}" + STATICIP="${_PARAMETER#ip=}" + + if [ -z "${STATICIP}" ] + then + STATICIP="frommedia" + fi + export STATICIP ;; diff --git a/components/9990-initramfs-tools.sh b/components/9990-initramfs-tools.sh index cdb00db..e6b4282 100755 --- a/components/9990-initramfs-tools.sh +++ b/components/9990-initramfs-tools.sh @@ -2,17 +2,6 @@ #set -e -# we definitely want this stuff visible -log_failure_msg() -{ - printf "Failure: $@\n" -} - -log_warning_msg() -{ - printf "Warning: $@\n" -} - log_wait_msg () { # Print a message and wait for enter diff --git a/components/9990-netbase.sh b/components/9990-netbase.sh index 550a2b8..bae858a 100755 --- a/components/9990-netbase.sh +++ b/components/9990-netbase.sh @@ -45,6 +45,7 @@ EOF ifaddress="$(echo ${ifline} | cut -f2 -d ':')" ifnetmask="$(echo ${ifline} | cut -f3 -d ':')" ifgateway="$(echo ${ifline} | cut -f4 -d ':')" + nameserver="$(echo ${ifline} | cut -f5 -d ':')" cat >> "${IFFILE}" << EOF allow-hotplug ${ifname} @@ -62,6 +63,17 @@ cat >> "${IFFILE}" << EOF EOF fi + + if [ -n "${nameserver}" ] + then + if [ -e "${DNSFILE}" ] + then + grep -v ^nameserver "${DNSFILE}" > "${DNSFILE}.tmp" + mv "${DNSFILE}.tmp" "${DNSFILE}" + fi + + echo "nameserver ${nameserver}" >> "${DNSFILE}" + fi done else if [ -n "${NODHCP}" ] diff --git a/components/9990-select-eth-device.sh b/components/9990-select-eth-device.sh index 133d4b1..c8f36b0 100755 --- a/components/9990-select-eth-device.sh +++ b/components/9990-select-eth-device.sh @@ -49,32 +49,21 @@ Select_eth_device () return fi - # If user force to use specific device, write it - for ARGUMENT in ${LIVE_BOOT_CMDLINE} - do - case "${ARGUMENT}" in - live-netdev=*) - NETDEV="${ARGUMENT#live-netdev=}" - # net device could be specified by MAC address - hex="[0-9A-Fa-f][0-9A-Fa-f]" - case "${NETDEV}" in - ${hex}:${hex}:${hex}:${hex}:${hex}:${hex}) - # MAC address; record it and select later - netdev_mac_addr="${NETDEV}" - ;; - *) - # interface name - echo "DEVICE=$NETDEV" >> /conf/param.conf - echo "Found live-netdev parameter, forcing to to use network device $NETDEV." - return - ;; - esac - ;; - esac - done - else - l_interfaces="$DEVICE" - fi + # If user force to use specific device, write it + for ARGUMENT in ${LIVE_BOOT_CMDLINE} + do + case "${ARGUMENT}" in + live-netdev=*) + NETDEV="${ARGUMENT#live-netdev=}" + echo "DEVICE=$NETDEV" >> /conf/param.conf + echo "Found live-netdev parameter, forcing to to use network device $NETDEV." + return + ;; + esac + done + else + l_interfaces="$DEVICE" + fi found_eth_dev="" while true @@ -90,40 +79,30 @@ Select_eth_device () echo '' - for step in 1 2 3 4 5 - do - for interface in $l_interfaces - do - if [ -z "$netdev_mac_addr" ]; then - carrier=$(cat /sys/class/net/$interface/carrier \ - 2>/dev/null) - # link detected + for step in 1 2 3 4 5 + do + for interface in $l_interfaces + do + carrier=$(cat /sys/class/net/$interface/carrier \ + 2>/dev/null) + # link detected - case "${carrier}" in - 1) - echo "Connected $interface found" - # inform initrd's init script : - found_eth_dev="$found_eth_dev $interface" - ;; - esac - else - # MAC addr given, check for that - mac_addr=$(ifconfig "$interface" \ - | grep HWaddr \ - | { read _ _ _ _ mac_addr; echo $mac_addr; }) - if [ "$mac_addr" = "$netdev_mac_addr" ]; then - found_eth_dev="$interface" - fi - fi - done - if [ -n "$found_eth_dev" ] - then - echo "DEVICE='$found_eth_dev'" >> /conf/param.conf - return - else - # wait a bit - sleep 1 - fi - done - done + case "${carrier}" in + 1) + echo "Connected $interface found" + # inform initrd's init script : + found_eth_dev="$found_eth_dev $interface" + ;; + esac + done + if [ -n "$found_eth_dev" ] + then + echo "DEVICE='$found_eth_dev'" >> /conf/param.conf + return + else + # wait a bit + sleep 1 + fi + done + done } diff --git a/debian/changelog b/debian/changelog index 2e3fddc..8f30613 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1669,7 +1669,7 @@ live-boot (3.0~a19-1+grml.00) unstable; urgency=low * [86ca4d5] Remove old manpage live-snapshot.it.1.txt * [7fb9e91] Support comma delimited devices in live-media-path * [6b21c57] Depend on the same live-boot-initramfs-tools/live-boot-backend version. - + [ Christian Hofstaedtler ] * Rename packages to not clash with Debian. * Resynced with Debian. diff --git a/debian/control b/debian/control index ecffb52..6a54689 100644 --- a/debian/control +++ b/debian/control @@ -19,8 +19,6 @@ Depends: Recommends: live-boot-grml-doc, live-tools, - eject, - file, rsync, uuid-runtime, Suggests: diff --git a/debian/gbp.conf b/debian/gbp.conf deleted file mode 100644 index e2232b4..0000000 --- a/debian/gbp.conf +++ /dev/null @@ -1,2 +0,0 @@ -[DEFAULT] -compression=xz diff --git a/debian/rules b/debian/rules index a397411..a5df4d6 100755 --- a/debian/rules +++ b/debian/rules @@ -8,7 +8,6 @@ override_dh_auto_install: # Removing useless files rm -f debian/tmp/usr/share/doc/live-boot-grml/COPYING - rm -f debian/lib/live/boot/FIXME # live-boot-initramfs-tools mkdir -p debian/live-boot-grml-initramfs-tools/usr/share