From b2d442e3cb7c0d3feb26e7f7ba0def8c3f0ce7cb Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Mon, 4 Jun 2018 09:02:07 +0200 Subject: [PATCH] dracut - 047-34.git20180604 - git snapshot --- 0031.patch | 1 + 0032.patch | 27 +++++++++++++ 0033.patch | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++++ dracut.spec | 7 +++- 4 files changed, 145 insertions(+), 1 deletion(-) create mode 100644 0032.patch create mode 100644 0033.patch diff --git a/0031.patch b/0031.patch index 1948f9b..1b47ab1 100644 --- a/0031.patch +++ b/0031.patch @@ -68,3 +68,4 @@ index 918a8a4f..f21cc811 100755 umount_a() { local _did_umount="n" + diff --git a/0032.patch b/0032.patch new file mode 100644 index 0000000..2238085 --- /dev/null +++ b/0032.patch @@ -0,0 +1,27 @@ +From f6e777ec4b1031b18b835cd34ed644ebf4a2ace6 Mon Sep 17 00:00:00 2001 +From: Harald Hoyer +Date: Tue, 22 May 2018 09:48:23 +0200 +Subject: [PATCH] cleanup empty ldconfig_paths directories + +https://bugzilla.redhat.com/show_bug.cgi?id=1324746 +--- + dracut.sh | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/dracut.sh b/dracut.sh +index 5b5b27e3..a4406dd9 100755 +--- a/dracut.sh ++++ b/dracut.sh +@@ -1643,6 +1643,11 @@ if [[ $do_strip = yes ]] ; then + done + fi + ++# cleanup empty ldconfig_paths directories ++for d in $(ldconfig_paths); do ++ rmdir -p --ignore-fail-on-non-empty "$initdir/$d" >/dev/null 2>&1 ++done ++ + if [[ $do_strip = yes ]] && ! [[ $DRACUT_FIPS_MODE ]]; then + dinfo "*** Stripping files ***" + find "$initdir" -type f \ + diff --git a/0033.patch b/0033.patch new file mode 100644 index 0000000..6e0a444 --- /dev/null +++ b/0033.patch @@ -0,0 +1,111 @@ +From 67354eebbcd4c358b8194ba5fd1ab1cf7dbd42aa Mon Sep 17 00:00:00 2001 +From: Pingfan Liu +Date: Tue, 24 Apr 2018 16:41:21 +0800 +Subject: [PATCH] 40network: introduce ip=either6 option + +In kdump, if dump-target is ssh on ipv6, we need to sync until ipv6 addr +is ready. Currently ip=auto6/dhcp6 provides such function. But in 1st kernel, +it is hard to know whether the ipv6 addr is got by dhcpv6 or SLAAC. +E.g ifcfg-eth* contains DHCPV6C=yes direction, but there is no dhcpv6 +server in the network, and then after the system is up, the user +echo 1 > /proc/sys/net/ipv6/conf/eth0/autoconf && accept_ra by manual +to obtain a ipv6 addr. Or vice. +So this patch suggests to make dhcpv6 as auto6 fallback + +Signed-off-by: Pingfan Liu +--- + dracut.cmdline.7.asc | 4 +++- + modules.d/40network/ifup.sh | 6 +++++- + modules.d/40network/net-lib.sh | 4 ++-- + modules.d/40network/parse-ip-opts.sh | 1 + + 4 files changed, 11 insertions(+), 4 deletions(-) + +diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc +index 8f86efe0..ada15e9f 100644 +--- a/dracut.cmdline.7.asc ++++ b/dracut.cmdline.7.asc +@@ -480,7 +480,7 @@ USB Android phone:: + * enp0s29u1u2 + ===================== + +-**ip=**__{dhcp|on|any|dhcp6|auto6}__:: ++**ip=**__{dhcp|on|any|dhcp6|auto6|either6}__:: + dhcp|on|any::: get ip from dhcp server from all interfaces. If root=dhcp, + loop sequentially through all interfaces (eth0, eth1, ...) and use the first + with a valid DHCP root-path. +@@ -489,6 +489,8 @@ USB Android phone:: + + dhcp6::: IPv6 DHCP + ++ either6::: if auto6 fails, then dhcp6 ++ + **ip=**____:__{dhcp|on|any|dhcp6|auto6}__[:[____][:____]]:: + This parameter can be specified multiple times. + + +diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh +index 0db3c021..fb672413 100755 +--- a/modules.d/40network/ifup.sh ++++ b/modules.d/40network/ifup.sh +@@ -70,16 +70,18 @@ load_ipv6() { + } + + do_ipv6auto() { ++ local ret + load_ipv6 + echo 0 > /proc/sys/net/ipv6/conf/$netif/forwarding + echo 1 > /proc/sys/net/ipv6/conf/$netif/accept_ra + echo 1 > /proc/sys/net/ipv6/conf/$netif/accept_redirects + linkup $netif + wait_for_ipv6_auto $netif ++ ret=$? + + [ -n "$hostname" ] && echo "echo $hostname > /proc/sys/kernel/hostname" > /tmp/net.$netif.hostname + +- return 0 ++ return $ret + } + + # Handle static ip configuration +@@ -416,6 +418,8 @@ for p in $(getargs ip=); do + do_dhcp -6 ;; + auto6) + do_ipv6auto ;; ++ either6) ++ do_ipv6auto || do_dhcp -6 ;; + *) + do_static ;; + esac +diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh +index 71a665cd..eac1c5eb 100755 +--- a/modules.d/40network/net-lib.sh ++++ b/modules.d/40network/net-lib.sh +@@ -458,7 +458,7 @@ ip_to_var() { + fi + + if [ $# -eq 1 ]; then +- # format: ip={dhcp|on|any|dhcp6|auto6} ++ # format: ip={dhcp|on|any|dhcp6|auto6|either6} + # or + # ip= means anaconda-style static config argument cluster + autoconf="$1" +@@ -485,7 +485,7 @@ ip_to_var() { + return 0 + fi + +- if [ "$2" = "dhcp" -o "$2" = "on" -o "$2" = "any" -o "$2" = "dhcp6" -o "$2" = "auto6" ]; then ++ if [ "$2" = "dhcp" -o "$2" = "on" -o "$2" = "any" -o "$2" = "dhcp6" -o "$2" = "auto6" -o "$2" = "either6" ]; then + # format: ip=:{dhcp|on|any|dhcp6|auto6}[:[][:]] + [ -n "$1" ] && dev="$1" + [ -n "$2" ] && autoconf="$2" +diff --git a/modules.d/40network/parse-ip-opts.sh b/modules.d/40network/parse-ip-opts.sh +index 5779ef88..10a2d19b 100755 +--- a/modules.d/40network/parse-ip-opts.sh ++++ b/modules.d/40network/parse-ip-opts.sh +@@ -76,6 +76,7 @@ for p in $(getargs ip=); do + die "Sorry, automatic calculation of netmask is not yet supported" + ;; + auto6);; ++ either6);; + dhcp|dhcp6|on|any) \ + [ -n "$NEEDBOOTDEV" ] && [ -z "$dev" ] && \ + die "Sorry, 'ip=$p' does not make sense for multiple interface configurations" diff --git a/dracut.spec b/dracut.spec index 69bc0f8..74b2a8c 100644 --- a/dracut.spec +++ b/dracut.spec @@ -5,7 +5,7 @@ # strip the automatically generated dep here and instead co-own the # directory. %global __requires_exclude pkg-config -%define dist_free_release 32.git20180515 +%define dist_free_release 34.git20180604 Name: dracut Version: 047 @@ -59,6 +59,8 @@ Patch28: 0028.patch Patch29: 0029.patch Patch30: 0030.patch Patch31: 0031.patch +Patch32: 0032.patch +Patch33: 0033.patch Source1: https://www.gnu.org/licenses/lgpl-2.1.txt @@ -490,6 +492,9 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ %endif %changelog +* Mon Jun 04 2018 Harald Hoyer - 047-34.git20180604 +- git snapshot + * Tue May 15 2018 Harald Hoyer - 047-32.git20180515 - git snapshot