testing: Use blockdev instead of partprobe to load partitions

This avoids a dependency on parted as blockdev is in util-linux on
Debian/Ubuntu, which is installed by default.  And it might work more
reliably.
This commit is contained in:
Tobias Brunner 2025-04-10 08:00:18 +02:00
parent 353d5c130b
commit d7305a556f
5 changed files with 10 additions and 10 deletions

View File

@ -9,7 +9,7 @@ DIR=$(dirname `readlink -f $0`)
[ `id -u` -eq 0 ] || die "You must be root to run $0"
running_any $STRONGSWANHOSTS && die "Please stop test environment before running $0"
check_commands debootstrap mkfs.ext3 partprobe qemu-img qemu-nbd sfdisk
check_commands debootstrap mkfs.ext3 blockdev qemu-img qemu-nbd sfdisk
# package includes/excludes
INC=automake,autoconf,libtool,bison,flex,gperf,pkg-config,gettext,less,locales
@ -97,7 +97,7 @@ then
else
log_status 0
fi
partprobe $NBDEV
blockdev --rereadpt $NBDEV
log_action "Creating ext3 filesystem"
execute "mkfs.ext3 $NBDPARTITION"

View File

@ -12,7 +12,7 @@ running_any $STRONGSWANHOSTS && die "Please stop test environment before running
SRCUID=${SUDO_UID:-$(id -u)}
SRCGID=${SUDO_GID:-$(id -g)}
check_commands partprobe qemu-img qemu-nbd bindfs
check_commands blockdev qemu-img qemu-nbd bindfs
load_qemu_nbd
@ -22,7 +22,7 @@ mkdir -p $IMGDIR
log_action "Connecting root image to NBD device $NBDEV"
execute "qemu-nbd -c $NBDEV $ROOTIMG"
do_on_exit qemu-nbd -d $NBDEV
partprobe $NBDEV
blockdev --rereadpt $NBDEV
log_action "Mounting $NBDPARTITION to $LOOPDIR"
execute "mount $NBDPARTITION $LOOPDIR"

View File

@ -27,7 +27,7 @@ HOSTSDIR=$DIR/../hosts
[ -f $HOSTDIR ] || die "Hosts directory $HOSTSDIR not found"
running_any $STRONGSWANHOSTS && die "Please stop test environment before running $0"
check_commands partprobe qemu-img qemu-nbd
check_commands blockdev qemu-img qemu-nbd
load_qemu_nbd
@ -43,7 +43,7 @@ do
log_action "Creating guest image for $host"
execute "qemu-img create -b $ROOTIMG -f $IMGEXT -F $IMGEXT $IMGDIR/$host.$IMGEXT" 0
execute "qemu-nbd -c $NBDEV $IMGDIR/$host.$IMGEXT" 0
partprobe $NBDEV
blockdev --rereadpt $NBDEV
execute "mount $NBDPARTITION $LOOPDIR" 0
execute "cp -rf $HOSTSDIR/default/* $LOOPDIR" 0
execute "cp -rf $HOSTSDIR/${host}/etc $LOOPDIR" 0

View File

@ -8,7 +8,7 @@ DIR=$(dirname `readlink -f $0`)
[ -f "$BASEIMG" ] || die "Base image $BASEIMG not found"
running_any $STRONGSWANHOSTS && die "Please stop test environment before running $0"
check_commands partprobe qemu-img qemu-nbd
check_commands blockdev qemu-img qemu-nbd
load_qemu_nbd
@ -115,7 +115,7 @@ case "$GUEST" in
esac
do_on_exit qemu-nbd -d $NBDEV
partprobe $NBDEV
blockdev --rereadpt $NBDEV
log_action "Mounting $NBDPARTITION to $LOOPDIR"
execute "mount $NBDPARTITION $LOOPDIR"

View File

@ -9,7 +9,7 @@ running_any $STRONGSWANHOSTS && die "Please stop test environment before running
[ -n "$1" ] || die "$0 <image to mount: base|root|<guest>>"
check_commands partprobe qemu-nbd
check_commands blockdev qemu-nbd
load_qemu_nbd
@ -42,7 +42,7 @@ root)
esac
do_on_exit qemu-nbd -d $NBDEV
partprobe $NBDEV
blockdev --rereadpt $NBDEV
log_action "Mounting $NBDPARTITION to $LOOPDIR"
execute "mount $NBDPARTITION $LOOPDIR"