mirror of
https://github.com/oSoWoSo/DistroHopper.git
synced 2024-08-14 22:46:53 +00:00
Reorder get_() and releases_() functions
This commit is contained in:
parent
3f72f79e59
commit
35216cef15
1 changed files with 254 additions and 256 deletions
510
quickget
510
quickget
|
@ -168,8 +168,8 @@ function os_support() {
|
||||||
debian \
|
debian \
|
||||||
devuan \
|
devuan \
|
||||||
elementary \
|
elementary \
|
||||||
freebsd \
|
|
||||||
fedora \
|
fedora \
|
||||||
|
freebsd \
|
||||||
garuda \
|
garuda \
|
||||||
gentoo \
|
gentoo \
|
||||||
haiku \
|
haiku \
|
||||||
|
@ -240,6 +240,11 @@ function releases_arcolinux() {
|
||||||
echo latest
|
echo latest
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function releases_cachyos() {
|
||||||
|
echo 2022.01.09 \
|
||||||
|
2022.02.11
|
||||||
|
}
|
||||||
|
|
||||||
function releases_debian() {
|
function releases_debian() {
|
||||||
echo 11.2.0
|
echo 11.2.0
|
||||||
}
|
}
|
||||||
|
@ -255,11 +260,6 @@ function editions_debian() {
|
||||||
xfce
|
xfce
|
||||||
}
|
}
|
||||||
|
|
||||||
function releases_cachyos() {
|
|
||||||
echo 2022.01.09 \
|
|
||||||
2022.02.11
|
|
||||||
}
|
|
||||||
|
|
||||||
function releases_devuan() {
|
function releases_devuan() {
|
||||||
echo beowulf \
|
echo beowulf \
|
||||||
chimaera
|
chimaera
|
||||||
|
@ -269,19 +269,15 @@ function releases_elementary() {
|
||||||
echo 6.1
|
echo 6.1
|
||||||
}
|
}
|
||||||
|
|
||||||
function releases_freebsd(){
|
|
||||||
echo 12.2 \
|
|
||||||
13.0
|
|
||||||
}
|
|
||||||
|
|
||||||
function releases_fedora(){
|
function releases_fedora(){
|
||||||
echo 33 \
|
echo 33 \
|
||||||
34 \
|
34 \
|
||||||
35
|
35
|
||||||
}
|
}
|
||||||
|
|
||||||
function releases_gentoo(){
|
function releases_freebsd(){
|
||||||
echo latest
|
echo 12.2 \
|
||||||
|
13.0
|
||||||
}
|
}
|
||||||
|
|
||||||
function releases_garuda() {
|
function releases_garuda() {
|
||||||
|
@ -301,6 +297,10 @@ function releases_garuda() {
|
||||||
cinnamon
|
cinnamon
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function releases_gentoo(){
|
||||||
|
echo latest
|
||||||
|
}
|
||||||
|
|
||||||
function releases_haiku() {
|
function releases_haiku() {
|
||||||
echo r1beta3-x86_64 \
|
echo r1beta3-x86_64 \
|
||||||
r1beta3-x86_gcc2h
|
r1beta3-x86_gcc2h
|
||||||
|
@ -342,6 +342,25 @@ function editions_mxlinux(){
|
||||||
fluxbox
|
fluxbox
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function releases_macos() {
|
||||||
|
echo high-sierra \
|
||||||
|
mojave \
|
||||||
|
catalina \
|
||||||
|
big-sur \
|
||||||
|
monterey
|
||||||
|
}
|
||||||
|
|
||||||
|
function releases_manjaro() {
|
||||||
|
echo xfce \
|
||||||
|
gnome \
|
||||||
|
kde \
|
||||||
|
budgie \
|
||||||
|
cinnamon \
|
||||||
|
deepin \
|
||||||
|
i3 \
|
||||||
|
mate
|
||||||
|
}
|
||||||
|
|
||||||
function releases_nixos(){
|
function releases_nixos(){
|
||||||
echo 21.05 \
|
echo 21.05 \
|
||||||
21.11
|
21.11
|
||||||
|
@ -353,7 +372,6 @@ function editions_nixos(){
|
||||||
minimal
|
minimal
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function releases_openbsd(){
|
function releases_openbsd(){
|
||||||
echo 7.0
|
echo 7.0
|
||||||
}
|
}
|
||||||
|
@ -377,25 +395,6 @@ function releases_oraclelinux() {
|
||||||
7.7
|
7.7
|
||||||
}
|
}
|
||||||
|
|
||||||
function releases_macos() {
|
|
||||||
echo high-sierra \
|
|
||||||
mojave \
|
|
||||||
catalina \
|
|
||||||
big-sur \
|
|
||||||
monterey
|
|
||||||
}
|
|
||||||
|
|
||||||
function releases_manjaro() {
|
|
||||||
echo xfce \
|
|
||||||
gnome \
|
|
||||||
kde \
|
|
||||||
budgie \
|
|
||||||
cinnamon \
|
|
||||||
deepin \
|
|
||||||
i3 \
|
|
||||||
mate
|
|
||||||
}
|
|
||||||
|
|
||||||
function releases_popos() {
|
function releases_popos() {
|
||||||
echo 20.04 \
|
echo 20.04 \
|
||||||
21.04 \
|
21.04 \
|
||||||
|
@ -414,7 +413,6 @@ function releases_regolith() {
|
||||||
2.0.0_hirsute
|
2.0.0_hirsute
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function releases_rockylinux() {
|
function releases_rockylinux() {
|
||||||
echo 8.5 \
|
echo 8.5 \
|
||||||
8.4 \
|
8.4 \
|
||||||
|
@ -848,19 +846,6 @@ function get_elementary() {
|
||||||
make_vm_config "${ISO}"
|
make_vm_config "${ISO}"
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_freebsd() {
|
|
||||||
local HASH=""
|
|
||||||
local ISO=""
|
|
||||||
local URL=""
|
|
||||||
|
|
||||||
ISO="FreeBSD-${RELEASE}-RELEASE-amd64-dvd1.iso"
|
|
||||||
HASH=$(wget -q -O- "https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/${RELEASE}/CHECKSUM.SHA512-FreeBSD-${RELEASE}-RELEASE-amd64" | grep '('"${ISO}"')' | cut -d' ' -f4)
|
|
||||||
URL="https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/${RELEASE}/${ISO}"
|
|
||||||
web_get "${URL}" "${VM_PATH}"
|
|
||||||
check_hash "${ISO}" "${HASH}"
|
|
||||||
make_vm_config "${ISO}"
|
|
||||||
}
|
|
||||||
|
|
||||||
function get_fedora() {
|
function get_fedora() {
|
||||||
local FEDORA_RELEASE=""
|
local FEDORA_RELEASE=""
|
||||||
local FEDORA_VERSIONS=""
|
local FEDORA_VERSIONS=""
|
||||||
|
@ -886,6 +871,47 @@ function get_fedora() {
|
||||||
make_vm_config "${ISO}"
|
make_vm_config "${ISO}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function get_freebsd() {
|
||||||
|
local HASH=""
|
||||||
|
local ISO=""
|
||||||
|
local URL=""
|
||||||
|
|
||||||
|
ISO="FreeBSD-${RELEASE}-RELEASE-amd64-dvd1.iso"
|
||||||
|
HASH=$(wget -q -O- "https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/${RELEASE}/CHECKSUM.SHA512-FreeBSD-${RELEASE}-RELEASE-amd64" | grep '('"${ISO}"')' | cut -d' ' -f4)
|
||||||
|
URL="https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/${RELEASE}/${ISO}"
|
||||||
|
web_get "${URL}" "${VM_PATH}"
|
||||||
|
check_hash "${ISO}" "${HASH}"
|
||||||
|
make_vm_config "${ISO}"
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_garuda() {
|
||||||
|
local DATE=""
|
||||||
|
local HASH=""
|
||||||
|
local ISO=""
|
||||||
|
local URL="http://mirrors.fossho.st/garuda/iso"
|
||||||
|
local REL_TYPE=""
|
||||||
|
local LATEST_URL=""
|
||||||
|
local HASH_URL=""
|
||||||
|
|
||||||
|
case ${RELEASE} in
|
||||||
|
mate|cinnamon)
|
||||||
|
REL_TYPE="community";;
|
||||||
|
*)
|
||||||
|
REL_TYPE="garuda";;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Follow daily releases and use SHA hash file to derive .iso and date
|
||||||
|
LATEST_URL="${URL}/latest/${REL_TYPE}/${RELEASE}/latest.iso.sha256"
|
||||||
|
HASH_URL="$(wget -q -O- "${LATEST_URL}")"
|
||||||
|
ISO="$(echo "${HASH_URL}" | awk '{print $NF}')"
|
||||||
|
HASH=$(echo "${HASH_URL}" | cut -d' ' -f1)
|
||||||
|
DATE=$(echo "${ISO}" | awk -F'-' '{print $NF}' | cut -d'.' -f1)
|
||||||
|
URL="${URL}/${REL_TYPE}/${RELEASE}/${DATE}"
|
||||||
|
web_get "${URL}/${ISO}" "${VM_PATH}"
|
||||||
|
check_hash "${ISO}" "${HASH}"
|
||||||
|
make_vm_config "${OS}-${RELEASE}.iso"
|
||||||
|
}
|
||||||
|
|
||||||
function get_gentoo() {
|
function get_gentoo() {
|
||||||
local HASH=""
|
local HASH=""
|
||||||
local ISO=""
|
local ISO=""
|
||||||
|
@ -898,6 +924,21 @@ function get_gentoo() {
|
||||||
make_vm_config "${ISO}"
|
make_vm_config "${ISO}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function get_haiku() {
|
||||||
|
local BASE=""
|
||||||
|
local ISO=""
|
||||||
|
local URL=""
|
||||||
|
local HASH=""
|
||||||
|
|
||||||
|
BASE=$(echo "${RELEASE}" | cut -d'-' -f1)
|
||||||
|
URL="https://cdn.haiku-os.org/haiku-release/${BASE}"
|
||||||
|
ISO="haiku-${RELEASE}-anyboot.iso"
|
||||||
|
HASH=$(wget -q -O- "${URL}/${ISO}.sha256" | grep "${ISO}" | cut -d' ' -f4)
|
||||||
|
web_get "${URL}/${ISO}" "${VM_PATH}"
|
||||||
|
check_hash "${ISO}" "${HASH}"
|
||||||
|
make_vm_config "${ISO}"
|
||||||
|
}
|
||||||
|
|
||||||
function get_kali() {
|
function get_kali() {
|
||||||
local HASH=""
|
local HASH=""
|
||||||
local ISO=""
|
local ISO=""
|
||||||
|
@ -957,6 +998,74 @@ function get_linuxmint() {
|
||||||
make_vm_config "${ISO}"
|
make_vm_config "${ISO}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function get_macos() {
|
||||||
|
local BOARD_ID=""
|
||||||
|
local CWD=""
|
||||||
|
local MACRECOVERY=""
|
||||||
|
local MLB=""
|
||||||
|
|
||||||
|
case ${RELEASE} in
|
||||||
|
high-sierra)
|
||||||
|
BOARD_ID="Mac-7BA5B2D9E42DDD94"
|
||||||
|
MLB="00000000000J80300";;
|
||||||
|
mojave)
|
||||||
|
BOARD_ID="Mac-7BA5B2DFE22DDD8C"
|
||||||
|
MLB="00000000000KXPG00";;
|
||||||
|
catalina)
|
||||||
|
BOARD_ID="Mac-CFF7D910A743CAAF"
|
||||||
|
MLB="00000000000PHCD00";;
|
||||||
|
big-sur)
|
||||||
|
BOARD_ID="Mac-35C1E88140C3E6CF"
|
||||||
|
MLB="00000000000000000";;
|
||||||
|
monterey)
|
||||||
|
BOARD_ID="Mac-06F11F11946D27C5"
|
||||||
|
MLB="00000000000000000";;
|
||||||
|
*) echo "ERROR! Unknown release: ${RELEASE}"
|
||||||
|
releases_macos
|
||||||
|
exit 1;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Use a bundled macrecovery if possible
|
||||||
|
CWD="$(dirname "${0}")"
|
||||||
|
if [ -x "${CWD}/macrecovery" ]; then
|
||||||
|
MACRECOVERY="${CWD}/macrecovery"
|
||||||
|
elif [ -x /usr/bin/macrecovery ]; then
|
||||||
|
MACRECOVERY="/usr/bin/macrecovery"
|
||||||
|
else
|
||||||
|
web_get "https://raw.githubusercontent.com/wimpysworld/quickemu/master/macrecovery" "${HOME}/.quickemu"
|
||||||
|
MACRECOVERY="python3 ${HOME}/.quickemu/macrecovery"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${MACRECOVERY}" ]; then
|
||||||
|
echo "ERROR! Can not find a usable macrecovery."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Get firmware
|
||||||
|
web_get "https://github.com/kholia/OSX-KVM/raw/master/OpenCore/OpenCore.qcow2" "${VM_PATH}"
|
||||||
|
web_get "https://github.com/kholia/OSX-KVM/raw/master/OVMF_CODE.fd" "${VM_PATH}"
|
||||||
|
if [ ! -e "${VM_PATH}/OVMF_VARS-1024x768.fd" ]; then
|
||||||
|
web_get "https://github.com/kholia/OSX-KVM/raw/master/OVMF_VARS-1024x768.fd" "${VM_PATH}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -e "${VM_PATH}/RecoveryImage.chunklist" ]; then
|
||||||
|
echo "Downloading ${RELEASE}..."
|
||||||
|
${MACRECOVERY} \
|
||||||
|
--board-id "${BOARD_ID}" \
|
||||||
|
--mlb "${MLB}" \
|
||||||
|
--basename RecoveryImage \
|
||||||
|
--outdir "${VM_PATH}" \
|
||||||
|
download
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -e "${VM_PATH}/RecoveryImage.dmg" ] && [ ! -e "${VM_PATH}/RecoveryImage.img" ]; then
|
||||||
|
echo "Converting RecoveryImage..."
|
||||||
|
qemu-img convert "${VM_PATH}/RecoveryImage.dmg" -O raw "${VM_PATH}/RecoveryImage.img"
|
||||||
|
fi
|
||||||
|
|
||||||
|
make_vm_config RecoveryImage.img
|
||||||
|
}
|
||||||
|
|
||||||
function get_manjaro() {
|
function get_manjaro() {
|
||||||
local BRANCH=""
|
local BRANCH=""
|
||||||
local HASH=""
|
local HASH=""
|
||||||
|
@ -1041,37 +1150,98 @@ function get_openbsd() {
|
||||||
make_vm_config "${ISO}"
|
make_vm_config "${ISO}"
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_void() {
|
function get_opensuse() {
|
||||||
local DATE=""
|
|
||||||
local EDITION=""
|
|
||||||
local HASH=""
|
local HASH=""
|
||||||
local ISO=""
|
local ISO=""
|
||||||
local URL="https://alpha.de.repo.voidlinux.org/live/current"
|
local URL=""
|
||||||
|
|
||||||
DATE=$(wget -q -O- "${URL}/sha256sum.txt" | head -n1 | cut -d'.' -f1 | cut -d'-' -f4)
|
if [ "${RELEASE}" == "tumbleweed" ]; then
|
||||||
if [ -n "${1}" ]; then
|
ISO="openSUSE-Tumbleweed-DVD-x86_64-Current.iso"
|
||||||
EDITION="${1}"
|
URL="https://download.opensuse.org/tumbleweed/iso/${ISO}"
|
||||||
|
HASH=$(wget -q -O- "${URL}.sha256" | cut -d' ' -f1)
|
||||||
|
elif [ "${RELEASE}" == "microos" ]; then
|
||||||
|
ISO="openSUSE-MicroOS-DVD-x86_64-Current.iso"
|
||||||
|
URL="https://download.opensuse.org/tumbleweed/iso/${ISO}"
|
||||||
|
HASH=$(wget -q -O- "${URL}.sha256" | cut -d' ' -f1)
|
||||||
|
elif [ "$RELEASE" == 15.0 ] || [ "$RELEASE" == 15.1 ]; then
|
||||||
|
ISO="openSUSE-Leap-${RELEASE}-DVD-x86_64.iso"
|
||||||
|
URL="https://download.opensuse.org/distribution/leap/${RELEASE}/iso/${ISO}"
|
||||||
|
HASH=$(wget -q -O- "${URL}.sha256" | cut -d' ' -f1)
|
||||||
|
else
|
||||||
|
ISO="openSUSE-Leap-${RELEASE}-DVD-x86_64-Current.iso"
|
||||||
|
URL="https://download.opensuse.org/distribution/leap/${RELEASE}/iso/${ISO}"
|
||||||
|
HASH=$(wget -q -O- "${URL}.sha256" | cut -d' ' -f1)
|
||||||
fi
|
fi
|
||||||
case ${EDITION} in
|
web_get "${URL}" "${VM_PATH}"
|
||||||
glibc) ISO="void-live-x86_64-${DATE}.iso";;
|
check_hash "${ISO}" "${HASH}"
|
||||||
musl) ISO="void-live-x86_64-musl-${DATE}.iso";;
|
make_vm_config "${ISO}"
|
||||||
xfce-glibc) ISO="void-live-x86_64-${DATE}-xfce.iso";;
|
}
|
||||||
xfce-musl) ISO="void-live-x86_64-musl-${DATE}-xfce.iso";;
|
|
||||||
esac
|
function get_oraclelinux() {
|
||||||
HASH="$(wget -q -O- "${URL}/sha256sum.txt" | grep "${ISO}" | cut -d' ' -f4)"
|
local HASH=""
|
||||||
|
local ISO=""
|
||||||
|
local URL=""
|
||||||
|
local VER_MAJ=""
|
||||||
|
local VER_MIN=""
|
||||||
|
|
||||||
|
VER_MAJ=${RELEASE::1}
|
||||||
|
VER_MIN=${RELEASE:2:1}
|
||||||
|
URL="https://yum.oracle.com/ISOS/OracleLinux/OL${VER_MAJ}/u${VER_MIN}/x86_64/"
|
||||||
|
if [ "${VER_MAJ}" == "8" ]; then
|
||||||
|
ISO="OracleLinux-R${VER_MAJ}-U${VER_MIN}-x86_64-dvd.iso"
|
||||||
|
else
|
||||||
|
ISO="OracleLinux-R${VER_MAJ}-U${VER_MIN}-Server-x86_64-dvd.iso"
|
||||||
|
fi
|
||||||
|
HASH=$(wget -q -O- "https://linux.oracle.com/security/gpg/checksum/OracleLinux-R${VER_MAJ}-U${VER_MIN}-Server-x86_64.checksum" | grep "${ISO}" | cut -d' ' -f1)
|
||||||
web_get "${URL}/${ISO}" "${VM_PATH}"
|
web_get "${URL}/${ISO}" "${VM_PATH}"
|
||||||
check_hash "${ISO}" "${HASH}"
|
check_hash "${ISO}" "${HASH}"
|
||||||
make_vm_config "${ISO}"
|
make_vm_config "${ISO}"
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_zorin() {
|
function get_popos() {
|
||||||
|
local EDITION=""
|
||||||
|
local HASH=""
|
||||||
local ISO=""
|
local ISO=""
|
||||||
local URL=""
|
local URL=""
|
||||||
|
|
||||||
# Parse out the iso URL from the redirector
|
if [ -n "${1}" ]; then
|
||||||
URL=$(wget -q -S -O- --max-redirect=0 "https://zrn.co/${RELEASE}" 2>&1 | grep Location | cut -d' ' -f4)
|
EDITION="${1}"
|
||||||
ISO="${URL##*/}"
|
fi
|
||||||
|
|
||||||
|
URL=$(wget -q -O- "https://api.pop-os.org/builds/${RELEASE}/${EDITION}" | jq ".url")
|
||||||
|
URL="${URL//\"/}"
|
||||||
|
ISO=$(echo "${URL}" | sed -e "s/.*\/\([^\/]*\)$/\1/")
|
||||||
|
HASH=$(wget -q -O- "https://api.pop-os.org/builds/${RELEASE}/${EDITION}" | jq ".sha_sum")
|
||||||
|
HASH="${HASH//\"/}"
|
||||||
web_get "${URL}" "${VM_PATH}"
|
web_get "${URL}" "${VM_PATH}"
|
||||||
|
check_hash "${ISO}" "${HASH}"
|
||||||
|
make_vm_config "${ISO}"
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_regolith() {
|
||||||
|
local HASH=""
|
||||||
|
local ISO=""
|
||||||
|
local URL="https://github.com/regolith-linux/regolith-ubuntu-iso-builder/releases/download"
|
||||||
|
|
||||||
|
case ${RELEASE} in
|
||||||
|
1.6.0_focal)
|
||||||
|
URL="${URL}/release-release-focal-focal_standard-1.6.0"
|
||||||
|
HASH=$(wget -q -O- "${URL}/SHA256SUMS" | cut -d' ' -f1)
|
||||||
|
;;
|
||||||
|
1.6.0_hirsute)
|
||||||
|
URL="${URL}/release-release-hirsute-hirsute_standard-1.6.0"
|
||||||
|
HASH=$(wget -q -O- "${URL}/SHA256SUMS" | cut -d' ' -f1)
|
||||||
|
;;
|
||||||
|
2.0.0_impish)
|
||||||
|
URL="${URL}/regolith-linux-2.0-impish-latest";;
|
||||||
|
2.0.0_hirsute)
|
||||||
|
URL="${URL}/regolith-linux-2.0-hirsute-latest";;
|
||||||
|
esac
|
||||||
|
ISO="Regolith_${RELEASE}.iso"
|
||||||
|
web_get "${URL}/${ISO}" "${VM_PATH}"
|
||||||
|
if [ -n "${HASH}" ]; then
|
||||||
|
check_hash "${ISO}" "${HASH}"
|
||||||
|
fi
|
||||||
make_vm_config "${ISO}"
|
make_vm_config "${ISO}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1140,169 +1310,6 @@ function get_solus() {
|
||||||
make_vm_config "${ISO}"
|
make_vm_config "${ISO}"
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_opensuse() {
|
|
||||||
local HASH=""
|
|
||||||
local ISO=""
|
|
||||||
local URL=""
|
|
||||||
|
|
||||||
if [ "${RELEASE}" == "tumbleweed" ]; then
|
|
||||||
ISO="openSUSE-Tumbleweed-DVD-x86_64-Current.iso"
|
|
||||||
URL="https://download.opensuse.org/tumbleweed/iso/${ISO}"
|
|
||||||
HASH=$(wget -q -O- "${URL}.sha256" | cut -d' ' -f1)
|
|
||||||
elif [ "${RELEASE}" == "microos" ]; then
|
|
||||||
ISO="openSUSE-MicroOS-DVD-x86_64-Current.iso"
|
|
||||||
URL="https://download.opensuse.org/tumbleweed/iso/${ISO}"
|
|
||||||
HASH=$(wget -q -O- "${URL}.sha256" | cut -d' ' -f1)
|
|
||||||
elif [ "$RELEASE" == 15.0 ] || [ "$RELEASE" == 15.1 ]; then
|
|
||||||
ISO="openSUSE-Leap-${RELEASE}-DVD-x86_64.iso"
|
|
||||||
URL="https://download.opensuse.org/distribution/leap/${RELEASE}/iso/${ISO}"
|
|
||||||
HASH=$(wget -q -O- "${URL}.sha256" | cut -d' ' -f1)
|
|
||||||
else
|
|
||||||
ISO="openSUSE-Leap-${RELEASE}-DVD-x86_64-Current.iso"
|
|
||||||
URL="https://download.opensuse.org/distribution/leap/${RELEASE}/iso/${ISO}"
|
|
||||||
HASH=$(wget -q -O- "${URL}.sha256" | cut -d' ' -f1)
|
|
||||||
fi
|
|
||||||
web_get "${URL}" "${VM_PATH}"
|
|
||||||
check_hash "${ISO}" "${HASH}"
|
|
||||||
make_vm_config "${ISO}"
|
|
||||||
}
|
|
||||||
|
|
||||||
function get_oraclelinux() {
|
|
||||||
local HASH=""
|
|
||||||
local ISO=""
|
|
||||||
local URL=""
|
|
||||||
local VER_MAJ=""
|
|
||||||
local VER_MIN=""
|
|
||||||
|
|
||||||
VER_MAJ=${RELEASE::1}
|
|
||||||
VER_MIN=${RELEASE:2:1}
|
|
||||||
URL="https://yum.oracle.com/ISOS/OracleLinux/OL${VER_MAJ}/u${VER_MIN}/x86_64/"
|
|
||||||
if [ "${VER_MAJ}" == "8" ]; then
|
|
||||||
ISO="OracleLinux-R${VER_MAJ}-U${VER_MIN}-x86_64-dvd.iso"
|
|
||||||
else
|
|
||||||
ISO="OracleLinux-R${VER_MAJ}-U${VER_MIN}-Server-x86_64-dvd.iso"
|
|
||||||
fi
|
|
||||||
HASH=$(wget -q -O- "https://linux.oracle.com/security/gpg/checksum/OracleLinux-R${VER_MAJ}-U${VER_MIN}-Server-x86_64.checksum" | grep "${ISO}" | cut -d' ' -f1)
|
|
||||||
web_get "${URL}/${ISO}" "${VM_PATH}"
|
|
||||||
check_hash "${ISO}" "${HASH}"
|
|
||||||
make_vm_config "${ISO}"
|
|
||||||
}
|
|
||||||
|
|
||||||
function get_macos() {
|
|
||||||
local BOARD_ID=""
|
|
||||||
local CWD=""
|
|
||||||
local MACRECOVERY=""
|
|
||||||
local MLB=""
|
|
||||||
|
|
||||||
case ${RELEASE} in
|
|
||||||
high-sierra)
|
|
||||||
BOARD_ID="Mac-7BA5B2D9E42DDD94"
|
|
||||||
MLB="00000000000J80300";;
|
|
||||||
mojave)
|
|
||||||
BOARD_ID="Mac-7BA5B2DFE22DDD8C"
|
|
||||||
MLB="00000000000KXPG00";;
|
|
||||||
catalina)
|
|
||||||
BOARD_ID="Mac-CFF7D910A743CAAF"
|
|
||||||
MLB="00000000000PHCD00";;
|
|
||||||
big-sur)
|
|
||||||
BOARD_ID="Mac-35C1E88140C3E6CF"
|
|
||||||
MLB="00000000000000000";;
|
|
||||||
monterey)
|
|
||||||
BOARD_ID="Mac-06F11F11946D27C5"
|
|
||||||
MLB="00000000000000000";;
|
|
||||||
*) echo "ERROR! Unknown release: ${RELEASE}"
|
|
||||||
releases_macos
|
|
||||||
exit 1;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# Use a bundled macrecovery if possible
|
|
||||||
CWD="$(dirname "${0}")"
|
|
||||||
if [ -x "${CWD}/macrecovery" ]; then
|
|
||||||
MACRECOVERY="${CWD}/macrecovery"
|
|
||||||
elif [ -x /usr/bin/macrecovery ]; then
|
|
||||||
MACRECOVERY="/usr/bin/macrecovery"
|
|
||||||
else
|
|
||||||
web_get "https://raw.githubusercontent.com/wimpysworld/quickemu/master/macrecovery" "${HOME}/.quickemu"
|
|
||||||
MACRECOVERY="python3 ${HOME}/.quickemu/macrecovery"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "${MACRECOVERY}" ]; then
|
|
||||||
echo "ERROR! Can not find a usable macrecovery."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Get firmware
|
|
||||||
web_get "https://github.com/kholia/OSX-KVM/raw/master/OpenCore/OpenCore.qcow2" "${VM_PATH}"
|
|
||||||
web_get "https://github.com/kholia/OSX-KVM/raw/master/OVMF_CODE.fd" "${VM_PATH}"
|
|
||||||
if [ ! -e "${VM_PATH}/OVMF_VARS-1024x768.fd" ]; then
|
|
||||||
web_get "https://github.com/kholia/OSX-KVM/raw/master/OVMF_VARS-1024x768.fd" "${VM_PATH}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -e "${VM_PATH}/RecoveryImage.chunklist" ]; then
|
|
||||||
echo "Downloading ${RELEASE}..."
|
|
||||||
${MACRECOVERY} \
|
|
||||||
--board-id "${BOARD_ID}" \
|
|
||||||
--mlb "${MLB}" \
|
|
||||||
--basename RecoveryImage \
|
|
||||||
--outdir "${VM_PATH}" \
|
|
||||||
download
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -e "${VM_PATH}/RecoveryImage.dmg" ] && [ ! -e "${VM_PATH}/RecoveryImage.img" ]; then
|
|
||||||
echo "Converting RecoveryImage..."
|
|
||||||
qemu-img convert "${VM_PATH}/RecoveryImage.dmg" -O raw "${VM_PATH}/RecoveryImage.img"
|
|
||||||
fi
|
|
||||||
|
|
||||||
make_vm_config RecoveryImage.img
|
|
||||||
}
|
|
||||||
|
|
||||||
function get_popos() {
|
|
||||||
local EDITION=""
|
|
||||||
local HASH=""
|
|
||||||
local ISO=""
|
|
||||||
local URL=""
|
|
||||||
|
|
||||||
if [ -n "${1}" ]; then
|
|
||||||
EDITION="${1}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
URL=$(wget -q -O- "https://api.pop-os.org/builds/${RELEASE}/${EDITION}" | jq ".url")
|
|
||||||
URL="${URL//\"/}"
|
|
||||||
ISO=$(echo "${URL}" | sed -e "s/.*\/\([^\/]*\)$/\1/")
|
|
||||||
HASH=$(wget -q -O- "https://api.pop-os.org/builds/${RELEASE}/${EDITION}" | jq ".sha_sum")
|
|
||||||
HASH="${HASH//\"/}"
|
|
||||||
web_get "${URL}" "${VM_PATH}"
|
|
||||||
check_hash "${ISO}" "${HASH}"
|
|
||||||
make_vm_config "${ISO}"
|
|
||||||
}
|
|
||||||
|
|
||||||
function get_regolith() {
|
|
||||||
local HASH=""
|
|
||||||
local ISO=""
|
|
||||||
local URL="https://github.com/regolith-linux/regolith-ubuntu-iso-builder/releases/download"
|
|
||||||
|
|
||||||
case ${RELEASE} in
|
|
||||||
1.6.0_focal)
|
|
||||||
URL="${URL}/release-release-focal-focal_standard-1.6.0"
|
|
||||||
HASH=$(wget -q -O- "${URL}/SHA256SUMS" | cut -d' ' -f1)
|
|
||||||
;;
|
|
||||||
1.6.0_hirsute)
|
|
||||||
URL="${URL}/release-release-hirsute-hirsute_standard-1.6.0"
|
|
||||||
HASH=$(wget -q -O- "${URL}/SHA256SUMS" | cut -d' ' -f1)
|
|
||||||
;;
|
|
||||||
2.0.0_impish)
|
|
||||||
URL="${URL}/regolith-linux-2.0-impish-latest";;
|
|
||||||
2.0.0_hirsute)
|
|
||||||
URL="${URL}/regolith-linux-2.0-hirsute-latest";;
|
|
||||||
esac
|
|
||||||
ISO="Regolith_${RELEASE}.iso"
|
|
||||||
web_get "${URL}/${ISO}" "${VM_PATH}"
|
|
||||||
if [ -n "${HASH}" ]; then
|
|
||||||
check_hash "${ISO}" "${HASH}"
|
|
||||||
fi
|
|
||||||
make_vm_config "${ISO}"
|
|
||||||
}
|
|
||||||
|
|
||||||
function get_tails() {
|
function get_tails() {
|
||||||
local ISO=""
|
local ISO=""
|
||||||
local HASH=""
|
local HASH=""
|
||||||
|
@ -1367,46 +1374,37 @@ function get_ubuntu() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_garuda() {
|
function get_void() {
|
||||||
local DATE=""
|
local DATE=""
|
||||||
|
local EDITION=""
|
||||||
local HASH=""
|
local HASH=""
|
||||||
local ISO=""
|
local ISO=""
|
||||||
local URL="http://mirrors.fossho.st/garuda/iso"
|
local URL="https://alpha.de.repo.voidlinux.org/live/current"
|
||||||
local REL_TYPE=""
|
|
||||||
local LATEST_URL=""
|
|
||||||
local HASH_URL=""
|
|
||||||
|
|
||||||
case ${RELEASE} in
|
DATE=$(wget -q -O- "${URL}/sha256sum.txt" | head -n1 | cut -d'.' -f1 | cut -d'-' -f4)
|
||||||
mate|cinnamon)
|
if [ -n "${1}" ]; then
|
||||||
REL_TYPE="community";;
|
EDITION="${1}"
|
||||||
*)
|
fi
|
||||||
REL_TYPE="garuda";;
|
case ${EDITION} in
|
||||||
|
glibc) ISO="void-live-x86_64-${DATE}.iso";;
|
||||||
|
musl) ISO="void-live-x86_64-musl-${DATE}.iso";;
|
||||||
|
xfce-glibc) ISO="void-live-x86_64-${DATE}-xfce.iso";;
|
||||||
|
xfce-musl) ISO="void-live-x86_64-musl-${DATE}-xfce.iso";;
|
||||||
esac
|
esac
|
||||||
|
HASH="$(wget -q -O- "${URL}/sha256sum.txt" | grep "${ISO}" | cut -d' ' -f4)"
|
||||||
# Follow daily releases and use SHA hash file to derive .iso and date
|
|
||||||
LATEST_URL="${URL}/latest/${REL_TYPE}/${RELEASE}/latest.iso.sha256"
|
|
||||||
HASH_URL="$(wget -q -O- "${LATEST_URL}")"
|
|
||||||
ISO="$(echo "${HASH_URL}" | awk '{print $NF}')"
|
|
||||||
HASH=$(echo "${HASH_URL}" | cut -d' ' -f1)
|
|
||||||
DATE=$(echo "${ISO}" | awk -F'-' '{print $NF}' | cut -d'.' -f1)
|
|
||||||
URL="${URL}/${REL_TYPE}/${RELEASE}/${DATE}"
|
|
||||||
web_get "${URL}/${ISO}" "${VM_PATH}"
|
web_get "${URL}/${ISO}" "${VM_PATH}"
|
||||||
check_hash "${ISO}" "${HASH}"
|
check_hash "${ISO}" "${HASH}"
|
||||||
make_vm_config "${OS}-${RELEASE}.iso"
|
make_vm_config "${ISO}"
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_haiku() {
|
function get_zorin() {
|
||||||
local BASE=""
|
|
||||||
local ISO=""
|
local ISO=""
|
||||||
local URL=""
|
local URL=""
|
||||||
local HASH=""
|
|
||||||
|
|
||||||
BASE=$(echo "${RELEASE}" | cut -d'-' -f1)
|
# Parse out the iso URL from the redirector
|
||||||
URL="https://cdn.haiku-os.org/haiku-release/${BASE}"
|
URL=$(wget -q -S -O- --max-redirect=0 "https://zrn.co/${RELEASE}" 2>&1 | grep Location | cut -d' ' -f4)
|
||||||
ISO="haiku-${RELEASE}-anyboot.iso"
|
ISO="${URL##*/}"
|
||||||
HASH=$(wget -q -O- "${URL}/${ISO}.sha256" | grep "${ISO}" | cut -d' ' -f4)
|
web_get "${URL}" "${VM_PATH}"
|
||||||
web_get "${URL}/${ISO}" "${VM_PATH}"
|
|
||||||
check_hash "${ISO}" "${HASH}"
|
|
||||||
make_vm_config "${ISO}"
|
make_vm_config "${ISO}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue