288 lines
11 KiB
Diff
288 lines
11 KiB
Diff
|
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
|
||
|
}
|
||
|
-
|
||
|
|