]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
fix: always use mkdir -p
authorJóhann B. Guðmundsson <johannbg@gmail.com>
Fri, 26 Feb 2021 13:44:05 +0000 (13:44 +0000)
committerHarald Hoyer <harald@hoyer.xyz>
Wed, 3 Mar 2021 12:06:02 +0000 (13:06 +0100)
Ensuring that directory creations dont trigger error if directory
previously existed as well as create parent directories if needed.

19 files changed:
dracut.sh
modules.d/01fips/fips.sh
modules.d/80cms/cmssetup.sh
modules.d/90crypt/crypt-lib.sh
modules.d/90dmsquash-live/dmsquash-generator.sh
modules.d/90dmsquash-live/dmsquash-live-root.sh
modules.d/90livenet/livenet-generator.sh
modules.d/90mdraid/mdmon-pre-udev.sh
modules.d/95nbd/nbd-generator.sh
modules.d/95nfs/module-setup.sh
modules.d/99base/init.sh
modules.d/99shutdown/shutdown.sh
test/TEST-03-USR-MOUNT/create-root.sh
test/TEST-04-FULL-SYSTEMD/create-root.sh
test/TEST-11-LVM/test.sh
test/TEST-12-RAID-DEG/create-root.sh
test/TEST-14-IMSM/test.sh
test/TEST-17-LVM-THIN/test.sh
test/TEST-20-NFS/test.sh

index 836b762c6bb3b83d3c174727d457fdb99a060fd6..1d54a7d90863dda78d809268261e4ff4215a330a 100755 (executable)
--- a/dracut.sh
+++ b/dracut.sh
@@ -1016,7 +1016,7 @@ trap '
 trap 'exit 1;' SIGINT
 
 readonly initdir="${DRACUT_TMPDIR}/initramfs"
-mkdir "$initdir"
+mkdir -p "$initdir"
 
 # shellcheck disable=SC2154
 if [[ $early_microcode = yes ]] || { [[ $acpi_override = yes ]] && [[ -d $acpi_table_dir ]] ;}; then
@@ -2134,7 +2134,7 @@ dinfo "*** Creating image file '$outfile' ***"
 
 if [[ $uefi = yes ]]; then
     readonly uefi_outdir="$DRACUT_TMPDIR/uefi"
-    mkdir "$uefi_outdir"
+    mkdir -p "$uefi_outdir"
 fi
 
 if [[ $DRACUT_REPRODUCIBLE ]]; then
index f46da5c66d95587a49ca7c74f32c043606a9fe67..53d507e9145e5ba97e8881db000221e3deb410ba 100755 (executable)
@@ -56,7 +56,7 @@ mount_boot()
 
         [ -e "$boot" ] || return 1
 
-        mkdir /boot
+        mkdir -p /boot
         fips_info "Mounting $boot as /boot"
         mount -oro "$boot" /boot || return 1
     elif [ -d "$NEWROOT/boot" ]; then
index 1cfce5510d02a9fa8fb39e697973d9ce1e57ef1f..bbf49bff2dc3af503a3aa73a355e484038b4e38c 100755 (executable)
@@ -111,7 +111,7 @@ function readcmsfile() # $1=dasdport $2=filename
     devname=$(cd /sys/bus/ccw/devices/$dev/block; set -- *; [ -b /dev/$1 ] && echo $1)
     devname=${devname:-dasda}
 
-    [[ -d /mnt ]] || mkdir /mnt
+    [[ -d /mnt ]] || mkdir -p /mnt
     if cmsfs-fuse --to=UTF-8 -a /dev/$devname /mnt; then
         cat /mnt/$2 > /run/initramfs/$2
         umount /mnt || umount -l /mnt
