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
This commit is contained in:
Phil Clifford 2023-03-15 18:49:40 +00:00
parent c69fa6b430
commit 8a63da5dd5
No known key found for this signature in database
GPG Key ID: 3B0A3BA167A07F7D

View File

@ -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')