diff --git a/0557-40network-make-arping-optional.patch b/0557-40network-make-arping-optional.patch new file mode 100644 index 0000000..7076088 --- /dev/null +++ b/0557-40network-make-arping-optional.patch @@ -0,0 +1,87 @@ +From a36a38050e9091b1325bd7cc9e2190a31bb0da26 Mon Sep 17 00:00:00 2001 +From: Hannes Reinecke +Date: Tue, 30 Jan 2018 11:14:06 +0100 +Subject: [PATCH 1/2] 40network: make arping optional + +'arping' is not part of the standard installation on SLE15, so we +should be making it optional. + +References: bsc#1078245 + +Signed-off-by: Hannes Reinecke +--- + modules.d/40network/dhclient-script.sh | 3 +++ + modules.d/40network/ifup.sh | 2 +- + modules.d/40network/module-setup.sh | 6 +++--- + modules.d/40network/net-lib.sh | 4 ++++ + 4 files changed, 11 insertions(+), 4 deletions(-) + +diff --git a/modules.d/40network/dhclient-script.sh b/modules.d/40network/dhclient-script.sh +index 9aac2b17..f8a558c7 100755 +--- a/modules.d/40network/dhclient-script.sh ++++ b/modules.d/40network/dhclient-script.sh +@@ -113,6 +113,9 @@ case $reason in + if [ -f /sys/class/net/$netif/device/layer2 ]; then + read layer2 < /sys/class/net/$netif/device/layer2 + fi ++ if ! which arping > /dev/null 2>&1 ; then ++ layer2=0 ++ fi + if [ "$layer2" != "0" ]; then + if ! arping -f -q -D -c 2 -I $netif $new_ip_address ; then + warn "Duplicate address detected for $new_ip_address while doing dhcp. retrying" +diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh +index d9a418e5..11377e6b 100755 +--- a/modules.d/40network/ifup.sh ++++ b/modules.d/40network/ifup.sh +@@ -329,7 +329,7 @@ if strglobin $ip '*:*:*'; then + wait_for_ipv6_dad $netif + [ "$gw" = "::" ] && gw="" + else +- if ! arping -f -q -D -c 2 -I $netif $ip; then ++ if which arping > /dev/null 2>&1 -a ! arping -f -q -D -c 2 -I $netif $ip; then + warn "Duplicate address detected for $ip for interface $netif." + return 1 + fi +diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh +index e23d9e06..18cebc91 100755 +--- a/modules.d/40network/module-setup.sh ++++ b/modules.d/40network/module-setup.sh +@@ -7,7 +7,7 @@ WICKED_EXT_PATH="/etc/wicked/extensions" + check() { + local _program + +- require_binaries ip arping $WICKEDD_DHCP_PATH/wickedd-dhcp4 $WICKEDD_DHCP_PATH/wickedd-dhcp6 || return 1 ++ require_binaries ip $WICKEDD_DHCP_PATH/wickedd-dhcp4 $WICKEDD_DHCP_PATH/wickedd-dhcp6 || return 1 + + return 255 + } +@@ -33,8 +33,8 @@ installkernel() { + # called by dracut + install() { + local _arch _i _dir +- inst_multiple ip arping hostname sed +- inst_multiple -o ping ping6 ++ inst_multiple ip hostname sed ++ inst_multiple -o arping ping ping6 + inst_multiple -o brctl + inst_multiple -o teamd teamdctl teamnl + inst_simple /etc/libnl/classid +diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh +index 749dc47d..c8ab84d0 100755 +--- a/modules.d/40network/net-lib.sh ++++ b/modules.d/40network/net-lib.sh +@@ -199,6 +199,10 @@ setup_net() { + read layer2 < /sys/class/net/$netif/device/layer2 + fi + ++ if ! which arping > /dev/null 2>&1 ; then ++ layer2=0 ++ fi ++ + if [ "$layer2" != "0" ] && [ -n "$dest" ] && ! strstr "$dest" ":"; then + arping -q -f -w 60 -I $netif $dest || info "Resolving $dest via ARP on $netif failed" + fi +-- +2.13.6 + diff --git a/0558-40network-remove-brctl-dependency.patch b/0558-40network-remove-brctl-dependency.patch new file mode 100644 index 0000000..daeced6 --- /dev/null +++ b/0558-40network-remove-brctl-dependency.patch @@ -0,0 +1,70 @@ +From dbf455d3cca765be7453104b6c187ad979ac1e03 Mon Sep 17 00:00:00 2001 +From: Daniel Molkentin +Date: Fri, 16 Feb 2018 15:32:04 +0100 +Subject: [PATCH 2/2] 40network: remove brctl dependency + +brctl is no longer default in SLE15, and its use has been obsoleted +by iputils2. + +References: bsc#1078245 +--- + modules.d/40network/ifup.sh | 6 +++--- + modules.d/40network/module-setup.sh | 1 - + modules.d/40network/parse-bridge.sh | 5 ----- + 3 files changed, 3 insertions(+), 9 deletions(-) + +diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh +index 11377e6b..9775084e 100755 +--- a/modules.d/40network/ifup.sh ++++ b/modules.d/40network/ifup.sh +@@ -440,8 +440,8 @@ if [ -e /tmp/bridge.info ]; then + . /tmp/bridge.info + # start bridge if necessary + if [ "$netif" = "$bridgename" ] && [ ! -e /tmp/net.$bridgename.up ]; then +- brctl addbr $bridgename +- brctl setfd $bridgename 0 ++ ip link add name $bridgename type bridge forward_delay 0 ++ ip link set dev $bridgename up + for ethname in $bridgeslaves ; do + if [ "$ethname" = "$bondname" ] ; then + DO_BOND_SETUP=yes ifup $bondname -m +@@ -452,7 +452,7 @@ if [ -e /tmp/bridge.info ]; then + else + linkup $ethname + fi +- brctl addif $bridgename $ethname ++ ip link set dev $ethname master $bridgename + done + fi + fi +diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh +index 18cebc91..f99ca44c 100755 +--- a/modules.d/40network/module-setup.sh ++++ b/modules.d/40network/module-setup.sh +@@ -35,7 +35,6 @@ install() { + local _arch _i _dir + inst_multiple ip hostname sed + inst_multiple -o arping ping ping6 +- inst_multiple -o brctl + inst_multiple -o teamd teamdctl teamnl + inst_simple /etc/libnl/classid + inst_simple "$WICKEDD_DHCP_PATH/wickedd-dhcp4" "/usr/sbin/wickedd-dhcp4" +diff --git a/modules.d/40network/parse-bridge.sh b/modules.d/40network/parse-bridge.sh +index 212f2595..a15b64e3 100755 +--- a/modules.d/40network/parse-bridge.sh ++++ b/modules.d/40network/parse-bridge.sh +@@ -10,11 +10,6 @@ + # return if bridge already parsed + [ -n "$bridgename" ] && return + +-# Check if bridge parameter is valid +-if getarg bridge= >/dev/null ; then +- command -v brctl >/dev/null 2>&1 || die "No 'brctl' installed" +-fi +- + parsebridge() { + local v=${1}: + set -- +-- +2.13.6 + diff --git a/dracut.changes b/dracut.changes index 17129dd..35209c9 100644 --- a/dracut.changes +++ b/dracut.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Fri Feb 23 13:04:52 UTC 2018 - daniel.molkentin@suse.com + +- 40network: disable arping, it is no longer part of default installation (bsc#1078245) + * Adds 0557-40network-make-arping-optional.patch + +- 40network: replace brctl, it is longer part of default installation (bsc#1078245) + * Adds 0558-40network-remove-brctl-dependency.patch + ------------------------------------------------------------------- Fri Feb 9 16:10:21 UTC 2018 - daniel.molkentin@suse.com diff --git a/dracut.spec b/dracut.spec index 757db94..be4a7f1 100644 --- a/dracut.spec +++ b/dracut.spec @@ -368,6 +368,10 @@ Patch554: 0554-98integrity-support-X.509-only-EVM-configuration.patch Patch555: 0555-Avoid-executing-emergency-hooks-twice.patch # Patch submitted to upstream as 62ceddfd3e3b9da8bdceb1be72dae55abdf35498 Patch556: 0556-95qeth_rules-Add-new-module-to-copy-qeth-rules.patch +# Patch not upstream, better fix depends on wicked +Patch557: 0557-40network-make-arping-optional.patch +# Applied upstream as 285495814becd9310bab3ab268a84ff54f43ed35 +Patch558: 0558-40network-remove-brctl-dependency.patch BuildRequires: asciidoc BuildRequires: bash @@ -646,6 +650,8 @@ chmod a+x modules.d/91zipl/install_zipl_cmdline.sh %patch554 -p1 %patch555 -p1 %patch556 -p1 +%patch557 -p1 +%patch558 -p1 %build %configure\