diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2022-07-15 07:33:21 +0200 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2022-07-18 17:29:22 +0200 |
commit | 0ce8430810dd7ae8917b4e17cb67d8ed6b4cd41d (patch) | |
tree | 9271c12219ec7c24a76e769e34845d2b17d65ef1 | |
parent | 5df3afdec03f10e706c10fd2653a51aa39eae601 (diff) |
main/busybox-initscripts: backwards compat for /dev/usbdisk
fixes https://gitlab.alpinelinux.org/alpine/aports/-/issues/13854
(cherry picked from commit 505aa3870f347e7710aa848ea2ce20ef94d3f93f)
-rw-r--r-- | main/busybox-initscripts/APKBUILD | 8 | ||||
-rw-r--r-- | main/busybox-initscripts/persistent-storage | 13 | ||||
-rwxr-xr-x | main/busybox-initscripts/persistent-storage_test | 44 |
3 files changed, 57 insertions, 8 deletions
diff --git a/main/busybox-initscripts/APKBUILD b/main/busybox-initscripts/APKBUILD index 78be22fad6a..bafe9c46a9d 100644 --- a/main/busybox-initscripts/APKBUILD +++ b/main/busybox-initscripts/APKBUILD @@ -1,8 +1,8 @@ # Contributor: Natanael Copa <ncopa@alpinelinux.org> # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=busybox-initscripts -pkgver=4.1 -pkgrel=1 +pkgver=4.2 +pkgrel=0 pkgdesc="Init scripts for busybox daemons" url="https://git.alpinelinux.org/aports/tree/main/busybox-initscripts" arch="noarch" @@ -84,10 +84,10 @@ acbba3385fb2c416362eb9176f24146b617a2e394ee0e00b9eff89350f82468a5ab8396f4f52b0aa b5c299d5dcd854eb23717aab6938e2e1c9572d10ed667595b4a98f9cddca9f81c3f8f7ae508b62db5fe203c45c696d3c2a9ce62761aa329b2bcfcc5e5a3a9224 mdev.conf ebd82f935da2ca89097234dd8a8f47e179a423652c151123a1f3343f3e1e7bfaba2b8800380e988d4e8f4294545d3a9ab6708ae2e77c5b108b5f091bbce8f94a dvbdev b2dcf0ded9264334d79fbbb05dd12d649dc3119a060db5893f0e8aeca2141323961c3ba4c822a0ffb00dba848742d5cb374dc77e776b57cecde352a3e8e30f8a usbdev -1e5efd37081ed513912dece5ca9e82bf2f8b192e432d872f1758962469e0548223ddf1f43049973e853373b5c08494f1787e41e3b9d2d2fe15ab835e9a09e6ea persistent-storage +2873ec2ba41fe96b010b14fe3fc87d347b71eb6079c12e05ac72eac6c7f146e25096c0b29b2b9d69cbe6840e16dbf4a93ee81132de9fac497e41ab5e8bce2243 persistent-storage 46b9379a5def08ce0afffae546693c19be158ca4fa4ce3c619ec81e0adbaa087ea5dd6df10abbfcd59bfdaf351d7170a7d24c2b403eceeb80f4f04f090630227 ptpdev 0a23323849ba531ac9b56bb7f60a8cdd2b94a0e366e87120c20a53fe6e79b6da3a3fb4320c6cd14fb89ac933a98c2d9d84512713c42042fa2a9a2a80e0d467a9 test_env.sh fd6bb18753f6367f75cd03febe76280d041a24880ec4dc315fe644d838d10098ecb9d7cfaf154e465bda1c90df14d613700c9910960ee78f0941c5442db93624 ptpdev_test -9af204b2a1daee60b9be409340a5a4f05e41102939831418a0dd36efaa4c9fdd62cb0ebb1f6a7bc7fccb350be5da307dcf0e236b760c3c737f7257476b8c0b24 persistent-storage_test +ae60c95ca817944558b28f67bfb25dbf0d2387eee1f24296f6d8833fda12bc454733a7d5e81d3e0a6d99ff7e1e5d31b8eed4f4f232306bdb9a1fe27f7ea0b949 persistent-storage_test ea40b39c2cfe96d81fbc91fb9b38f503024127737c7d7bdefc79b5e1eb387214258b3d849b0e35b27e2897847150e2cc09edfaa246d9f30d7cec6655a887a81e Kyuafile " diff --git a/main/busybox-initscripts/persistent-storage b/main/busybox-initscripts/persistent-storage index d9b41f1141d..4b821bc752b 100644 --- a/main/busybox-initscripts/persistent-storage +++ b/main/busybox-initscripts/persistent-storage @@ -68,3 +68,16 @@ if [ -n "$PARTUUID" ]; then symlink_action ../../$MDEV disk/by-partuuid/$PARTUUID fi +# backwards compatibility with /dev/usbdisk for /dev/sd* +if [ "${MDEV#sd}" != "$MDEV" ]; then + sysdev=$(readlink $SYSFS/class/block/$MDEV) + case "$sysdev" in + *usb[0-9]*) + # require vfat for devices without partition + if ! [ -e $SYSFS/block/$MDEV ] || [ TYPE="vfat" ]; then + symlink_action $MDEV usbdisk + fi + ;; + esac +fi + diff --git a/main/busybox-initscripts/persistent-storage_test b/main/busybox-initscripts/persistent-storage_test index a50dffd5dee..e408e3e04d3 100755 --- a/main/busybox-initscripts/persistent-storage_test +++ b/main/busybox-initscripts/persistent-storage_test @@ -8,7 +8,9 @@ init_tests \ persistent_storage_nvme_model_serial \ persistent_storage_virtio_serial \ persistent_storage_by_uuid \ - persistent_storage_by_partuuid + persistent_storage_by_partuuid \ + persistent_storage_usbdisk_symlink \ + persistent_storage_usbdisk_partition_symlink mdevscript=$(atf_get_srcdir)/persistent-storage export SYSFS=sys @@ -104,8 +106,9 @@ persistent_storage_by_uuid_body() { persistent_storage_by_partuuid_body() { local partuuid="f6daa453-3150-46a2-b6f9-863e38fcd2aa" + mkdir bin - cat <<-EOF > blkid + cat <<-EOF > bin/blkid #!/bin/sh # blkid mock case \$1 in @@ -114,11 +117,44 @@ persistent_storage_by_partuuid_body() { ;; esac EOF - chmod +x blkid - export PATH="$PWD:$PATH" + chmod +x bin/blkid + export PATH="$PWD/bin:$PATH" MDEV=vda1 ACTION=add atf_check \ sh $mdevscript atf_check -o match:"vda1" \ readlink disk/by-partuuid/"$partuuid" } + +persistent_storage_usbdisk_symlink_body() { + mkdir -p sys/class/block sys/block bin + ln -s ../../devices/pci0000:00/0000:00:14.0/usb2/2-10/2-10:1.0/host4/target4:0:0/4:0:0:0 sys/class/block/sdc + ln -s ../devices/pci0000:00/0000:00:14.0/usb2/2-10/2-10:1.0/host4/target4:0:0/4:0:0:0 sys/block/sdc + + cat <<-EOF > bin/blkid + #!/bin/sh + # blkid mock + case \$1 in + /dev/sdc) + echo '/dev/sdc: UUID="436D-F3F4" BLOCK_SIZE="512" TYPE="vfat"' + ;; + esac + EOF + chmod +x bin/blkid + export PATH="$PWD/bin:$PATH" + + MDEV=sdc ACTION=add atf_check \ + sh $mdevscript + atf_check -o match:"sdc" \ + readlink usbdisk +} + +persistent_storage_usbdisk_partition_symlink_body() { + mkdir -p sys/class/block + ln -s ../../devices/pci0000:00/0000:00:14.0/usb2/2-10/2-10:1.0/host4/target4:0:0/4:0:0:0 sys/class/block/sdc1 + + MDEV=sdc1 ACTION=add atf_check \ + sh $mdevscript + atf_check -o match:"sdc1" \ + readlink usbdisk +} |