dracut - 047-34.git20180604

- git snapshot
This commit is contained in:
Harald Hoyer 2018-06-04 09:02:07 +02:00
parent fe68bac38f
commit b2d442e3cb
4 changed files with 145 additions and 1 deletions

View File

@ -68,3 +68,4 @@ index 918a8a4f..f21cc811 100755
umount_a() {
local _did_umount="n"

27
0032.patch Normal file
View File

@ -0,0 +1,27 @@
From f6e777ec4b1031b18b835cd34ed644ebf4a2ace6 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
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 \

111
0033.patch Normal file
View File

@ -0,0 +1,111 @@
From 67354eebbcd4c358b8194ba5fd1ab1cf7dbd42aa Mon Sep 17 00:00:00 2001
From: Pingfan Liu <piliu@redhat.com>
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 <piliu@redhat.com>
---
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=**__<interface>__:__{dhcp|on|any|dhcp6|auto6}__[:[__<mtu>__][:__<macaddr>__]]::
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=<ipv4-address> 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=<interface>:{dhcp|on|any|dhcp6|auto6}[:[<mtu>][:<macaddr>]]
[ -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"

View File

@ -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 <harald@redhat.com> - 047-34.git20180604
- git snapshot
* Tue May 15 2018 Harald Hoyer <harald@redhat.com> - 047-32.git20180515
- git snapshot