dracut/0096.patch

288 lines
11 KiB
Diff
Raw Normal View History

From 734739187bfab24f063904ea18f0bdf03b4a136c Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak@v3.sk>
Date: Thu, 30 Aug 2018 16:44:22 +0200
Subject: [PATCH] network-legacy: split off from network module
---
dracut.spec | 1 +
.../dhclient-script.sh | 0
.../{40network => 35network-legacy}/dhclient.conf | 0
.../{40network => 35network-legacy}/dhcp-root.sh | 0
modules.d/{40network => 35network-legacy}/ifup.sh | 0
.../kill-dhclient.sh | 0
modules.d/35network-legacy/module-setup.sh | 93 ++++++++++++++++++++++
.../net-genrules.sh | 0
.../{40network => 35network-legacy}/parse-bond.sh | 0
.../parse-bridge.sh | 0
.../{40network => 35network-legacy}/parse-ibft.sh | 0
.../parse-ifname.sh | 0
.../parse-ip-opts.sh | 0
.../{40network => 35network-legacy}/parse-team.sh | 0
.../{40network => 35network-legacy}/parse-vlan.sh | 0
modules.d/40network/module-setup.sh | 76 +-----------------
16 files changed, 95 insertions(+), 75 deletions(-)
diff --git a/dracut.spec b/dracut.spec
index d9cfdf1c..f6486d50 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -419,6 +419,7 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
%files network
%{dracutlibdir}/modules.d/02systemd-networkd
+%{dracutlibdir}/modules.d/35network-legacy
%{dracutlibdir}/modules.d/40network
%{dracutlibdir}/modules.d/45ifcfg
%{dracutlibdir}/modules.d/90kernel-network-modules
diff --git a/modules.d/40network/dhclient-script.sh b/modules.d/35network-legacy/dhclient-script.sh
similarity index 100%
rename from modules.d/40network/dhclient-script.sh
rename to modules.d/35network-legacy/dhclient-script.sh
diff --git a/modules.d/40network/dhclient.conf b/modules.d/35network-legacy/dhclient.conf
similarity index 100%
rename from modules.d/40network/dhclient.conf
rename to modules.d/35network-legacy/dhclient.conf
diff --git a/modules.d/40network/dhcp-root.sh b/modules.d/35network-legacy/dhcp-root.sh
similarity index 100%
rename from modules.d/40network/dhcp-root.sh
rename to modules.d/35network-legacy/dhcp-root.sh
diff --git a/modules.d/40network/ifup.sh b/modules.d/35network-legacy/ifup.sh
similarity index 100%
rename from modules.d/40network/ifup.sh
rename to modules.d/35network-legacy/ifup.sh
diff --git a/modules.d/40network/kill-dhclient.sh b/modules.d/35network-legacy/kill-dhclient.sh
similarity index 100%
rename from modules.d/40network/kill-dhclient.sh
rename to modules.d/35network-legacy/kill-dhclient.sh
diff --git a/modules.d/35network-legacy/module-setup.sh b/modules.d/35network-legacy/module-setup.sh
new file mode 100755
index 00000000..71abda36
--- /dev/null
+++ b/modules.d/35network-legacy/module-setup.sh
@@ -0,0 +1,93 @@
+#!/bin/bash
+
+# called by dracut
+check() {
+ local _program
+
+ require_binaries ip dhclient sed awk grep || return 1
+ require_any_binary arping arping2 || return 1
+
+ return 255
+}
+
+# called by dracut
+depends() {
+ return 0
+}
+
+# called by dracut
+installkernel() {
+ return 0
+}
+
+# called by dracut
+install() {
+ local _arch _i _dir
+ inst_multiple ip dhclient sed awk grep
+
+ inst_multiple -o arping arping2
+ strstr "$(arping 2>&1)" "ARPing 2" && mv "$initdir/bin/arping" "$initdir/bin/arping2"
+
+ inst_multiple -o ping ping6
+ inst_multiple -o teamd teamdctl teamnl
+ inst_simple /etc/libnl/classid
+ inst_script "$moddir/ifup.sh" "/sbin/ifup"
+ inst_script "$moddir/dhclient-script.sh" "/sbin/dhclient-script"
+ inst_simple -H "/etc/dhclient.conf"
+ cat "$moddir/dhclient.conf" >> "${initdir}/etc/dhclient.conf"
+ inst_hook pre-udev 60 "$moddir/net-genrules.sh"
+ inst_hook cmdline 91 "$moddir/dhcp-root.sh"
+ inst_hook cmdline 92 "$moddir/parse-ibft.sh"
+ inst_hook cmdline 95 "$moddir/parse-vlan.sh"
+ inst_hook cmdline 96 "$moddir/parse-bond.sh"
+ inst_hook cmdline 96 "$moddir/parse-team.sh"
+ inst_hook cmdline 97 "$moddir/parse-bridge.sh"
+ inst_hook cmdline 98 "$moddir/parse-ip-opts.sh"
+ inst_hook cmdline 99 "$moddir/parse-ifname.sh"
+ inst_hook cleanup 10 "$moddir/kill-dhclient.sh"
+
+ # install all config files for teaming
+ unset TEAM_MASTER
+ unset TEAM_CONFIG
+ unset TEAM_PORT_CONFIG
+ unset HWADDR
+ unset SUBCHANNELS
+ for i in /etc/sysconfig/network-scripts/ifcfg-*; do
+ [ -e "$i" ] || continue
+ case "$i" in
+ *~ | *.bak | *.orig | *.rpmnew | *.rpmorig | *.rpmsave)
+ continue
+ ;;
+ esac
+ (
+ . "$i"
+ if ! [ "${ONBOOT}" = "no" -o "${ONBOOT}" = "NO" ] \
+ && [ -n "${TEAM_MASTER}${TEAM_CONFIG}${TEAM_PORT_CONFIG}" ]; then
+ if [ -n "$TEAM_CONFIG" ] && [ -n "$DEVICE" ]; then
+ mkdir -p $initdir/etc/teamd
+ printf -- "%s" "$TEAM_CONFIG" > "$initdir/etc/teamd/${DEVICE}.conf"
+ elif [ -n "$TEAM_PORT_CONFIG" ]; then
+ inst_simple "$i"
+
+ HWADDR="$(echo $HWADDR | sed 'y/ABCDEF/abcdef/')"
+ if [ -n "$HWADDR" ]; then
+ ln_r "$i" "/etc/sysconfig/network-scripts/mac-${HWADDR}.conf"
+ fi
+
+ SUBCHANNELS="$(echo $SUBCHANNELS | sed 'y/ABCDEF/abcdef/')"
+ if [ -n "$SUBCHANNELS" ]; then
+ ln_r "$i" "/etc/sysconfig/network-scripts/ccw-${SUBCHANNELS}.conf"
+ fi
+ fi
+ fi
+ )
+ done
+
+ _arch=$(uname -m)
+
+ inst_libdir_file {"tls/$_arch/",tls/,"$_arch/",}"libnss_dns.so.*" \
+ {"tls/$_arch/",tls/,"$_arch/",}"libnss_mdns4_minimal.so.*"
+
+ dracut_need_initqueue
+}
+
diff --git a/modules.d/40network/net-genrules.sh b/modules.d/35network-legacy/net-genrules.sh
similarity index 100%
rename from modules.d/40network/net-genrules.sh
rename to modules.d/35network-legacy/net-genrules.sh
diff --git a/modules.d/40network/parse-bond.sh b/modules.d/35network-legacy/parse-bond.sh
similarity index 100%
rename from modules.d/40network/parse-bond.sh
rename to modules.d/35network-legacy/parse-bond.sh
diff --git a/modules.d/40network/parse-bridge.sh b/modules.d/35network-legacy/parse-bridge.sh
similarity index 100%
rename from modules.d/40network/parse-bridge.sh
rename to modules.d/35network-legacy/parse-bridge.sh
diff --git a/modules.d/40network/parse-ibft.sh b/modules.d/35network-legacy/parse-ibft.sh
similarity index 100%
rename from modules.d/40network/parse-ibft.sh
rename to modules.d/35network-legacy/parse-ibft.sh
diff --git a/modules.d/40network/parse-ifname.sh b/modules.d/35network-legacy/parse-ifname.sh
similarity index 100%
rename from modules.d/40network/parse-ifname.sh
rename to modules.d/35network-legacy/parse-ifname.sh
diff --git a/modules.d/40network/parse-ip-opts.sh b/modules.d/35network-legacy/parse-ip-opts.sh
similarity index 100%
rename from modules.d/40network/parse-ip-opts.sh
rename to modules.d/35network-legacy/parse-ip-opts.sh
diff --git a/modules.d/40network/parse-team.sh b/modules.d/35network-legacy/parse-team.sh
similarity index 100%
rename from modules.d/40network/parse-team.sh
rename to modules.d/35network-legacy/parse-team.sh
diff --git a/modules.d/40network/parse-vlan.sh b/modules.d/35network-legacy/parse-vlan.sh
similarity index 100%
rename from modules.d/40network/parse-vlan.sh
rename to modules.d/35network-legacy/parse-vlan.sh
diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
index a1010911..fbd43925 100755
--- a/modules.d/40network/module-setup.sh
+++ b/modules.d/40network/module-setup.sh
@@ -1,18 +1,8 @@
#!/bin/bash
-# called by dracut
-check() {
- local _program
-
- require_binaries ip dhclient sed awk grep || return 1
- require_any_binary arping arping2 || return 1
-
- return 255
-}
-
# called by dracut
depends() {
- echo "kernel-network-modules"
+ echo "network-legacy"
return 0
}
@@ -24,74 +14,10 @@ installkernel() {
# called by dracut
install() {
local _arch _i _dir
- inst_multiple ip dhclient sed awk grep
-
- inst_multiple -o arping arping2
- strstr "$(arping 2>&1)" "ARPing 2" && mv "$initdir/bin/arping" "$initdir/bin/arping2"
- inst_multiple -o ping ping6
- inst_multiple -o teamd teamdctl teamnl
- inst_simple /etc/libnl/classid
- inst_script "$moddir/ifup.sh" "/sbin/ifup"
inst_script "$moddir/netroot.sh" "/sbin/netroot"
- inst_script "$moddir/dhclient-script.sh" "/sbin/dhclient-script"
inst_simple "$moddir/net-lib.sh" "/lib/net-lib.sh"
- inst_simple -H "/etc/dhclient.conf"
- cat "$moddir/dhclient.conf" >> "${initdir}/etc/dhclient.conf"
inst_hook pre-udev 50 "$moddir/ifname-genrules.sh"
- inst_hook pre-udev 60 "$moddir/net-genrules.sh"
- inst_hook cmdline 91 "$moddir/dhcp-root.sh"
- inst_hook cmdline 92 "$moddir/parse-ibft.sh"
- inst_hook cmdline 95 "$moddir/parse-vlan.sh"
- inst_hook cmdline 96 "$moddir/parse-bond.sh"
- inst_hook cmdline 96 "$moddir/parse-team.sh"
- inst_hook cmdline 97 "$moddir/parse-bridge.sh"
- inst_hook cmdline 98 "$moddir/parse-ip-opts.sh"
- inst_hook cmdline 99 "$moddir/parse-ifname.sh"
- inst_hook cleanup 10 "$moddir/kill-dhclient.sh"
-
- # install all config files for teaming
- unset TEAM_MASTER
- unset TEAM_CONFIG
- unset TEAM_PORT_CONFIG
- unset HWADDR
- unset SUBCHANNELS
- for i in /etc/sysconfig/network-scripts/ifcfg-*; do
- [ -e "$i" ] || continue
- case "$i" in
- *~ | *.bak | *.orig | *.rpmnew | *.rpmorig | *.rpmsave)
- continue
- ;;
- esac
- (
- . "$i"
- if ! [ "${ONBOOT}" = "no" -o "${ONBOOT}" = "NO" ] \
- && [ -n "${TEAM_MASTER}${TEAM_CONFIG}${TEAM_PORT_CONFIG}" ]; then
- if [ -n "$TEAM_CONFIG" ] && [ -n "$DEVICE" ]; then
- mkdir -p $initdir/etc/teamd
- printf -- "%s" "$TEAM_CONFIG" > "$initdir/etc/teamd/${DEVICE}.conf"
- elif [ -n "$TEAM_PORT_CONFIG" ]; then
- inst_simple "$i"
-
- HWADDR="$(echo $HWADDR | sed 'y/ABCDEF/abcdef/')"
- if [ -n "$HWADDR" ]; then
- ln_r "$i" "/etc/sysconfig/network-scripts/mac-${HWADDR}.conf"
- fi
-
- SUBCHANNELS="$(echo $SUBCHANNELS | sed 'y/ABCDEF/abcdef/')"
- if [ -n "$SUBCHANNELS" ]; then
- ln_r "$i" "/etc/sysconfig/network-scripts/ccw-${SUBCHANNELS}.conf"
- fi
- fi
- fi
- )
- done
-
- _arch=$(uname -m)
-
- inst_libdir_file {"tls/$_arch/",tls/,"$_arch/",}"libnss_dns.so.*" \
- {"tls/$_arch/",tls/,"$_arch/",}"libnss_mdns4_minimal.so.*"
dracut_need_initqueue
}
-