44#
55# USAGE:
66#
7- # ./qemu-test-repo-vm [URL]
7+ # ./qemu-test-repo-vm [--install] [URL]
8+ #
9+ # --lookup: When testing a repo, only lookup the latest package versions,
10+ # don't try to install them. Installing all of them takes over
11+ # an hour, so this is much quicker.
812#
913# URL: URL to use instead of http://download.zfsonlinux.org
1014# If blank, use the default repo from zfs-release RPM.
@@ -15,6 +19,13 @@ source /etc/os-release
1519OS=" $ID "
1620VERSION=" $VERSION_ID "
1721
22+
23+ LOOKUP=" "
24+ if [ -n " $1 " ] && [ " $1 " == " --lookup" ] ; then
25+ LOOKUP=1
26+ shift
27+ fi
28+
1829ALTHOST=" "
1930if [ -n " $1 " ] ; then
2031 ALTHOST=" $1 "
@@ -42,6 +53,15 @@ function test_install {
4253 sudo sed -i " s;baseurl=http://download.zfsonlinux.org;baseurl=$host ;g" /etc/yum.repos.d/zfs.repo
4354 fi
4455
56+ baseurl=$( grep -A 5 " \[$repo \]" /etc/yum.repos.d/zfs.repo | awk -F' =' ' /baseurl=/{print $2; exit}' )
57+
58+ # Just do a version lookup - don't try to install any RPMs
59+ if [ " $LOOKUP " == " 1" ] ; then
60+ package=" $( dnf list $args zfs | tail -n 1 | awk ' {print $2}' ) "
61+ echo " $repo ${package} $baseurl " >> $SUMMARY
62+ return
63+ fi
64+
4565 if ! sudo dnf -y install $args zfs zfs-test ; then
4666 echo " $repo ${package} ...[FAILED] $baseurl " >> $SUMMARY
4767 return
@@ -54,7 +74,6 @@ function test_install {
5474 sudo zpool status
5575
5676 # Print out repo name, rpm installed (kmod or dkms), and repo URL
57- baseurl=$( grep -A 5 " \[$repo \]" /etc/yum.repos.d/zfs.repo | awk -F' =' ' /baseurl=/{print $2; exit}' )
5877 package=$( sudo rpm -qa | grep zfs | grep -E ' kmod|dkms' )
5978
6079 echo " $repo $package $baseurl " >> $SUMMARY
@@ -75,15 +94,15 @@ almalinux*)
7594 sudo rpm -qi zfs-release
7695 for i in zfs zfs-kmod zfs-testing zfs-testing-kmod zfs-latest \
7796 zfs-latest-kmod zfs-legacy zfs-legacy-kmod zfs-2.2 \
78- zfs-2.2-kmod zfs-2.3 zfs-2.3-kmod ; do
97+ zfs-2.2-kmod zfs-2.3 zfs-2.3-kmod zfs-2.4 zfs-2.4-kmod ; do
7998 test_install $i $ALTHOST
8099 done
81100 ;;
82101fedora* )
83102 url=' https://raw.githubusercontent.com/openzfs/openzfs-docs/refs/heads/master/docs/Getting%20Started/Fedora/index.rst'
84103 name=$( curl -Ls $url | grep ' dnf install' | grep -Eo ' zfs-release-[0-9]+-[0-9]+' )
85104 sudo dnf -y install -y https://zfsonlinux.org/fedora/$name $( rpm --eval " %{dist}" ) .noarch.rpm
86- for i in zfs zfs-latest zfs-legacy zfs-2.2 zfs-2.3 ; do
105+ for i in zfs zfs-latest zfs-legacy zfs-2.2 zfs-2.3 zfs-2.4 ; do
87106 test_install $i $ALTHOST
88107 done
89108 ;;
0 commit comments