mirror of
				https://github.com/oSoWoSo/DistroHopper.git
				synced 2024-08-14 22:46:53 +00:00 
			
		
		
		
	waiting for upstream merge
https://github.com/quickemu-project/quickemu/pull/885
This commit is contained in:
		
							parent
							
								
									43d1d2b907
								
							
						
					
					
						commit
						3d7f452481
					
				
					 2 changed files with 94 additions and 42 deletions
				
			
		
							
								
								
									
										124
									
								
								quickget
									
										
									
									
									
								
							
							
						
						
									
										124
									
								
								quickget
									
										
									
									
									
								
							|  | @ -5,7 +5,7 @@ export LC_ALL=C | |||
| # | ||||
| #    1. Update os_support() - add new OS, all lowercase | ||||
| #    2. Update pretty_name() - add a pretty name for new OS *only if the catch all is not suitable* | ||||
| #    3. Update os_homepages() - add a homepage for new OS | ||||
| #    3. Update os_homepage() - add a homepage for new OS | ||||
| #    4. Create a releases_newos() generator (required) outputs the current supported release versions | ||||
| #    5. Create a editions_newos() generator (optional) outputs the editions if new OS has multiple flavours/editions | ||||
| #    6. Update make_vm_config() - add any *required* new OS tweaks | ||||
|  | @ -51,6 +51,15 @@ elif [ "${1}" == '--open-distro-homepage' ] || [ "${1}" == '-o' ]; then | |||
| elif [ "${1}" == '--show-distro-homepage' ] || [ "${1}" == '-s' ]; then | ||||
|     show_distro_homepage="on" | ||||
|     set -- "$2" | ||||
| elif [ "${1}" == '--download-iso'  ] || [ "${1}" == '-d' ]; then | ||||
|     download_iso="on" | ||||
|     if [ -n "$4" ]; then | ||||
|         set -- "$2" "$3" "$4" | ||||
|     elif [ -n "$3" ]; then | ||||
|         set -- "$2" "$3" | ||||
|     else | ||||
|         set -- "$2" | ||||
|     fi | ||||
| fi | ||||
| 
 | ||||
| function pretty_name() { | ||||
|  | @ -328,7 +337,7 @@ function os_support() { | |||
|     zorin | ||||
| } | ||||
| 
 | ||||
| function os_homepages(){ | ||||
| function os_homepage(){ | ||||
|     local SIMPLE_NAME="" | ||||
|     local HOMEPAGE="" | ||||
|     SIMPLE_NAME="${1}" | ||||
|  | @ -351,7 +360,7 @@ function os_homepages(){ | |||
|         bunsenlabs)        HOMEPAGE="https://www.bunsenlabs.org/";; | ||||
|         cachyos)           HOMEPAGE="https://cachyos.org/";; | ||||
|         centos-stream)     HOMEPAGE="https://www.centos.org/centos-stream/";; | ||||
|         cereues)           HOMEPAGE="https://sourceforge.net/projects/cereus-linux/";; | ||||
|         cereues)           HOMEPAGE="https://cereus-linux.sourceforge.io/";; | ||||
|         chimeralinux)      HOMEPAGE="https://chimera-linux.org/";; | ||||
|         crunchbang++)      HOMEPAGE="https://www.crunchbangplusplus.org/";; | ||||
|         debian)            HOMEPAGE="https://www.debian.org/";; | ||||
|  | @ -381,6 +390,7 @@ function os_homepages(){ | |||
|         linuxlite)         HOMEPAGE="https://www.linuxliteos.com/";; | ||||
|         linuxmint)         HOMEPAGE="https://linuxmint.com/";; | ||||
|         lmde)              HOMEPAGE="https://www.linuxmint.com/download_lmde.php";; | ||||
|         lubuntu)           HOMEPAGE="https://lubuntu.me/";; | ||||
|         mageia)            HOMEPAGE="https://www.mageia.org/";; | ||||
|         manjaro)           HOMEPAGE="https://manjaro.org/";; | ||||
|         mxlinux)           HOMEPAGE="https://mxlinux.org/";; | ||||
|  | @ -389,7 +399,6 @@ function os_homepages(){ | |||
|         netbsd)            HOMEPAGE="https://www.netbsd.org/";; | ||||
|         nitrux)            HOMEPAGE="https://nxos.org/";; | ||||
|         nixos)             HOMEPAGE="https://nixos.org/";; | ||||
|         lubuntu)           HOMEPAGE="https://lubuntu.me/";; | ||||
|         macos)             HOMEPAGE="https://www.apple.com/macos/";; | ||||
|         openbsd)           HOMEPAGE="https://www.openbsd.org/";; | ||||
|         openindiana)       HOMEPAGE="https://www.openindiana.org/";; | ||||
|  | @ -592,11 +601,11 @@ function editions_android() { | |||
| } | ||||
| 
 | ||||
