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…
	
	Add table
		Add a link
		
	
		Reference in a new issue