index 688ea2514b2d721d737927d1054fac4109d98266..12ee4af630b6af6e306871b1f632d413777b1e9d 100755 (executable)
@@ -200,7 +200,7 @@ readkey() {
         local mntp="/mnt/$(str_replace "keydev-$keydev-$keypath" '/' '-')"
 
         if [ ! -d "$mntp" ]; then
-            mkdir "$mntp"
+            mkdir -p "$mntp"
             mount -r "$keydev" "$mntp" || die 'Mounting rem. dev. failed!'
         fi
     fi
index f57b1fc5ac964582204a8e52719de2cbe42c451f..cce29b9cc2ec76a5debb7145f96ca62eaa44bf87 100755 (executable)
@@ -52,7 +52,7 @@ esac
 
 GENERATOR_DIR="$2"
 [ -z "$GENERATOR_DIR" ] && exit 1
-[ -d "$GENERATOR_DIR" ] || mkdir "$GENERATOR_DIR"
+[ -d "$GENERATOR_DIR" ] || mkdir -p "$GENERATOR_DIR"
 
 getargbool 0 rd.live.overlay.readonly -d -y readonly_overlay && readonly_overlay="--readonly" || readonly_overlay=""
 getargbool 0 rd.live.overlay.overlayfs && overlayfs="yes"
index 1cb200caae9dd829e66cbe37448b7d3720d79ece..b1cf4ae4db652c0b3a2d39449afbcfa9c65ab14a 100755 (executable)
@@ -125,7 +125,7 @@ do_live_overlay() {
 
     # need to know where to look for the overlay
     if [ -z "$setup" -a -n "$devspec" -a -n "$pathspec" -a -n "$overlay" ]; then
-        mkdir -m 0755 /run/initramfs/overlayfs
+        mkdir -m 0755 -p /run/initramfs/overlayfs
         opt=''
         [ -n "$readonly_overlay" ] && opt=-r
         mount -n -t auto $devspec /run/initramfs/overlayfs || :
@@ -210,8 +210,8 @@ do_live_overlay() {
             fi
         fi
         if [ -n "$overlayfs" ]; then
-            mkdir -m 0755 /run/overlayfs
-            mkdir -m 0755 /run/ovlwork
+            mkdir -m 0755 -p /run/overlayfs
+            mkdir -m 0755 -p /run/ovlwork
             if [ -n "$readonly_overlay" ] && ! [ -h /run/overlayfs-r ]; then
                 info "No persistent overlay found."
                 unset -v readonly_overlay
@@ -241,7 +241,7 @@ do_live_overlay() {
 
     if [ -n "$thin_snapshot" ]; then
         modprobe dm_thin_pool
-        mkdir -m 0755 /run/initramfs/thin-overlay
+        mkdir -m 0755 -p /run/initramfs/thin-overlay
 
         # In block units (512b)
         thin_data_sz=$(( $overlay_size * 1024 * 1024 / 512 ))
@@ -326,7 +326,7 @@ if [ -n "$FSIMG" ]; then
     if [ -n "$writable_fsimg" ]; then
         # mount the provided filesystem read/write
         echo "Unpacking live filesystem (may take some time)" > /dev/kmsg
-        mkdir -m 0755 /run/initramfs/fsimg/
+        mkdir -m 0755 -p /run/initramfs/fsimg/
         if [ -n "$SQUASHED" ]; then
             cp -v $FSIMG /run/initramfs/fsimg/rootfs.img
         else
@@ -368,7 +368,7 @@ fi
 ROOTFLAGS="$(getarg rootflags)"
 
 if [ -n "$overlayfs" ]; then
-    mkdir -m 0755 /run/rootfsbase
+    mkdir -m 0755 -p /run/rootfsbase
     if [ -n "$reset_overlay" ] && [ -h /run/overlayfs ]; then
         ovlfs=$(readlink /run/overlayfs)
         info "Resetting the OverlayFS overlay directory."
index f0d128511a6ca6dc6ad71bd79b89e8a3a364746f..d82515948155e0e84648948b2410093a95beb0d5 100755 (executable)
@@ -41,7 +41,7 @@ esac
 GENERATOR_DIR="$2"
 [ -z "$GENERATOR_DIR" ] && exit 1
 
-[ -d "$GENERATOR_DIR" ] || mkdir "$GENERATOR_DIR"
+[ -d "$GENERATOR_DIR" ] || mkdir -p "$GENERATOR_DIR"
 
 getargbool 0 rd.live.overlay.readonly -d -y readonly_overlay && readonly_overlay="--readonly" || readonly_overlay=""
 getargbool 0 rd.live.overlay.overlayfs && overlayfs="yes"
index fb9280ddd95e88d5c489d7cc5541dcb05c0cbaf6..b15cca89ae962d3e5de51de8cdc8c1b041ea1cf0 100755 (executable)
@@ -1,4 +1,4 @@
 #!/bin/sh
 # save state dir for mdmon/mdadm for the real root
-[ -d /run/mdadm ] || mkdir -m 0755 /run/mdadm
+[ -d /run/mdadm ] || mkdir -m 0755 -p /run/mdadm
 # backward compat link
index de52d116d8a6aa7c7c7214ec1f90c41a78d26f8f..dccdacf70ca1ad2ef361f7222810803222091dc7 100755 (executable)
@@ -9,7 +9,7 @@ type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
 GENERATOR_DIR="$2"
 [ -z "$GENERATOR_DIR" ] && exit 1
 
-[ -d "$GENERATOR_DIR" ] || mkdir "$GENERATOR_DIR"
+[ -d "$GENERATOR_DIR" ] || mkdir -p "$GENERATOR_DIR"
 
 ROOTFLAGS="$(getarg rootflags)"
 
index a2803bba7519d6a554559b01757bb6511f0bedd4..2d919192c0b37760dbf2c4eb88f631600aaafbf5 100755 (executable)
@@ -88,7 +88,7 @@ install() {
     if [[ -f $dracutsysrootdir/lib/modprobe.d/nfs.conf ]]; then
         inst_multiple /lib/modprobe.d/nfs.conf
     else
-        [[ -d $initdir/etc/modprobe.d ]] || mkdir "$initdir"/etc/modprobe.d
+        [[ -d $initdir/etc/modprobe.d ]] || mkdir -p "$initdir"/etc/modprobe.d
         echo "alias nfs4 nfs" > "$initdir"/etc/modprobe.d/nfs.conf
     fi
 
index f70a811ed588809563842bf8d05c4ca504186d70..c5ea7774008d8a269afd596ff7cf856dacb75e96 100755 (executable)
@@ -53,17 +53,17 @@ fi
 [ ! -h /dev/stderr ] && ln -s /proc/self/fd/2 /dev/stderr >/dev/null 2>&1
 
 if ! ismounted /dev/pts; then
-    mkdir -m 0755 /dev/pts
+    mkdir -m 0755 -p /dev/pts
     mount -t devpts -o gid=5,mode=620,noexec,nosuid devpts /dev/pts >/dev/null
 fi
 
 if ! ismounted /dev/shm; then
-    mkdir -m 0755 /dev/shm
+    mkdir -m 0755 -p /dev/shm
     mount -t tmpfs -o mode=1777,noexec,nosuid,nodev,strictatime tmpfs /dev/shm >/dev/null
 fi
 
 if ! ismounted /run; then
-    mkdir -m 0755 /newrun
+    mkdir -m 0755 -p /newrun
     if ! str_starts "$(readlink -f /bin/sh)" "/run/"; then
         mount -t tmpfs -o mode=0755,noexec,nosuid,nodev,strictatime tmpfs /newrun >/dev/null
     else
@@ -99,7 +99,7 @@ if [ $UDEVVERSION -gt 166 ]; then
     [ -d /run/udev ] || mkdir -p -m 0755 /run/udev
     [ -d $UDEVRULESD ] || mkdir -p -m 0755 $UDEVRULESD
 else
-    mkdir -m 0755 /dev/.udev /dev/.udev/rules.d
+    mkdir -m 0755 -p /dev/.udev /dev/.udev/rules.d
     export UDEVRULESD=/dev/.udev/rules.d
 fi
 
@@ -368,7 +368,7 @@ debug_on
 
 if ! [ -d "$NEWROOT"/run ]; then
     NEWRUN=/dev/.initramfs
-    mkdir -m 0755 "$NEWRUN"
+    mkdir -m 0755 -p "$NEWRUN"
     mount --rbind /run/initramfs "$NEWRUN"
 fi
 
index 90a0b9e12abfbb3fc9701c622989ab8c10e8af44..2f06cada18dce3c60fee95f788b08841eefa54b8 100755 (executable)
@@ -22,9 +22,9 @@ if [ "$(stat -c '%T' -f /)" = "tmpfs" ]; then
     mount -o remount,rw /
 fi
 
-mkdir /oldsys
+mkdir -p /oldsys
 for i in sys proc run dev; do
-    mkdir /oldsys/$i
+    mkdir -p /oldsys/$i
     mount --move /oldroot/$i /oldsys/$i
 done
 
index b2f885dcb1a6bd2cf983b37ab07b3173a5249cb5..9a41f97300cecf3850ab81e62027dc71f5254188 100755 (executable)
@@ -27,7 +27,7 @@ btrfs device scan /dev/sda2
 btrfs device scan /dev/sdb2
 mkdir -p /root
 mount -t btrfs /dev/sda2 /root
-[ -d /root/usr ] || mkdir /root/usr
+[ -d /root/usr ] || mkdir -p /root/usr
 mount -t btrfs /dev/sdb2 /root/usr
 btrfs subvolume create /root/usr/usr
 umount /root/usr
index ef4cf50423b4919b4a3b35923b014488dece33ff..73b9c32f96870b16b1c5b26edcb8d06464cae5fa 100755 (executable)
@@ -28,7 +28,7 @@ btrfs device scan /dev/sda2
 btrfs device scan /dev/sdb2
 mkdir -p /root
 mount -t btrfs /dev/sda2 /root
-[ -d /root/usr ] || mkdir /root/usr
+[ -d /root/usr ] || mkdir -p /root/usr
 mount -t btrfs /dev/sdb2 /root/usr
 btrfs subvolume create /root/usr/usr
 umount /root/usr
index 3f1a212143e732b1f7cf73e5f5e67541a9f54fac..26d52e9abc6bb0eca131d0cf58a6cf6a5f1830cb 100755 (executable)
@@ -45,7 +45,7 @@ test_setup() {
         inst ./test-init.sh /sbin/init
         find_binary plymouth >/dev/null && inst_multiple plymouth
         cp -a /etc/ld.so.conf* $initdir/etc
-        mkdir $initdir/run
+        mkdir -p $initdir/run
         ldconfig -r "$initdir"
     )
 
index f40d2500fd5c3a0270ce02686fcf3f21e74d7f22..cce030ab40548caf8a9fc84a2c9a2790416fabe8 100755 (executable)
@@ -27,7 +27,7 @@ mke2fs -L root /dev/dracut/root
 mkdir -p /sysroot
 mount /dev/dracut/root /sysroot
 cp -a -t /sysroot /source/*
-mkdir /sysroot/run
+mkdir -p /sysroot/run
 umount /sysroot
 lvm lvchange -a n /dev/dracut/root
 udevadm settle
index f932daf028a9650df58d6f4c6a52bfe4d817828d..886e6ef3556ab84ae1cb44d8ce51ebc165ab34fb 100755 (executable)
@@ -83,7 +83,7 @@ test_setup() {
         inst ./test-init.sh /sbin/init
         find_binary plymouth >/dev/null && inst_multiple plymouth
         cp -a /etc/ld.so.conf* $initdir/etc
-        mkdir $initdir/run
+        mkdir -p $initdir/run
         ldconfig -r "$initdir"
     )
 
index ac2e586f10c0a7490a2e111653a58a0bd96e0b43..1193464af58d454364c82fa0bd6edfacd99cacb1 100755 (executable)
@@ -45,7 +45,7 @@ test_setup() {
         inst ./test-init.sh /sbin/init
         find_binary plymouth >/dev/null && inst_multiple plymouth
         cp -a /etc/ld.so.conf* $initdir/etc
-        mkdir $initdir/run
+        mkdir -p $initdir/run
         ldconfig -r "$initdir"
     )
 
index 471a44d4cccf61c0d2a404c5295bb1fd3ce977ca..09a7f13260292f83a295f83967eaf83c06d8b782 100755 (executable)
@@ -372,7 +372,7 @@ test_setup() {
     (
         export initdir=$TESTDIR/overlay
         . $basedir/dracut-init.sh
-        mkdir $TESTDIR/overlay
+        mkdir -p $TESTDIR/overlay
         inst_multiple poweroff shutdown
         inst_hook shutdown-emergency 000 ./hard-off.sh
         inst_hook emergency 000 ./hard-off.sh