| function releases_antix() { | ||||
| 	echo 21 22 23 | ||||
|     echo 21 22 23 | ||||
| } | ||||
| 
 | ||||
| function editions_antix() { | ||||
| 	echo net-sysv core-sysv base-sysv full-sysv net-runit core-runit base-runit full-runit | ||||
|     echo net-sysv core-sysv base-sysv full-sysv net-runit core-runit base-runit full-runit | ||||
| } | ||||
| 
 | ||||
| function releases_archlinux() { | ||||
|  | @ -799,7 +808,7 @@ function releases_kolibrios() { | |||
| } | ||||
| 
 | ||||
| function releases_linuxlite() { | ||||
| 	echo 6.0 6.2 6.4 6.6 | ||||
|     echo 6.0 6.2 6.4 6.6 | ||||
| } | ||||
| 
 | ||||
| function releases_linuxmint(){ | ||||
|  | @ -961,12 +970,21 @@ function editions_solus() { | |||
|     echo Budgie GNOME MATE Plasma | ||||
| } | ||||
| 
 | ||||
| function releases_sparkylinux() { | ||||
|     local SPARKY_RELEASES=$(wget -qO- "https://sourceforge.net/projects/sparkylinux/rss?path=/" | grep 'link' | grep '.iso' | cut -d'-' -f2 | uniq | tr '\r\n' ' ') | ||||
|     echo "${SPARKY_RELEASES}" | ||||
| } | ||||
| 
 | ||||
| function editions_sparkylinux() { | ||||
|     echo lxqt mate xfce kde minimalgui minimalcli gameover multimedia rescue | ||||
| } | ||||
| 
 | ||||
| function releases_spiral() { | ||||
| 	echo latest | ||||
|     echo latest | ||||
| } | ||||
| 
 | ||||
| function editions_spiral() { | ||||
| 	echo Plasma XFCE Mate LXQt Gnome Budgie Cinnamon Builder | ||||
|     echo Plasma XFCE Mate LXQt Gnome Budgie Cinnamon Builder | ||||
| } | ||||
| 
 | ||||
| function releases_tails() { | ||||
|  | @ -1094,7 +1112,11 @@ function check_hash() { | |||
|     local iso="" | ||||
|     local hash="" | ||||
|     local hash_algo="" | ||||
|     iso="${VM_PATH}/${1}" | ||||
|     if [ "${download_iso}" == "on" ]; then | ||||
|         iso="${1}" | ||||
|     else | ||||
|         iso="${VM_PATH}/${1}" | ||||
|     fi | ||||
|     hash="${2}" | ||||
| 
 | ||||
|     # Guess the hash algorithm by the hash length | ||||
|  | @ -1128,16 +1150,18 @@ function web_get() { | |||
|         FILE="${URL##*/}" | ||||
|     fi | ||||
| 
 | ||||
| 	# Test mode for ISO | ||||
| 	if [ "${show_iso_url}" == 'on' ]; then | ||||
| 	    echo "${URL}" | ||||
| 	    exit 0 | ||||
|     # Test mode for ISO | ||||
|     if [ "${show_iso_url}" == 'on' ]; then | ||||
|         echo "${URL}" | ||||
|         exit 0 | ||||
|     elif [ "${test_iso_url}" == 'on' ]; then | ||||
| 	    wget --spider "${URL}" | ||||
| 	    exit 0 | ||||
|         wget --spider "${URL}" | ||||
|         exit 0 | ||||
|     elif [ "${download_iso}" == 'on' ]; then | ||||
|         DIR="$(pwd)" | ||||
|     fi | ||||
| 
 | ||||
|     if ! mkdir -p "${DIR}" 2>/dev/null; then | ||||
|     if [ "${DIR}" != "$(pwd)" ] && ! mkdir -p "${DIR}" 2>/dev/null; then | ||||
|       echo "ERROR! Unable to create directory ${DIR}" | ||||
|       exit 1 | ||||
|     fi | ||||
|  | @ -1161,13 +1185,13 @@ function zsync_get() { | |||
|     local OUT="" | ||||
|     local URL="${1}" | ||||
| 
 | ||||
| 	# Test mode for ISO | ||||
| 	if [ "${show_iso_url}" == 'on' ]; then | ||||
| 	    echo "${URL}" | ||||
| 	    exit 0 | ||||
|     # Test mode for ISO | ||||
|     if [ "${show_iso_url}" == 'on' ]; then | ||||
|         echo "${URL}" | ||||
|         exit 0 | ||||
|     elif [ "${test_iso_url}" == 'on' ]; then | ||||
| 	    wget --spider "${URL}" | ||||
| 	    exit 0 | ||||
|         wget --spider "${URL}" | ||||
|         exit 0 | ||||
|     elif command -v zsync &>/dev/null; then | ||||
|         if [ -n "${3}" ]; then | ||||
|             OUT="${3}" | ||||
|  | @ -1207,6 +1231,10 @@ function make_vm_config() { | |||
|     local GUEST="" | ||||
|     local SEC_BOOT="" | ||||
| 
 | ||||
|     if [ "${download_iso}" == "on" ]; then | ||||
|         exit 0 | ||||
|     fi | ||||
| 
 | ||||
|     IMAGE_FILE="${1}" | ||||
|     ISO_FILE="${2}" | ||||
|     case "${OS}" in | ||||
|  | @ -2587,14 +2615,31 @@ function get_solus() { | |||
|     echo "${URL}/${ISO} ${HASH}" | ||||
| } | ||||
| 
 | ||||
| function get_spiral() { | ||||
| 	local EDITION="${1:-}" | ||||
| 	local HASH="" | ||||
| 	local ISO="SpiralLinux_${EDITION}_12.231005_x86-64.iso" | ||||
| 	local URL="https://sourceforge.net/projects/spirallinux/files/12.231005" | ||||
| function get_sparkylinux() { | ||||
|     local EDITION="${1:-}" | ||||
|     local HASH="" | ||||
|     local ISO="" | ||||
|     local URL="" | ||||
| 
 | ||||
| 	HASH=$(wget -q -O- 'https://sourceforge.net/projects/spirallinux/rss?path=/' | grep "${ISO}" | grep 'md5' | cut -d'<' -f3 | cut -d'>' -f2) | ||||
| 	echo "${URL}/${ISO}" "${HASH}" | ||||
|     ISO="sparkylinux-${RELEASE}-x86_64-${EDITION}.iso" | ||||
|     case ${EDITION} in | ||||
|       minimalcli) URL="https://sourceforge.net/projects/sparkylinux/files/cli";; | ||||
|       minimalgui) URL="https://sourceforge.net/projects/sparkylinux/files/base";; | ||||
|       *)   URL="https://sourceforge.net/projects/sparkylinux/files/${EDITION}";; | ||||
|     esac | ||||
| 
 | ||||
|     HASH=$(wget -q -O- ${URL}/${ISO}.allsums.txt | head -2 | grep 'iso' | cut -d' ' -f1) | ||||
|     echo "${URL}/${ISO}" "${HASH}" | ||||
| } | ||||
| 
 | ||||
| function get_spiral() { | ||||
|     local EDITION="${1:-}" | ||||
|     local HASH="" | ||||
|     local ISO="SpiralLinux_${EDITION}_12.231005_x86-64.iso" | ||||
|     local URL="https://sourceforge.net/projects/spirallinux/files/12.231005" | ||||
| 
 | ||||
|     HASH=$(wget -q -O- 'https://sourceforge.net/projects/spirallinux/rss?path=/' | grep "${ISO}" | grep 'md5' | cut -d'<' -f3 | cut -d'>' -f2) | ||||
|     echo "${URL}/${ISO}" "${HASH}" | ||||
| } | ||||
| 
 | ||||
| function get_tails() { | ||||
|  | @ -3374,15 +3419,12 @@ else | |||
|     echo -n " - Operating Systems: " | ||||
|     os_support | ||||
|     echo " | ||||
|         You can also use this arguments: | ||||
|         Only show ISO download URL | ||||
|             --show-iso-url / -u {distro} {release} [edition] | ||||
|         Test if ISO is available | ||||
|             --test-iso-url / -t {distro} {release} [edition] | ||||
|         Open distro homepage | ||||
|             --open-distro-homepage / -o {distro} | ||||
|         Only show distro homepage link | ||||
|             --show-distro-homepage / -s {distro}" | ||||
| You can also use these arguments | ||||
| --show-iso-url / -u <distro> <release> <edition> : Show ISO download URL | ||||
| --test-iso-url / -t <distro> <release> <edition> : Test if ISO is available | ||||
| --download-iso / -d <distro> <release> <edition> : Download ISO | ||||
| --open-distro-homepage / -o <distro>             : Open distro homepage | ||||
| --show-distro-homepage / -s <distro>             : Show distro homepage link" | ||||
|     exit 1 | ||||
| fi | ||||
| 
 | ||||
|  | @ -3467,11 +3509,11 @@ if [ -n "${2}" ]; then | |||
|     fi | ||||
| else | ||||
|     if [ "${open_distro_homepage}" == 'on' ]; then | ||||
|         HOMEPAGE=$(os_homepages ${OS}) | ||||
|         HOMEPAGE=$(os_homepage ${OS}) | ||||
|         open_url "${HOMEPAGE}" && exit 0 | ||||
|     fi | ||||
|     if [ "${show_distro_homepage}" == 'on' ]; then | ||||
|         HOMEPAGE=$(os_homepages ${OS}) | ||||
|         HOMEPAGE=$(os_homepage ${OS}) | ||||
|         echo "${HOMEPAGE}" && exit 0 | ||||
|     fi | ||||
|     echo "ERROR! You must specify a release." | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue