Minimize delta to Debian's upstream/master
authorMichael Prokop <mika@grml.org>
Thu, 13 Dec 2018 15:14:39 +0000 (16:14 +0100)
committerMichael Prokop <mika@grml.org>
Fri, 14 Dec 2018 14:29:54 +0000 (15:29 +0100)
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

components/9990-cmdline-old
components/9990-initramfs-tools.sh
components/9990-netbase.sh
components/9990-select-eth-device.sh
debian/changelog
debian/control
debian/gbp.conf [deleted file]
debian/rules

index c896bbb..6ac6eb5 100755 (executable)
@@ -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
                                ;;
 
index cdb00db..e6b4282 100755 (executable)
@@ -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
index 550a2b8..bae858a 100755 (executable)
@@ -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}" ]
index 133d4b1..c8f36b0 100755 (executable)
@@ -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
 }
index 2e3fddc..8f30613 100644 (file)
@@ -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.
index ecffb52..6a54689 100644 (file)
@@ -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 (file)
index e2232b4..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-[DEFAULT]
-compression=xz
index a397411..a5df4d6 100755 (executable)
@@ -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