From 8a63da5dd5af1bb62fb1124d4237faa2d0a8ffde Mon Sep 17 00:00:00 2001 From: Phil Clifford Date: Wed, 15 Mar 2023 18:49:40 +0000 Subject: [PATCH] Make dragonfly releases dynamic Also support their .bz2 compressed isos, giving access to all releases back to 2017. Removing (or making optional) the .bz2 in the search will just return the current iso --- quickget | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/quickget b/quickget index b03b5ab..9868bc3 100755 --- a/quickget +++ b/quickget @@ -296,7 +296,10 @@ function releases_devuan() { } function releases_dragonflybsd() { - echo 6.4.0 + # If you remove "".bz2" from the end of the searched URL, you will get only the current release - currently 6.4.0 + # We could add a variable so this behaviour is optional/switchable (maybe from option or env) + DBSD_RELEASES=$(curl -sL http://mirror-master.dragonflybsd.org/iso-images/| grep -E -o '\"dfly-x86_64-.*_REL.iso.bz2\"' | grep -o -E '[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+' ) + echo $DBSD_RELEASES } function releases_elementary() { @@ -1080,7 +1083,7 @@ function get_devuan() { function get_dragonflybsd() { local HASH="" - local ISO="dfly-x86_64-${RELEASE}_REL.iso" + local ISO="dfly-x86_64-${RELEASE}_REL.iso.bz2" local URL="http://mirror-master.dragonflybsd.org/iso-images" HASH=$(wget -q -O- "${URL}/md5.txt" | grep "(${ISO})" | cut -d' ' -f4) @@ -2043,6 +2046,13 @@ create_vm() { ISO="${ISO/.gz/}" fi + # Could be other OS iso files compressed with bzip2 or gzip + # but for now we'll keep this to know cases + if [[ ${OS} == "dragonflybsd" ]] && [[ ${ISO} =~ ".bz2" ]]; then + bzip2 -d "${VM_PATH}/${ISO}" + ISO="${ISO/.bz2/}" + fi + if [ ${OS} == "reactos" ] && [[ $ISO =~ ".zip" ]]; then unzip ${VM_PATH}/${ISO} -d ${VM_PATH} ISO=$(ls ${VM_PATH} | grep -i '.iso' | grep -v '.zip')