]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
Do not sort the resulting /run/initramfs/state/etc/resolv.conf
authorHarald Hoyer <harald@redhat.com>
Mon, 21 Oct 2019 09:49:10 +0000 (11:49 +0200)
committerHarald Hoyer <harald@redhat.com>
Mon, 21 Oct 2019 09:50:20 +0000 (11:50 +0200)
nameserver priorities should be preserved

Resolves: https://github.com/dracutdevs/dracut/issues/652

modules.d/45ifcfg/module-setup.sh
modules.d/45ifcfg/write-ifcfg.sh

index c89def3e7308947580711fe54c7e08f04c297e22..85e7f992a5a75c53672b9966b79dd3a8c39a3403 100755 (executable)
@@ -14,7 +14,7 @@ depends() {
 
 # called by dracut
 install() {
-    inst_binary sort
+    inst_binary awk
     inst_hook pre-pivot 85 "$moddir/write-ifcfg.sh"
 }
 
index 3bf847a539f44e189669699b65a699c6dbc92649..5c45371b60d31a6cd62ee220e11c537377eaf65f 100755 (executable)
@@ -288,7 +288,7 @@ echo "files /var/lib/dhclient" >> /run/initramfs/rwtab
     cp /tmp/net.* /run/initramfs/
     for i in /tmp/net.*.resolv.conf; do
              [ -f "$i" ] && cat "$i"
-    done | sort -u > /run/initramfs/state/etc/resolv.conf
+    done | awk '!($0 in a) { a[$0]; print }' > /run/initramfs/state/etc/resolv.conf
     [ -s /run/initramfs/state/etc/resolv.conf ] || rm -f /run/initramfs/state/etc/resolv.conf
     copytree /tmp/ifcfg /run/initramfs/state/etc/sysconfig/network-scripts
     cp /tmp/ifcfg-leases/* /run/initramfs/state/var/lib/dhclient