From e08928b7e40236d86f13a78728cf4962431cd476 Mon Sep 17 00:00:00 2001 From: zenobit Date: Wed, 17 Jan 2024 19:47:22 +0100 Subject: [PATCH 01/26] =?UTF-8?q?=F0=9F=8F=97=EF=B8=8F=20Lint=20PRs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zenobit --- .github/workflows/mega-linter.yml | 184 ++++++++++++++++++++++++++++++ .mega-linter.yml | 86 ++++++++++++++ README.md | 2 +- 3 files changed, 271 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/mega-linter.yml create mode 100644 .mega-linter.yml diff --git a/.github/workflows/mega-linter.yml b/.github/workflows/mega-linter.yml new file mode 100644 index 0000000000..73a281d151 --- /dev/null +++ b/.github/workflows/mega-linter.yml @@ -0,0 +1,184 @@ +--- # Megalinter + +name: Lint + +# Trigger mega-linter at every push. Action will also be visible from +# Pull Requests to main +on: + # Comment this line to trigger action only on pull-requests + # (not recommended if you don't pay for GH Actions) + push: + + pull_request: + branches: + - main + - master + - dev + - new-master + +# Comment env block if you do not want to apply fixes +env: + # Apply linter fixes configuration + # + # When active, APPLY_FIXES must also be defined as environment variable + # (in github/workflows/mega-linter.yml or other CI tool) + APPLY_FIXES: true + + # Decide which event triggers application of fixes in a commit or a PR + # (pull_request, push, all) + APPLY_FIXES_EVENT: all + + # If APPLY_FIXES is used, defines if the fixes are directly committed (commit) + # or posted in a PR (pull_request) + APPLY_FIXES_MODE: commit + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }} + cancel-in-progress: true + +jobs: + megalinter: + name: Linting + runs-on: ubuntu-latest + + # Give the default GITHUB_TOKEN write permission to commit and push, comment + # issues, and post new Pull Requests; remove the ones you do not need + permissions: + contents: write + issues: write + pull-requests: write + + steps: + # Git Checkout + - name: Checkout Code + uses: actions/checkout@v3 + with: + token: ${{ secrets.PAT || secrets.GITHUB_TOKEN }} + + # If you use VALIDATE_ALL_CODEBASE = true, you can remove this line to + # improve performance + fetch-depth: 0 + + # MegaLinter + - name: Linter + + # You can override MegaLinter flavor used to have faster performances + # More info at https://megalinter.io/latest/flavors/ + uses: oxsecurity/megalinter/flavors/ci_light@v7.7.0 + + id: ml + + # All available variables are described in documentation + # https://megalinter.io/latest/config-file/ + env: + # Validates all source when push on main, else just the git diff with + # main. Override with true if you always want to lint all sources + # + # To validate the entire codebase, set to: + # VALIDATE_ALL_CODEBASE: true + # + # To validate only diff with main, set to: + VALIDATE_ALL_CODEBASE: >- + ${{ + github.event_name == 'push' && + github.ref == 'refs/heads/main' + }} + + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + # ADD YOUR CUSTOM ENV VARIABLES HERE TO OVERRIDE VALUES OF + # .mega-linter.yml AT THE ROOT OF YOUR REPOSITORY + + # Upload MegaLinter artifacts + - name: Archive production artifacts + uses: actions/upload-artifact@v3 + if: success() || failure() + with: + name: MegaLinter reports + path: | + megalinter-reports + mega-linter.log + + # Create pull request if applicable + # (for now works only on PR from same repository, not from forks) + - name: Create Pull Request with applied fixes + uses: peter-evans/create-pull-request@v5 + id: cpr + if: >- + steps.ml.outputs.has_updated_sources == 1 && + ( + env.APPLY_FIXES_EVENT == 'all' || + env.APPLY_FIXES_EVENT == github.event_name + ) && + env.APPLY_FIXES_MODE == 'pull_request' && + ( + github.event_name == 'push' || + github.event.pull_request.head.repo.full_name == github.repository + ) && + !contains(github.event.head_commit.message, 'skip fix') + with: + token: ${{ secrets.PAT || secrets.GITHUB_TOKEN }} + commit-message: "[MegaLinter] Apply linters automatic fixes" + title: "[MegaLinter] Apply linters automatic fixes" + labels: bot + + - name: Create PR output + if: >- + steps.ml.outputs.has_updated_sources == 1 && + ( + env.APPLY_FIXES_EVENT == 'all' || + env.APPLY_FIXES_EVENT == github.event_name + ) && + env.APPLY_FIXES_MODE == 'pull_request' && + ( + github.event_name == 'push' || + github.event.pull_request.head.repo.full_name == github.repository + ) && + !contains(github.event.head_commit.message, 'skip fix') + run: | + echo "PR Number - ${{ steps.cpr.outputs.pull-request-number }}" + echo "PR URL - ${{ steps.cpr.outputs.pull-request-url }}" + + # Push new commit if applicable + # (for now works only on PR from same repository, not from forks) + - name: Prepare commit + if: >- + steps.ml.outputs.has_updated_sources == 1 && + ( + env.APPLY_FIXES_EVENT == 'all' || + env.APPLY_FIXES_EVENT == github.event_name + ) && + env.APPLY_FIXES_MODE == 'commit' && + github.ref != 'refs/heads/main' && + ( + github.event_name == 'push' || + github.event.pull_request.head.repo.full_name == github.repository + ) && + !contains(github.event.head_commit.message, 'skip fix') + run: sudo chown -Rc $UID .git/ + + - name: Commit and push applied linter fixes + uses: stefanzweifel/git-auto-commit-action@v4 + if: >- + steps.ml.outputs.has_updated_sources == 1 && + ( + env.APPLY_FIXES_EVENT == 'all' || + env.APPLY_FIXES_EVENT == github.event_name + ) && + env.APPLY_FIXES_MODE == 'commit' && + github.ref != 'refs/heads/main' && + ( + github.event_name == 'push' || + github.event.pull_request.head.repo.full_name == github.repository + ) && + !contains(github.event.head_commit.message, 'skip fix') + with: + branch: >- + ${{ + github.event.pull_request.head.ref || + github.head_ref || + github.ref + }} + commit_message: "[MegaLinter] Apply linters fixes" + commit_user_name: megalinter-bot + commit_user_email: mega@linter.bot diff --git a/.mega-linter.yml b/.mega-linter.yml new file mode 100644 index 0000000000..0b9c7dbbee --- /dev/null +++ b/.mega-linter.yml @@ -0,0 +1,86 @@ +# Configuration file for MegaLinter +# See all available variables at https://megalinter.io/configuration/ and in linters documentation + +APPLY_FIXES: all +# ENABLE: # If you use ENABLE variable, all other languages/formats/tooling formats will be disabled by default +ENABLE_LINTERS: # If you use ENABLE_LINTERS variable, all other linters will be disabled by default + - BASH_SHELLCHECK + - BASH_SHFMT + - GROOVY_NPM_GROOVY_LINT + - MAKEFILE_CHECKMAKE + - ENV_DOTENV_LINTER + - JSON_JSONLINT + - JSON_ESLINT_PLUGIN_JSONC + - JSON_V8R + - JSON_PRETTIER + - XML_XMLLINT + - YAML_PRETTIER + - YAML_YAMLLINT + - YAML_V8R + - COPYPASTE_JSCPD + - REPOSITORY_GIT_DIFF + - REPOSITORY_GITLEAKS + - REPOSITORY_GRYPE + - REPOSITORY_SECRETLINT + - REPOSITORY_TRIVY + - REPOSITORY_TRIVY_SBOM + - REPOSITORY_TRUFFLEHOG +# DISABLE: +# - CLOUDFORMATION +# - COPYPASTE # Uncomment to disable checks of excessive copy-pastes +# - CSS +# - EDITORCONFIG +# - SPELL # Uncomment to disable checks of spelling mistakes +# - JAVASCRIPT +# - TEKTON +# DISABLE_LINTERS: +# - JSON_PRETTIER +# - REPOSITORY_GITLEAKS +# - REPOSITORY_KICS +# - SPELL_PROSELINT +# - SPELL_MISSPELL +# - SPELL_VALE +# DISABLE_ERRORS_LINTERS: +# - PYTHON_BANDIT +# - PYTHON_PYRIGHT +# - REPOSITORY_DEVSKIM +# - REPOSITORY_GRYPE +# - REPOSITORY_SEMGREP +# - REPOSITORY_TRUFFLEHOG +PRINT_ALL_FILES: true +FILTER_REGEX_EXCLUDE: '(\.automation/test|\.automation/generated|\.venv|\.github/workflows|docs/javascripts|docs/overrides|docs/json-schemas|flavors|clj-kondo|TEMPLATES)' +JSON_JSONLINT_FILTER_REGEX_EXCLUDE: '(\.vscode/)' +YAML_YAMLLINT_FILTER_REGEX_EXCLUDE: '(templates/\.mega-linter\.yml)' +YAML_PRETTIER_FILTER_REGEX_EXCLUDE: '(templates/\.mega-linter\.yml|mkdocs\.yml)' +YAML_V8R_FILTER_REGEX_EXCLUDE: '(descriptors|templates/\.mega-linter\.yml|\.codecov\.yml)' +BASH_FILTER_REGEX_INCLUDE: "quickget|quickemu" +BASH_FILTER_REGEX_EXCLUDE: "(lib)" +BASH_SHELLCHECK_FILE_EXTENSIONS: [""] +BASH_SHFMT_FILE_EXTENSIONS: [""] +MARKDOWN_FILTER_REGEX_EXCLUDE: '(license\.md|docs/licenses)' +MARKDOWN_MARKDOWN_LINK_CHECK_DISABLE_ERRORS: true +SPELL_VALE_FILE_EXTENSIONS: + - .md +SPELL_FILTER_REGEX_EXCLUDE: (valestyles|\.github|docs/licenses) +DOCKERFILE_HADOLINT_ARGUMENTS: "--ignore DL3003 --ignore DL3007 --ignore DL3013 --ignore DL3016 --ignore DL3018 --ignore DL3028 --ignore DL3059 --ignore DL4001 --ignore DL4006 --ignore SC2015 --ignore SC2016 --ignore SC2039 --ignore SC2086 --ignore SC1091 --ignore SC3046" +REPOSITORY_TRIVY_ARGUMENTS: + - "--skip-dirs" + - ".automation/test" + - "--skip-dirs" + - ".venv" +CONSOLE_REPORTER: true +OUTPUT_DETAIL: detailed +SHOW_ELAPSED_TIME: true +FLAVOR_SUGGESTIONS: true +EMAIL_REPORTER: false +FILEIO_REPORTER: true +JSON_REPORTER: true +GITHUB_STATUS_REPORTER: true +PLUGINS: + - https://raw.githubusercontent.com/oxsecurity/megalinter/main/.automation/test/mega-linter-plugin-test/test.megalinter-descriptor.yml +PRE_COMMANDS: + - command: echo "This is MegaLinter PRE_COMMAND on own MegaLinter ! :)" + cwd: "root" +POST_COMMANDS: + - command: echo "This is MegaLinter POST_COMMAND on own MegaLinter ! :)" + cwd: "workspace" diff --git a/README.md b/README.md index 7c5bd7bd7b..1de3ca3bb9 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ Windows**. - EFI (with or without SecureBoot) and Legacy BIOS boot - Graphical user interfaces available -Quickemu is a wrapper for the excellent [QEMU](https://www.qemu.org/) +Quickemu [![Lint](https://github.com/oSoWoSo/quickemu/actions/workflows/mega-linter.yml/badge.svg)](https://github.com/oSoWoSo/quickemu/actions/workflows/mega-linter.yml) is a wrapper for the excellent [QEMU](https://www.qemu.org/) that attempts to automatically *"do the right thing"*, rather than expose exhaustive configuration options. From ddda29cd17a8b06b583a6d6bdc76f2098c7165bd Mon Sep 17 00:00:00 2001 From: zenobit Date: Thu, 19 Oct 2023 12:19:35 +0200 Subject: [PATCH 02/26] =?UTF-8?q?=F0=9F=93=A6=20Artix=20Linux?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- quickget | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/quickget b/quickget index 4ea03d1fb8..f910bbc202 100755 --- a/quickget +++ b/quickget @@ -61,6 +61,7 @@ function pretty_name() { archlinux) PRETTY_NAME="Arch Linux";; archcraft) PRETTY_NAME="Archcraft";; arcolinux) PRETTY_NAME="Arco Linux";; + artixlinux) PRETTY_NAME="Artix Linux";; blendos) PRETTY_NAME="BlendOS";; cachyos) PRETTY_NAME="CachyOS";; centos-stream) PRETTY_NAME="CentOS Stream";; @@ -210,6 +211,7 @@ function os_support() { archlinux \ archcraft \ arcolinux \ + artixlinux \ batocera \ blendos \ bodhi \ @@ -296,6 +298,7 @@ function os_homepages(){ archlinux) HOMEPAGE="https://archlinux.org/";; archcraft) HOMEPAGE="https://archcraft.io/";; arcolinux) HOMEPAGE="https://arcolinux.com/";; + artixlinux) HOMEPAGE="https://artixlinux.org/";; batocera) HOMEPAGE="https://batocera.org/";; blendos) HOMEPAGE="https://blendos.co/";; bodhi) HOMEPAGE="https://www.bodhilinux.com/";; @@ -418,6 +421,43 @@ function editions_arcolinux() { echo large small } +function releases_artixlinux() { + echo stable +} + +function editions_artixlinux() { + echo base-dinit \ + base-openrc \ + base-runit \ + base-s6 \ + cinnamon-dinit \ + cinnamon-openrc \ + cinnamon-runit \ + cinnamon-s6 \ + lxde-dinit \ + lxde-openrc \ + lxde-runit \ + lxde-s6 \ + lxqt-dinit \ + lxqt-openrc \ + lxqt-runit \ + lxqt-s6 \ + mate-dinit \ + mate-openrc \ + mate-runit \ + mate-s6 \ + plasma-dinit \ + plasma-openrc \ + plasma-runit \ + plasma-s6 \ + xfce-dinit \ + xfce-openrc \ + xfce-runit \ + xfce-s6 \ + community-gtk-openrc \ + community-qt-openrc +} + function releases_blendos() { # Pull the rss feed @@ -1262,6 +1302,17 @@ function get_arcolinux() { echo "${URL}/${ISO} ${HASH}" } +function get_artixlinux() { + local EDITION="${1:-}" + local HASH="" + local ISO="" + local URL="https://iso.artixlinux.org/iso" + DATE=$(wget -q -O- ${URL}/sha256sums | cut -d'-' -f4 | head -1) + ISO="artix-${EDITION}-${DATE}-x86_64.iso" + HASH=$(wget -q -O- ${URL}/sha256sums | grep "${ISO}") + echo "${URL}/${ISO} ${HASH}" +} + function get_bunsenlabs() { local HASH="" local ISO="beryllium-1-amd64.hybrid.iso" From 0488b16b488f4e5e007911d582124d7135a0459f Mon Sep 17 00:00:00 2001 From: zenobit Date: Thu, 19 Oct 2023 12:15:46 +0200 Subject: [PATCH 03/26] =?UTF-8?q?=F0=9F=93=A6=20Athena=20OS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- quickget | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/quickget b/quickget index f910bbc202..8c0f00b955 100755 --- a/quickget +++ b/quickget @@ -62,6 +62,7 @@ function pretty_name() { archcraft) PRETTY_NAME="Archcraft";; arcolinux) PRETTY_NAME="Arco Linux";; artixlinux) PRETTY_NAME="Artix Linux";; + atheanos) PRETTY_NAME="Athena OS";; blendos) PRETTY_NAME="BlendOS";; cachyos) PRETTY_NAME="CachyOS";; centos-stream) PRETTY_NAME="CentOS Stream";; @@ -212,6 +213,7 @@ function os_support() { archcraft \ arcolinux \ artixlinux \ + athenaos \ batocera \ blendos \ bodhi \ @@ -299,6 +301,7 @@ function os_homepages(){ archcraft) HOMEPAGE="https://archcraft.io/";; arcolinux) HOMEPAGE="https://arcolinux.com/";; artixlinux) HOMEPAGE="https://artixlinux.org/";; + athenaos) HOMEPAGE="https://athenaos.org/";; batocera) HOMEPAGE="https://batocera.org/";; blendos) HOMEPAGE="https://blendos.co/";; bodhi) HOMEPAGE="https://www.bodhilinux.com/";; @@ -458,6 +461,10 @@ function editions_artixlinux() { community-qt-openrc } +function releases_athenaos() { + wget -q -O- 'https://sourceforge.net/projects/athena-iso/rss?path=/' | grep '.iso/download"' | cut -d'=' -f5 | cut -d'"' -f2 | cut -d'/' -f7 | cut -d'v' -f2 | sed ':a;N;$!ba;s/\n/ /g' +} + function releases_blendos() { # Pull the rss feed @@ -1113,7 +1120,7 @@ EOF # OS specific tweaks case ${OS} in - alma|centos-stream|endless|garuda|nixos|oraclelinux|popos|rockylinux) + alma|athenaos|centos-stream|endless|garuda|nixos|oraclelinux|popos|rockylinux) echo "disk_size=\"32G\"" >> "${CONF_FILE}";; openindiana) echo "boot=\"legacy\"" >> "${CONF_FILE}" @@ -1313,6 +1320,25 @@ function get_artixlinux() { echo "${URL}/${ISO} ${HASH}" } +function get_athenaos() { + local HASH="" + local URL="" + local ISO="" + case ${RELEASE} in + rolling) + ISO="athena-rolling-x86_64.iso" + URL="https://sourceforge.net/projects/athena-iso/files/rolling" + HASH=$(wget -q -O- "${URL}/${ISO}.md5" | cut -d' ' -f1) + ;; + *) + ISO="athena-20${RELEASE}-x86_64.iso" + URL="https://sourceforge.net/projects/athena-iso/files/v${RELEASE}" + HASH=$(wget -q -O- 'https://sourceforge.net/projects/athena-iso/rss?path=/' | grep '.iso/download"' | grep "${RELEASE}" | cut -d '=' -f7 | cut -d'>' -f2 | cut -d'<' -f1) + ;; + esac + echo "${URL}/${ISO} ${HASH}" +} + function get_bunsenlabs() { local HASH="" local ISO="beryllium-1-amd64.hybrid.iso" From adc45dc78987610cd3acdfa106615957c078bda9 Mon Sep 17 00:00:00 2001 From: zenobit Date: Thu, 19 Oct 2023 13:14:23 +0200 Subject: [PATCH 04/26] =?UTF-8?q?=F0=9F=93=A6=20bazzite?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- quickget | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/quickget b/quickget index 8c0f00b955..94adbf6ad0 100755 --- a/quickget +++ b/quickget @@ -215,6 +215,7 @@ function os_support() { artixlinux \ athenaos \ batocera \ + bazzite \ blendos \ bodhi \ bunsenlabs \ @@ -303,6 +304,7 @@ function os_homepages(){ artixlinux) HOMEPAGE="https://artixlinux.org/";; athenaos) HOMEPAGE="https://athenaos.org/";; batocera) HOMEPAGE="https://batocera.org/";; + bazzite) HOMEPAGE="https://bazzite.gg/";; blendos) HOMEPAGE="https://blendos.co/";; bodhi) HOMEPAGE="https://www.bodhilinux.com/";; bunsenlabs) HOMEPAGE="https://www.bunsenlabs.org/";; @@ -465,6 +467,10 @@ function releases_athenaos() { wget -q -O- 'https://sourceforge.net/projects/athena-iso/rss?path=/' | grep '.iso/download"' | cut -d'=' -f5 | cut -d'"' -f2 | cut -d'/' -f7 | cut -d'v' -f2 | sed ':a;N;$!ba;s/\n/ /g' } +function releases_bazzite() { + echo $(wget -q -O- "https://api.github.com/repos/ublue-os/bazzite/releases" | grep 'download_url' | grep 'sum' | cut -d '/' -f8 | cut -d'v' -f2 | tr '\n' ' ') +} + function releases_blendos() { # Pull the rss feed @@ -1386,6 +1392,16 @@ function get_batocera() { echo "${URL}/${ISO} ${HASH}" } +function get_bazzite() { + local HASH="" + local ISO="" + local URL="https://github.com/ublue-os/bazzite/releases/download/v${RELEASE}" + + ISO=$(wget -q -O- "https://api.github.com/repos/ublue-os/bazzite/releases" | grep 'download_url' | grep 'sum' | cut -d '"' -f4 | cut -d'.' -f1-5 | grep "${RELEASE}" | cut -d'/' -f9) + HASH=$(wget -q -O- "${URL}/${ISO}.sha256sum" | grep 'SHA256' | cut -d' ' -f4) + echo "${URL}/${ISO} ${HASH}" +} + function get_bodhi() { local EDITION="${1:-}" local HASH="" From 84d85a03166c8c3b97171f59ef3cd60e231fe3f4 Mon Sep 17 00:00:00 2001 From: zenobit Date: Fri, 19 Jan 2024 12:20:25 +0100 Subject: [PATCH 05/26] =?UTF-8?q?=F0=9F=93=A6=20Big=20Linux=20Thanks=20to?= =?UTF-8?q?=20@ruscher?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zenobit --- quickget | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/quickget b/quickget index 94adbf6ad0..199cb682d7 100755 --- a/quickget +++ b/quickget @@ -63,6 +63,7 @@ function pretty_name() { arcolinux) PRETTY_NAME="Arco Linux";; artixlinux) PRETTY_NAME="Artix Linux";; atheanos) PRETTY_NAME="Athena OS";; + biglinux) PRETTY_NAME="Big Linux";; blendos) PRETTY_NAME="BlendOS";; cachyos) PRETTY_NAME="CachyOS";; centos-stream) PRETTY_NAME="CentOS Stream";; @@ -216,6 +217,7 @@ function os_support() { athenaos \ batocera \ bazzite \ + biglinux \ blendos \ bodhi \ bunsenlabs \ @@ -305,6 +307,7 @@ function os_homepages(){ athenaos) HOMEPAGE="https://athenaos.org/";; batocera) HOMEPAGE="https://batocera.org/";; bazzite) HOMEPAGE="https://bazzite.gg/";; + biglinux) HOMEPAGE="https://www.biglinux.com.br/";; blendos) HOMEPAGE="https://blendos.co/";; bodhi) HOMEPAGE="https://www.bodhilinux.com/";; bunsenlabs) HOMEPAGE="https://www.bunsenlabs.org/";; @@ -471,6 +474,10 @@ function releases_bazzite() { echo $(wget -q -O- "https://api.github.com/repos/ublue-os/bazzite/releases" | grep 'download_url' | grep 'sum' | cut -d '/' -f8 | cut -d'v' -f2 | tr '\n' ' ') } +function releases_biglinux() { + echo kde +} + function releases_blendos() { # Pull the rss feed @@ -1345,6 +1352,15 @@ function get_athenaos() { echo "${URL}/${ISO} ${HASH}" } +function get_biglinux() { + local HASH="" + local ISO="" + local URL="https://iso.biglinux.com.br/" + ISO=$(grep -Eo 'biglinux_[0-9]{4}(-[0-9]{2}){2}_k[0-9]{2,3}.iso' <(wget -q -O- ${URL}) | sort -u | tail -n2 | head -n1) + HASH=$(curl -s ${URL}${ISO}.md5 | grep -Eo '[[:alnum:]]{32}') + echo "${URL}${ISO} ${HASH}" +} + function get_bunsenlabs() { local HASH="" local ISO="beryllium-1-amd64.hybrid.iso" From dd2d7c4a8dc4ee1e8a73f71599891c48f338ebd1 Mon Sep 17 00:00:00 2001 From: zenobit Date: Mon, 2 Oct 2023 01:48:36 +0200 Subject: [PATCH 06/26] =?UTF-8?q?=F0=9F=93=A6=20Chimera=20Linux?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- quickget | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/quickget b/quickget index 199cb682d7..7c26964075 100755 --- a/quickget +++ b/quickget @@ -67,6 +67,7 @@ function pretty_name() { blendos) PRETTY_NAME="BlendOS";; cachyos) PRETTY_NAME="CachyOS";; centos-stream) PRETTY_NAME="CentOS Stream";; + chimeralinux) PRETTY_NAME="Chimera Linux";; dragonflybsd) PRETTY_NAME="DragonFlyBSD";; easyos) PRETTY_NAME="EasyOS";; elementary) PRETTY_NAME="elementary OS";; @@ -223,6 +224,7 @@ function os_support() { bunsenlabs \ cachyos \ centos-stream \ + chimeralinux \ debian \ deepin \ devuan \ @@ -313,6 +315,7 @@ function os_homepages(){ bunsenlabs) HOMEPAGE="https://www.bunsenlabs.org/";; cachyos) HOMEPAGE="https://cachyos.org/";; centos-stream) HOMEPAGE="https://www.centos.org/centos-stream/";; + chimeralinux) HOMEPAGE="https://chimera-linux.org/";; debian) HOMEPAGE="https://www.debian.org/";; deepin) HOMEPAGE="https://www.deepin.org/";; devuan) HOMEPAGE="https://www.devuan.org/";; @@ -518,6 +521,14 @@ function editions_centos-stream() { echo dvd1 boot } +function releases_chimeralinux() { + echo latest +} + +function editions_chimeralinux() { + echo base gnome +} + function releases_debian() { DEBCURRENT=$(wget -q https://cdimage.debian.org/debian-cd/ -O- |grep '\.[0-9]/'|cut -d\> -f9|cut -d\/ -f1) local DEBOLD=$(wget -q https://cdimage.debian.org/cdimage/archive/ -O- |grep -e '>[1-9][0-9]\.'|grep -v 'live' | cut -d\> -f9|cut -d\/ -f1 ) @@ -1459,6 +1470,19 @@ function get_centos-stream() { echo "${URL}/${ISO} ${HASH}" } +function get_chimeralinux() { + local EDITION="${1:-}" + local HASH="" + local DATE="" + local ISO="" + local URL="https://repo.chimera-linux.org/live/${RELEASE}" + + DATE=$(wget -q -O- "${URL}/sha256sums.txt" | head -n1 | cut -d'-' -f5) + ISO="chimera-linux-x86_64-LIVE-${DATE}-${EDITION}.iso" + HASH=$(wget -q -O- "${URL}/sha256sums.txt" | grep 'x86_64-LIVE' | grep "${EDITION}" | cut -d' ' -f1) + echo "${URL}/${ISO} ${HASH}" +} + function get_debian() { local EDITION="${1:-}" local HASH="" From dc339344dc0c7181a911d453e81b7dafce95003b Mon Sep 17 00:00:00 2001 From: zenobit Date: Thu, 21 Dec 2023 07:35:10 +0100 Subject: [PATCH 07/26] =?UTF-8?q?=F0=9F=93=A6=20Crunchbang++?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- quickget | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/quickget b/quickget index 7c26964075..d7ec334d9d 100755 --- a/quickget +++ b/quickget @@ -68,6 +68,7 @@ function pretty_name() { cachyos) PRETTY_NAME="CachyOS";; centos-stream) PRETTY_NAME="CentOS Stream";; chimeralinux) PRETTY_NAME="Chimera Linux";; + crunchbang++) PRETTY_NAME="Crunchbang++";; dragonflybsd) PRETTY_NAME="DragonFlyBSD";; easyos) PRETTY_NAME="EasyOS";; elementary) PRETTY_NAME="elementary OS";; @@ -225,6 +226,7 @@ function os_support() { cachyos \ centos-stream \ chimeralinux \ + crunchbang++ \ debian \ deepin \ devuan \ @@ -316,6 +318,7 @@ function os_homepages(){ cachyos) HOMEPAGE="https://cachyos.org/";; centos-stream) HOMEPAGE="https://www.centos.org/centos-stream/";; chimeralinux) HOMEPAGE="https://chimera-linux.org/";; + crunchbang++) HOMEPAGE="https://www.crunchbangplusplus.org/";; debian) HOMEPAGE="https://www.debian.org/";; deepin) HOMEPAGE="https://www.deepin.org/";; devuan) HOMEPAGE="https://www.devuan.org/";; @@ -529,6 +532,10 @@ function editions_chimeralinux() { echo base gnome } +function releases_crunchbang++() { + echo 12 11 10 9 8 +} + function releases_debian() { DEBCURRENT=$(wget -q https://cdimage.debian.org/debian-cd/ -O- |grep '\.[0-9]/'|cut -d\> -f9|cut -d\/ -f1) local DEBOLD=$(wget -q https://cdimage.debian.org/cdimage/archive/ -O- |grep -e '>[1-9][0-9]\.'|grep -v 'live' | cut -d\> -f9|cut -d\/ -f1 ) @@ -1480,6 +1487,41 @@ function get_chimeralinux() { DATE=$(wget -q -O- "${URL}/sha256sums.txt" | head -n1 | cut -d'-' -f5) ISO="chimera-linux-x86_64-LIVE-${DATE}-${EDITION}.iso" HASH=$(wget -q -O- "${URL}/sha256sums.txt" | grep 'x86_64-LIVE' | grep "${EDITION}" | cut -d' ' -f1) +} + +function get_crunchbang++() { + local HASH="" + local ISO="" + local URL="" + local URLPART="" + local URLPART2="" + + URLPART="https://github.com/CBPP/cbpp" + + case ${RELEASE} in + 8) + URLPART2="releases/download/v1.0-amd64" + ISO="cbpp-1.0-amd64-20150428.iso" + ;; + 9) + URLPART2="9-amd64/releases/download/v9.0" + ISO="cbpp-9.0-amd64-20170621.iso" + ;; + 10) + URLPART2="releases/download/v10" + ISO="cbpp-10.1-amd64-20190713.iso" + ;; + 11) + URLPART2="releases/download/v11.2" + ISO="cbpp-11.2-amd64-20230514.iso" + ;; + 12) + URLPART2="releases/download/v12.0" + ISO="cbpp-12.0-amd64-20230611.iso" + ;; + esac + + URL="${URLPART}/${URLPART2}" echo "${URL}/${ISO} ${HASH}" } From 204e46c968850f7ed4e6818cd79effcdc8d8d3e8 Mon Sep 17 00:00:00 2001 From: zenobit Date: Sun, 17 Sep 2023 18:48:24 +0200 Subject: [PATCH 08/26] =?UTF-8?q?=F0=9F=93=A6=20Guix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- quickget | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/quickget b/quickget index d7ec334d9d..76e7500dd0 100755 --- a/quickget +++ b/quickget @@ -242,6 +242,7 @@ function os_support() { garuda \ gentoo \ ghostbsd \ + guix \ haiku \ holoiso \ kali \ @@ -334,6 +335,7 @@ function os_homepages(){ garuda) HOMEPAGE="https://garudalinux.org/";; gentoo) HOMEPAGE="https://www.gentoo.org/";; ghostbsd) HOMEPAGE="https://www.ghostbsd.org/";; + guix) HOMEPAGE="https://guix.gnu.org/";; haiku) HOMEPAGE="https://www.haiku-os.org/";; holoiso) HOMEPAGE="https://github.com/HoloISO/holoiso";; kali) HOMEPAGE="https://www.kali.org/";; @@ -653,6 +655,10 @@ function editions_ghostbsd() { echo mate xfce } +function releases_guix() { + echo 1.4.0 1.3.0 +} + function releases_haiku() { echo r1beta3 r1beta4 } @@ -1740,6 +1746,16 @@ function get_ghostbsd() { echo "${URL}/${ISO} ${HASH}" } +function get_guix() { + #local HASH="" + #local ISO="guix-system-vm-image-1.4.0.x86_64-linux.qcow2" + local ISO="guix-system-install-1.4.0.x86_64-linux.iso" + local URL="https://ftpmirror.gnu.org/gnu/guix" + + #HASH=$(wget -q -O- "${URL}/${ISO}.sig") + echo "${URL}/${ISO}" #${HASH}" +} + function get_haiku() { local EDITION="${1:-}" local ISO="haiku-${RELEASE}-${EDITION}-anyboot.iso" @@ -2878,6 +2894,11 @@ create_vm() { unzip ${VM_PATH}/${ISO} -d ${VM_PATH} ISO=$(ls ${VM_PATH} | grep -i '.iso') fi + + #if [ ${OS} == "guix" ] && [[ $ISO =~ ".qcow2" ]]; then + #cp ${VM_PATH}/${ISO} ${VM_PATH}/disc.qcow2 + #fi + if [[ ${OS} == "batocera" ]] && [[ ${ISO} =~ ".gz" ]]; then gzip -d "${VM_PATH}/${ISO}" ISO="${ISO/.gz/}" From 44964f1aa9bd564326a5676597c668bb2e8d32ee Mon Sep 17 00:00:00 2001 From: zenobit Date: Fri, 15 Dec 2023 03:24:00 +0100 Subject: [PATCH 09/26] =?UTF-8?q?=F0=9F=93=A6=20Nitrux?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- quickget | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/quickget b/quickget index 76e7500dd0..0068cccfb8 100755 --- a/quickget +++ b/quickget @@ -88,6 +88,7 @@ function pretty_name() { mxlinux) PRETTY_NAME="MX Linux";; netboot) PRETTY_NAME="netboot.xyz";; netbsd) PRETTY_NAME="NetBSD";; + nitrux) PRETTY_NAME="Nitrux";; nixos) PRETTY_NAME="NixOS";; macos) PRETTY_NAME="macOS";; openbsd) PRETTY_NAME="OpenBSD";; @@ -257,6 +258,7 @@ function os_support() { mxlinux \ netboot \ netbsd \ + nitrux \ nixos \ lubuntu \ macos \ @@ -350,6 +352,7 @@ function os_homepages(){ mxlinux) HOMEPAGE="https://mxlinux.org/";; netboot) HOMEPAGE="https://netboot.xyz/";; 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/";; @@ -747,6 +750,10 @@ function releases_netbsd() { echo ${NBSD_RELEASES} } +function releases_nitrux() { + echo latest +} + function releases_nixos(){ echo 21.05 21.11 22.05 22.11 23.05 23.11 } @@ -1986,6 +1993,19 @@ function get_netbsd() { echo "${URL}/${ISO} ${HASH}" } +function get_nitrux() { + local HASH="" + local URLBASE="" + local URL="" + local ISO="" + + URLBASE="https://sourceforge.net/projects/nitruxos/files/Release" + URL="${URLBASE}/ISO" + ISO=$(wget -qO- 'https://sourceforge.net/projects/nitruxos/rss?path=/Release/ISO' | grep '.iso' | head -1 | cut -d']' -f1 | cut -d '/' -f4) + HASH=$(wget -q -O- "${URLBASE}/MD5/${ISONAME}.md5sum" | grep "${ISO}" | cut -d' ' -f1) + echo "${URL}/${ISO} ${HASH}" +} + function get_nixos() { local EDITION="${1:-}" local HASH="" From 51758a9390dd881a9d9cd0e0243f80f3f87b4487 Mon Sep 17 00:00:00 2001 From: zenobit Date: Sat, 30 Dec 2023 23:36:43 +0100 Subject: [PATCH 10/26] =?UTF-8?q?=F0=9F=93=A6=20Parrot=20Security?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- quickget | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/quickget b/quickget index 0068cccfb8..d10b17a8ec 100755 --- a/quickget +++ b/quickget @@ -95,6 +95,7 @@ function pretty_name() { openindiana) PRETTY_NAME="OpenIndiana";; opensuse) PRETTY_NAME="openSUSE";; oraclelinux) PRETTY_NAME="Oracle Linux";; + parrotsec) PRETTY_NAME="Parrot Security";; peppermint) PRETTY_NAME="PeppermintOS";; popos) PRETTY_NAME="Pop!_OS";; reactos) PRETTY_NAME="ReactOS";; @@ -267,6 +268,7 @@ function os_support() { opensuse \ oraclelinux \ peppermint \ + parrotsec \ popos \ porteus \ reactos \ @@ -360,6 +362,7 @@ function os_homepages(){ openindiana) HOMEPAGE="https://www.openindiana.org/";; opensuse) HOMEPAGE="https://www.opensuse.org/";; oraclelinux) HOMEPAGE="https://www.oracle.com/linux/";; + parrotsec) HOMEPAGE="https://www.parrotsec.org/";; peppermint) HOMEPAGE="https://peppermintos.com/";; popos) HOMEPAGE="https://pop.system76.com/";; porteus) HOMEPAGE="http://www.porteus.org/";; @@ -783,6 +786,14 @@ function releases_oraclelinux() { echo 7.7 7.8 7.9 8.4 8.5 8.6 9.0 } +function releases_parrotsec() { + echo 6.0 5.0 4.11.3 +} + +function editions_parrotsec() { + echo architect home htb security +} + function releases_peppermint() { echo latest } @@ -2069,6 +2080,18 @@ function get_oraclelinux() { echo "${URL}/${ISO} ${HASH}" } +function get_parrotsec() { + local EDITION="${1:-}" + local HASH="" + local ISO="" + local URL="" + + ISO="Parrot-${EDITION}-${RELEASE}_amd64.iso" + URL="https://download.parrot.sh/parrot/iso/${RELEASE}" + HASH="$(wget -q -O- ${URL}/signed-hashes.txt | grep ${ISO} | cut -d' ' -f1)" + echo "${URL}/${ISO}" "${HASH}" +} + function get_peppermint() { local EDITION="${1:-}" local HASH="" From 628b041f02562bae89a7314d701bbee8fc174abb Mon Sep 17 00:00:00 2001 From: Olivier Duquesne Date: Tue, 26 Dec 2023 22:00:07 +0100 Subject: [PATCH 11/26] =?UTF-8?q?=F0=9F=93=A6=20Primtux=20Thanks=20to=20@D?= =?UTF-8?q?affyDuke?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- quickget | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/quickget b/quickget index d10b17a8ec..d53c7c61fd 100755 --- a/quickget +++ b/quickget @@ -98,6 +98,7 @@ function pretty_name() { parrotsec) PRETTY_NAME="Parrot Security";; peppermint) PRETTY_NAME="PeppermintOS";; popos) PRETTY_NAME="Pop!_OS";; + primtux) PRETTY_NAME="Primtux";; reactos) PRETTY_NAME="ReactOS";; rebornos) PRETTY_NAME="RebornOS";; rockylinux) PRETTY_NAME="Rocky Linux";; @@ -271,6 +272,7 @@ function os_support() { parrotsec \ popos \ porteus \ + primtux \ reactos \ rebornos \ rockylinux \ @@ -366,6 +368,7 @@ function os_homepages(){ peppermint) HOMEPAGE="https://peppermintos.com/";; popos) HOMEPAGE="https://pop.system76.com/";; porteus) HOMEPAGE="http://www.porteus.org/";; + primtux) HOMEPAGE="https://primtux.fr/";; reactos) HOMEPAGE="https://reactos.org/";; rebornos) HOMEPAGE="https://rebornos.org/";; rockylinux) HOMEPAGE="https://rockylinux.org/";; @@ -818,6 +821,14 @@ function editions_porteus() { echo cinnamon gnome kde lxde lxqt mate openbox xfce } +function releases_primtux() { + echo 7 +} + +function editions_primtux() { + echo 2022-10 +} + function releases_reactos() { echo latest } @@ -2140,6 +2151,17 @@ function get_porteus() { echo "${URL}/${ISO} ${HASH}" } +function get_primtux() { + local HASH="" + local URL="" + local ISO="" + + ISO="PrimTux${RELEASE}-amd64-${EDITION}.iso" + URL="https://sourceforge.net/projects/primtux/files/Distribution" + HASH=$(wget -q -O- "${URL}/${ISO}.md5" | grep "${ISO}" | cut -d' ' -f1) + echo "${URL}/${ISO} ${HASH}" +} + function get_reactos() { local HASH="" local URL="" From 3fcce286985e9a6e520ba21a4b33c3ef7082cba9 Mon Sep 17 00:00:00 2001 From: zenobit Date: Thu, 19 Oct 2023 12:38:43 +0200 Subject: [PATCH 12/26] =?UTF-8?q?=F0=9F=93=A6=20Slax?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- quickget | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/quickget b/quickget index d53c7c61fd..31077a8808 100755 --- a/quickget +++ b/quickget @@ -278,6 +278,7 @@ function os_support() { rockylinux \ siduction \ slackware \ + slax \ solus \ spiral \ tails \ @@ -374,6 +375,7 @@ function os_homepages(){ rockylinux) HOMEPAGE="https://rockylinux.org/";; siduction) HOMEPAGE="https://siduction.org/";; slackware) HOMEPAGE="http://www.slackware.com/";; + slax) HOMEPAGE="https://www.slax.org/";; solus) HOMEPAGE="https://getsol.us/";; spiral) HOMEPAGE="https://spirallinux.github.io/";; tails) HOMEPAGE="https://tails.net/";; @@ -863,6 +865,14 @@ function releases_slackware() { echo 14.2 15.0 } +function releases_slax() { + echo latest +} + +function editions_slax() { + echo debian slackware +} + function releases_solus() { echo 4.3 } @@ -1193,7 +1203,7 @@ EOF echo "disk_size=\"32G\"" >> "${CONF_FILE}";; batocera) echo "disk_size=\"8G\"" >> "${CONF_FILE}";; - dragonflybsd|haiku|openbsd|netbsd|slackware|tails|tinycore) + dragonflybsd|haiku|openbsd|netbsd|slackware|slax|tails|tinycore) echo "boot=\"legacy\"" >> "${CONF_FILE}";; deepin) echo "disk_size=\"64G\"" >> "${CONF_FILE}" @@ -2210,6 +2220,24 @@ function get_slackware() { echo "${URL}/${ISO} ${HASH}" } +function get_slax() { + local HASH="" + local ISO="" + local URL="" + + case ${EDITION} in + debian) URL="https://ftp.fi.muni.cz/pub/linux/slax/Slax-12.x" + ISO=$(wget -q -O- "${URL}/md5.txt" | grep '64bit-' | cut -d' ' -f3 | tail -n1) + HASH=$(wget -q -O- "${URL}/md5.txt" | grep '64bit-' | cut -d' ' -f1 | tail -n1) + ;; + slackware) URL="https://ftp.fi.muni.cz/pub/linux/slax/Slax-15.x" + ISO=$(wget -q -O- "${URL}/md5.txt" | grep '64bit-' | cut -d' ' -f3 | tail -n1) + HASH=$(wget -q -O- "${URL}/md5.txt" | grep '64bit-' | cut -d' ' -f1 | tail -n1) + ;; + esac + echo "${URL}/${ISO} ${HASH}" +} + function get_solus() { local EDITION="${1:-}" local HASH="" From 33a00ac0053bf6ecb1953e635038e3ae2de0d54c Mon Sep 17 00:00:00 2001 From: zenobit Date: Fri, 29 Dec 2023 20:48:39 +0100 Subject: [PATCH 13/26] =?UTF-8?q?=F0=9F=93=A6=20Slint?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- quickget | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/quickget b/quickget index 31077a8808..6c9c067e35 100755 --- a/quickget +++ b/quickget @@ -102,6 +102,7 @@ function pretty_name() { reactos) PRETTY_NAME="ReactOS";; rebornos) PRETTY_NAME="RebornOS";; rockylinux) PRETTY_NAME="Rocky Linux";; + slint) PRETTY_NAME="Slint";; tinycore) PRETTY_NAME="Tiny Core Linux";; truenas-core) PRETTY_NAME="TrueNAS Core";; truenas-scale) PRETTY_NAME="TrueNAS Scale";; @@ -279,6 +280,7 @@ function os_support() { siduction \ slackware \ slax \ + slint \ solus \ spiral \ tails \ @@ -376,6 +378,7 @@ function os_homepages(){ siduction) HOMEPAGE="https://siduction.org/";; slackware) HOMEPAGE="http://www.slackware.com/";; slax) HOMEPAGE="https://www.slax.org/";; + slint) HOMEPAGE="https://slint.fr/";; solus) HOMEPAGE="https://getsol.us/";; spiral) HOMEPAGE="https://spirallinux.github.io/";; tails) HOMEPAGE="https://tails.net/";; @@ -873,6 +876,10 @@ function editions_slax() { echo debian slackware } +function releases_slint() { + echo 15.0 14.2.1 +} + function releases_solus() { echo 4.3 } @@ -1219,6 +1226,9 @@ EOF echo "disk_size=\"2G\"" >> "${CONF_FILE}" echo "ram=\"128M\"" >> "${CONF_FILE}" ;; + slint) + echo "disk_size=\"50G\"" >> "${CONF_FILE}" + ;; truenas-scale|truenas-core) echo "boot=\"legacy\"" >> "${CONF_FILE}" # the rest is non-functional @@ -1271,7 +1281,11 @@ EOF fi echo echo "To start your $(pretty_name "${OS}") virtual machine run:" - echo " quickemu --vm ${CONF_FILE}" + if [ ${OS} == "slint" ]; then + echo -e " quickemu --vm ${CONF_FILE}\nTo start Slint with braille support run:\n quickemu --vm --braille --display sdl ${CONF_FILE}" + else + echo " quickemu --vm ${CONF_FILE}" + fi echo exit 0 } @@ -2225,6 +2239,7 @@ function get_slax() { local ISO="" local URL="" + case ${EDITION} in debian) URL="https://ftp.fi.muni.cz/pub/linux/slax/Slax-12.x" ISO=$(wget -q -O- "${URL}/md5.txt" | grep '64bit-' | cut -d' ' -f3 | tail -n1) @@ -2238,6 +2253,20 @@ function get_slax() { echo "${URL}/${ISO} ${HASH}" } +function get_slint() { + local HASH="" + local ISO="" + local URL="" + + case ${RELEASE} in + 14.2.1) ISO="slint64-14.2.1.4.iso";; + 15.0) ISO="slint64-15.0-5.iso";; + esac + URL="https://slackware.uk/slint/x86_64/slint-${RELEASE}/iso" + HASH=$(wget -q -O- "${URL}"/${ISO}.sha256 | cut -d' ' -f4) + echo "${URL}/${ISO}" "${HASH}" +} + function get_solus() { local EDITION="${1:-}" local HASH="" From 327e45e3d3159d3f8e3b7c486312da1f51c38a7f Mon Sep 17 00:00:00 2001 From: zenobit Date: Thu, 19 Oct 2023 12:11:17 +0200 Subject: [PATCH 14/26] =?UTF-8?q?=F0=9F=93=A6=20Slitaz=20GNU/Linux?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- quickget | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/quickget b/quickget index 6c9c067e35..0b712a59f1 100755 --- a/quickget +++ b/quickget @@ -103,6 +103,7 @@ function pretty_name() { rebornos) PRETTY_NAME="RebornOS";; rockylinux) PRETTY_NAME="Rocky Linux";; slint) PRETTY_NAME="Slint";; + slitaz) PRETTY_NAME="SliTaz GNU/Linux";; tinycore) PRETTY_NAME="Tiny Core Linux";; truenas-core) PRETTY_NAME="TrueNAS Core";; truenas-scale) PRETTY_NAME="TrueNAS Scale";; @@ -281,6 +282,7 @@ function os_support() { slackware \ slax \ slint \ + slitaz \ solus \ spiral \ tails \ @@ -379,6 +381,7 @@ function os_homepages(){ slackware) HOMEPAGE="http://www.slackware.com/";; slax) HOMEPAGE="https://www.slax.org/";; slint) HOMEPAGE="https://slint.fr/";; + slitaz) HOMEPAGE="https://www.slitaz.org/";; solus) HOMEPAGE="https://getsol.us/";; spiral) HOMEPAGE="https://spirallinux.github.io/";; tails) HOMEPAGE="https://tails.net/";; @@ -880,6 +883,10 @@ function releases_slint() { echo 15.0 14.2.1 } +function releases_slitaz() { + echo preferred core core64 loram core-5in1 preinit +} + function releases_solus() { echo 4.3 } @@ -1229,6 +1236,11 @@ EOF slint) echo "disk_size=\"50G\"" >> "${CONF_FILE}" ;; + slitaz) + echo "boot=\"legacy\"" >> "${CONF_FILE}" + echo "disk_size=\"4G\"" >> "${CONF_FILE}" + echo "ram=\"512M\"" >> "${CONF_FILE}" + ;; truenas-scale|truenas-core) echo "boot=\"legacy\"" >> "${CONF_FILE}" # the rest is non-functional @@ -2267,6 +2279,20 @@ function get_slint() { echo "${URL}/${ISO}" "${HASH}" } +function get_slitaz() { + local HASH="" + local ISO="slitaz-rolling-${RELEASE}" + local URL="http://mirror.slitaz.org/iso/rolling" + + case ${RELEASE} in + preferred) ISO="slitaz-rolling";; + *) ISO="slitaz-rolling-${RELEASE}";; + esac + + HASH=$(wget -q -O- "${URL}/${ISO}.md5" | cut -d' ' -f1) + echo "${URL}/${ISO}.iso ${HASH}" +} + function get_solus() { local EDITION="${1:-}" local HASH="" From 994ca07e52a4578f61b3b8d4958d4ad05eeccc40 Mon Sep 17 00:00:00 2001 From: zenobit Date: Sun, 8 Oct 2023 04:26:05 +0200 Subject: [PATCH 15/26] =?UTF-8?q?=F0=9F=93=A6=20SparkyLinux?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- quickget | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/quickget b/quickget index 0b712a59f1..2c55df8610 100755 --- a/quickget +++ b/quickget @@ -104,6 +104,7 @@ function pretty_name() { rockylinux) PRETTY_NAME="Rocky Linux";; slint) PRETTY_NAME="Slint";; slitaz) PRETTY_NAME="SliTaz GNU/Linux";; + sparkylinux) PRETTY_NAME="SparkyLinux";; tinycore) PRETTY_NAME="Tiny Core Linux";; truenas-core) PRETTY_NAME="TrueNAS Core";; truenas-scale) PRETTY_NAME="TrueNAS Scale";; @@ -284,6 +285,7 @@ function os_support() { slint \ slitaz \ solus \ + sparkylinux \ spiral \ tails \ tinycore \ @@ -383,6 +385,7 @@ function os_homepages(){ slint) HOMEPAGE="https://slint.fr/";; slitaz) HOMEPAGE="https://www.slitaz.org/";; solus) HOMEPAGE="https://getsol.us/";; + sparkylinux) HOMEPAGE="https://sparkylinux.org/";; spiral) HOMEPAGE="https://spirallinux.github.io/";; tails) HOMEPAGE="https://tails.net/";; tinycore) HOMEPAGE="http://www.tinycorelinux.net/";; @@ -895,6 +898,15 @@ 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 } @@ -2303,6 +2315,23 @@ function get_solus() { echo "${URL}/${ISO} ${HASH}" } +function get_sparkylinux() { + local EDITION="${1:-}" + local HASH="" + local ISO="" + local URL="" + + 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="" From 04a14baefa69ea10b68ce9e6cca4df98879d1b26 Mon Sep 17 00:00:00 2001 From: zenobit Date: Tue, 16 Jan 2024 10:58:58 +0100 Subject: [PATCH 16/26] =?UTF-8?q?=F0=9F=9B=A0=20=20spiral=20rename?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zenobit --- quickget | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/quickget b/quickget index 2c55df8610..c810639698 100755 --- a/quickget +++ b/quickget @@ -286,7 +286,7 @@ function os_support() { slitaz \ solus \ sparkylinux \ - spiral \ + spirallinux \ tails \ tinycore \ trisquel \ @@ -386,7 +386,7 @@ function os_homepages(){ slitaz) HOMEPAGE="https://www.slitaz.org/";; solus) HOMEPAGE="https://getsol.us/";; sparkylinux) HOMEPAGE="https://sparkylinux.org/";; - spiral) HOMEPAGE="https://spirallinux.github.io/";; + spirallinux) HOMEPAGE="https://spirallinux.github.io/";; tails) HOMEPAGE="https://tails.net/";; tinycore) HOMEPAGE="http://www.tinycorelinux.net/";; trisquel) HOMEPAGE="https://trisquel.info/";; @@ -907,12 +907,12 @@ function editions_sparkylinux() { echo lxqt mate xfce kde minimalgui minimalcli gameover multimedia rescue } -function releases_spiral() { - echo latest +function releases_spirallinux() { + echo latest } -function editions_spiral() { - echo Plasma XFCE Mate LXQt Gnome Budgie Cinnamon Builder +function editions_spirallinux() { + echo Plasma XFCE Mate LXQt Gnome Budgie Cinnamon Builder } function releases_tails() { @@ -2332,14 +2332,14 @@ function get_sparkylinux() { 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_spirallinux() { + 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}" + 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() { From b50c1122019492907557555c4cb73da59ea7d836 Mon Sep 17 00:00:00 2001 From: zenobit Date: Tue, 16 Jan 2024 11:39:24 +0100 Subject: [PATCH 17/26] =?UTF-8?q?=F0=9F=9B=A0=20=20Gentoo=20livegui?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zenobit --- quickget | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/quickget b/quickget index c810639698..04072d5bfc 100755 --- a/quickget +++ b/quickget @@ -667,6 +667,10 @@ function releases_gentoo() { echo latest } +function editions_gentoo() { + echo minimal livegui +} + function releases_ghostbsd() { echo 21.10.16 21.11.24 22.01.12 } @@ -1804,8 +1808,12 @@ function get_gentoo() { local ISO="" local URL="https://mirror.bytemark.co.uk/gentoo/releases/amd64/autobuilds/" - ISO=$(wget -q -O- "${URL}/${RELEASE}-iso.txt" | grep install | cut -d' ' -f1) - HASH=$( wget -q -O- "${URL}/${ISO}.DIGESTS" | grep -A 1 SHA512 | grep iso | grep -v CONTENTS | cut -d' ' -f1) + case ${EDITION} in + minimal) ISO=$(wget -q -O- "${URL}/${RELEASE}-iso.txt" | grep install | cut -d' ' -f1) + HASH=$( wget -q -O- "${URL}/${ISO}.DIGESTS" | grep -A 1 SHA512 | grep iso | grep -v CONTENTS | cut -d' ' -f1);; + livegui) ISO=$(wget -q -O- "${URL}/${RELEASE}-iso.txt" | grep livegui | cut -d' ' -f1) + HASH=$( wget -q -O- "${URL}/${ISO}.DIGESTS" | grep -A 1 SHA512 | grep iso | grep -v CONTENTS | cut -d' ' -f1);; + esac echo "${URL}/${ISO} ${HASH}" } From 3b98b53efe16734bbbef0021c864a8db37ea003b Mon Sep 17 00:00:00 2001 From: zenobit Date: Tue, 16 Jan 2024 13:19:06 +0100 Subject: [PATCH 18/26] =?UTF-8?q?=F0=9F=8C=80=20EndeavourOS=20dynamic=20re?= =?UTF-8?q?leases=20Thanks=20to=20@lj3954?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zenobit --- quickget | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/quickget b/quickget index 04072d5bfc..b40a11d974 100755 --- a/quickget +++ b/quickget @@ -598,14 +598,8 @@ function releases_elementary() { } function releases_endeavouros() { - echo apollo_22_1 \ - artemis-22_6 \ - artemis_neo_22_7 \ - artemis_neo_22_8 \ - artemis_nova_22_9 \ - atlantis-21_4 \ - atlantis_neo-21_5 \ - cassini_22_12 + local ENDEAVOUR_RELEASES="$(curl -s https://mirror.alpix.eu/endeavouros/iso/ | LC_ALL="en_US.UTF-8" sort -Mr | grep -o -P '(?<=)' | grep -v 'x86_64' | cut -c 13-)" + echo ${ENDEAVOUR_RELEASES,,} } function releases_endless() { @@ -1707,9 +1701,10 @@ function get_elementary() { function get_endeavouros() { local HASH="" - # Endeavour release names are Capitalized and our $RELEASE is forced to lowercase so we have to revert it - local ISO="EndeavourOS_${RELEASE@u}.iso" - local URL="https://github.com/endeavouros-team/ISO/releases/download/1-EndeavourOS-ISO-releases-archive" + local URL="https://mirror.alpix.eu/endeavouros/iso" + # Find EndeavourOS releases from mirror, pick one matching release + local ENDEAVOUR_RELEASES="$(curl -s "${URL}"/ | grep -o -P '(?<=)' | grep -v 'x86_64')" + local ISO="$(echo "${ENDEAVOUR_RELEASES}" | grep -i ${RELEASE}).iso" HASH=$(wget -q -O- "${URL}/${ISO}.sha512sum" | cut -d' ' -f1) echo "${URL}/${ISO} ${HASH}" From eeec9dc76a539f5287549c43b131363c1823aa9b Mon Sep 17 00:00:00 2001 From: zenobit Date: Wed, 17 Jan 2024 16:45:28 +0100 Subject: [PATCH 19/26] =?UTF-8?q?=F0=9F=9B=A0=20=20BlendOS=20releases=20on?= =?UTF-8?q?=201=20line?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zenobit --- quickget | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/quickget b/quickget index b40a11d974..7534c8e3cd 100755 --- a/quickget +++ b/quickget @@ -512,8 +512,8 @@ function releases_blendos() { wget -q https://sourceforge.net/projects/blendos/rss?path=/ISOs/ -O- | grep -E -o 'https://.*blendOS\.iso.*/tmp/blendos-isos.rss local RLIST - RLIST=$(grep -E -o 'https://.*blendOS\.iso.* Date: Wed, 17 Jan 2024 19:12:43 +0100 Subject: [PATCH 20/26] =?UTF-8?q?=F0=9F=9B=A0=20=20Zorin=2017?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zenobit --- quickget | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quickget b/quickget index 7534c8e3cd..a9e3764d4f 100755 --- a/quickget +++ b/quickget @@ -1027,7 +1027,7 @@ function releases_xerolinux() { } function releases_zorin() { - echo 16 + echo 17 16 } function editions_zorin() { From 220d4ed109ef47462e160361e332b0c00c6f5d08 Mon Sep 17 00:00:00 2001 From: zenobit Date: Fri, 19 Jan 2024 18:56:46 +0100 Subject: [PATCH 21/26] =?UTF-8?q?=F0=9F=9A=91=20Linted=20or=20ignored?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zenobit --- quickget | 151 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 81 insertions(+), 70 deletions(-) diff --git a/quickget b/quickget index a9e3764d4f..fdbba4ae57 100755 --- a/quickget +++ b/quickget @@ -1,4 +1,5 @@ #!/usr/bin/env bash +#shellcheck disable=SC2155,SC2317 export LC_ALL=C # Here the quick 'n dirty guide to adding a new OS to quickget @@ -450,7 +451,7 @@ function releases_archcraft() { function releases_arcolinux() { local RLIST RLIST=$(curl -s https://ant.seedhost.eu/arcolinux/iso/ | grep -o -E ">v[[:digit:]]{2}.[[:digit:]]{2}.[[:digit:]]{2}" | sed -e "s/>//" | tr '\r\n' ' ') - echo ${RLIST} + echo "${RLIST}" } function editions_arcolinux() { @@ -499,7 +500,7 @@ function releases_athenaos() { } function releases_bazzite() { - echo $(wget -q -O- "https://api.github.com/repos/ublue-os/bazzite/releases" | grep 'download_url' | grep 'sum' | cut -d '/' -f8 | cut -d'v' -f2 | tr '\n' ' ') + wget -q -O- "https://api.github.com/repos/ublue-os/bazzite/releases" | grep 'download_url' | grep 'sum' | cut -d '/' -f8 | cut -d'v' -f2 | tr '\n' ' ' } function releases_biglinux() { @@ -559,10 +560,12 @@ function releases_crunchbang++() { } function releases_debian() { + # shellcheck disable=SC1001 DEBCURRENT=$(wget -q https://cdimage.debian.org/debian-cd/ -O- |grep '\.[0-9]/'|cut -d\> -f9|cut -d\/ -f1) + # shellcheck disable=SC1001 local DEBOLD=$(wget -q https://cdimage.debian.org/cdimage/archive/ -O- |grep -e '>[1-9][0-9]\.'|grep -v 'live' | cut -d\> -f9|cut -d\/ -f1 ) - echo ${DEBOLD} ${DEBCURRENT} + echo "${DEBOLD}" "${DEBCURRENT}" } function editions_debian() { @@ -581,7 +584,7 @@ function releases_dragonflybsd() { # 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 + echo "$DBSD_RELEASES" } function releases_easyos() { @@ -599,7 +602,7 @@ function releases_elementary() { function releases_endeavouros() { local ENDEAVOUR_RELEASES="$(curl -s https://mirror.alpix.eu/endeavouros/iso/ | LC_ALL="en_US.UTF-8" sort -Mr | grep -o -P '(?<=)' | grep -v 'x86_64' | cut -c 13-)" - echo ${ENDEAVOUR_RELEASES,,} + echo "${ENDEAVOUR_RELEASES,,}" } function releases_endless() { @@ -638,7 +641,7 @@ function editions_fedora() { function releases_freebsd(){ local FBSD_RELEASES=$(curl -sL https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/|grep -e 'class="link"' |grep -v '\.\.'|cut -d\" -f4|tr -d '/') - echo ${FBSD_RELEASES} + echo "${FBSD_RELEASES}" } function editions_freebsd(){ @@ -762,7 +765,7 @@ function releases_netboot() { function releases_netbsd() { local NBSD_RELEASES=$(curl -sL http://cdn.netbsd.org/pub/NetBSD/iso/ | grep -o -E '"[[:digit:]]+\.[[:digit:]]+/"' |tr -d '"/' |sort -nr ) - echo ${NBSD_RELEASES} + echo "${NBSD_RELEASES}" } function releases_nitrux() { @@ -779,7 +782,7 @@ function editions_nixos(){ function releases_openbsd(){ local OBSD_RELEASES=$(curl -sL https://mirror.leaseweb.com/pub/OpenBSD/|grep -e '6\.[8-9]/' -e '[7-9]\.'|cut -d\" -f4|tr -d '/') - echo ${OBSD_RELEASES} + echo "${OBSD_RELEASES}" } function releases_openindiana(){ @@ -950,56 +953,56 @@ function releases_truenas-scale() { function releases_ubuntu() { local VERSION_DATA="$(IFS=$'\n' wget -qO- https://api.launchpad.net/devel/ubuntu/series | jq -r '.entries[]')" - local SUPPORTED_VERSIONS=($(IFS=$'\n' jq -r 'select(.status=="Supported" or .status=="Current Stable Release") | .version' <<<${VERSION_DATA} | sort)) - local EOL_VERSIONS=($(IFS=$'\n' jq -r 'select(.status=="Obsolete") | .version' <<<${VERSION_DATA} | sort)) + mapfile -t SUPPORTED_VERSIONS < <(jq -r 'select(.status=="Supported" or .status=="Current Stable Release") | .version' <<<"${VERSION_DATA}") + mapfile -t EOL_VERSIONS < <(IFS=$'\n' jq -r 'select(.status=="Obsolete") | .version' <<<"${VERSION_DATA}" | sort) local LTS_SUPPORT=() local INTERIM_SUPPORT=() for i in "${SUPPORTED_VERSIONS[@]}"; do - if [[ $(expr ${i%.*} % 2) == 0 && ${i#*.} == "04" ]]; then - LTS_SUPPORT+=($i) + if [[ $(( ${i%.*} % 2 )) == 0 && "${i#*.}" == "04" ]]; then + LTS_SUPPORT+=("$i") else - INTERIM_SUPPORT+=($i) + INTERIM_SUPPORT+=("$i") fi done case "${OS}" in edubuntu|ubuntu-unity|ubuntucinnamon) - echo ${INTERIM_SUPPORT[@]} daily-live + echo "${INTERIM_SUPPORT[@]}" daily-live ;; kubuntu|lubuntu|ubuntukylin|ubuntu-mate|ubuntustudio|xubuntu) ## after 14.04 - echo ${LTS_SUPPORT[@]:1} ${INTERIM_SUPPORT[@]} daily-live jammy-daily ${EOL_VERSIONS[@]/#/eol-} + echo "${LTS_SUPPORT[@]:1}" "${INTERIM_SUPPORT[@]}" daily-live jammy-daily "${EOL_VERSIONS[@]/#/eol-}" ;; ubuntu-budgie) #after 16.04 - echo ${LTS_SUPPORT[@]:2} ${INTERIM_SUPPORT[@]} daily-live jammy-daily ${EOL_VERSIONS[@]/#/eol-} + echo "${LTS_SUPPORT[@]:2}" "${INTERIM_SUPPORT[@]}" daily-live jammy-daily "${EOL_VERSIONS[@]/#/eol-}" ;; ubuntu) - echo ${LTS_SUPPORT[@]} ${INTERIM_SUPPORT[@]} daily-live ${EOL_VERSIONS[@]/#/eol-} + echo "${LTS_SUPPORT[@]}" "${INTERIM_SUPPORT[@]}" daily-live "${EOL_VERSIONS[@]/#/eol-}" ;; esac } function releases_ubuntu-server() { - local ALL_VERSIONS=($(IFS=$'\n' wget -qO- http://releases.ubuntu.com/streams/v1/com.ubuntu.releases:ubuntu-server.json | jq -r '.products[] | select(.arch=="amd64") | .version')) + mapfile -t ALL_VERSIONS < <(IFS=$'\n' wget -qO- http://releases.ubuntu.com/streams/v1/com.ubuntu.releases:ubuntu-server.json | jq -r '.products[] | select(.arch=="amd64") | .version') local LTS_SUPPORT=() local INTERIM_SUPPORT=() for i in "${!ALL_VERSIONS[@]}"; do - if [[ $i == 0 || ${ALL_VERSIONS[$i]} > ${ALL_VERSIONS[$(expr $i - 1)]} ]]; then - if [[ $(expr ${ALL_VERSIONS[${i}]%.*} % 2) == 0 && ${ALL_VERSIONS[${i}]#*.} == "04" ]]; then - LTS_SUPPORT+=(${ALL_VERSIONS[$i]}) + if [[ $i == 0 || "${ALL_VERSIONS[$i]}" > "${ALL_VERSIONS[$((i - 1))]}" ]]; then + if [[ $(( ${ALL_VERSIONS[${i}]%.*} % 2 )) == 0 && "${ALL_VERSIONS[${i}]#*.}" == "04" ]]; then + LTS_SUPPORT+=("${ALL_VERSIONS[$i]}") else - INTERIM_SUPPORT+=(${ALL_VERSIONS[$i]}) + INTERIM_SUPPORT+=("${ALL_VERSIONS[$i]}") fi else break fi done - echo ${LTS_SUPPORT[@]} ${INTERIM_SUPPORT[@]} daily-live + echo "${LTS_SUPPORT[@]}" "${INTERIM_SUPPORT[@]}" daily-live } function releases_vanillaos() { @@ -1149,6 +1152,7 @@ function make_vm_config() { local ISO_FILE="" local IMAGE_TYPE="" local GUEST="" + # shellcheck disable=SC2034 local SEC_BOOT="" IMAGE_FILE="${1}" @@ -1303,7 +1307,7 @@ EOF fi echo echo "To start your $(pretty_name "${OS}") virtual machine run:" - if [ ${OS} == "slint" ]; then + if [ "${OS}" == "slint" ]; then echo -e " quickemu --vm ${CONF_FILE}\nTo start Slint with braille support run:\n quickemu --vm --braille --display sdl ${CONF_FILE}" else echo " quickemu --vm ${CONF_FILE}" @@ -1389,7 +1393,7 @@ function get_antix() { ;; esac - HASH=$(wget -q -O- ${URL}/README.txt | grep "${ISO}" | cut -d' ' -f1 | head -1) + HASH=$(wget -q -O- "${URL}"/README.txt | grep "${ISO}" | cut -d' ' -f1 | head -1) echo "${URL}/${ISO} ${HASH}" } @@ -1426,9 +1430,9 @@ function get_artixlinux() { local HASH="" local ISO="" local URL="https://iso.artixlinux.org/iso" - DATE=$(wget -q -O- ${URL}/sha256sums | cut -d'-' -f4 | head -1) + DATE=$(wget -q -O- "${URL}"/sha256sums | cut -d'-' -f4 | head -1) ISO="artix-${EDITION}-${DATE}-x86_64.iso" - HASH=$(wget -q -O- ${URL}/sha256sums | grep "${ISO}") + HASH=$(wget -q -O- "${URL}"/sha256sums | grep "${ISO}") echo "${URL}/${ISO} ${HASH}" } @@ -1455,8 +1459,8 @@ function get_biglinux() { local HASH="" local ISO="" local URL="https://iso.biglinux.com.br/" - ISO=$(grep -Eo 'biglinux_[0-9]{4}(-[0-9]{2}){2}_k[0-9]{2,3}.iso' <(wget -q -O- ${URL}) | sort -u | tail -n2 | head -n1) - HASH=$(curl -s ${URL}${ISO}.md5 | grep -Eo '[[:alnum:]]{32}') + ISO=$(grep -Eo 'biglinux_[0-9]{4}(-[0-9]{2}){2}_k[0-9]{2,3}.iso' <(wget -q -O- "${URL}") | sort -u | tail -n2 | head -n1) + HASH=$(curl -s "${URL}""${ISO}".md5 | grep -Eo '[[:alnum:]]{32}') echo "${URL}${ISO} ${HASH}" } @@ -1478,8 +1482,8 @@ function get_blendos() { # # We have to provide edition/release as RELEASE or have a major refactor # But this works for now ... or does it .... - URL=$(grep ${RELEASE} /tmp/blendos-isos.rss | grep -E -o 'https://.*blendOS\.iso') - HASH=$(grep ${RELEASE} /tmp/blendos-isos.rss | grep -E -o '[[:alnum:]]{32}') + URL=$(grep "${RELEASE}" /tmp/blendos-isos.rss | grep -E -o 'https://.*blendOS\.iso') + HASH=$(grep "${RELEASE}" /tmp/blendos-isos.rss | grep -E -o '[[:alnum:]]{32}') # ## fix up variables for path naming EDITION=${RELEASE%%/*} RELEASE=${RELEASE##*/} @@ -1503,7 +1507,7 @@ function get_vanillaos() { function get_batocera() { local HASH="" local URL="https://mirrors.o2switch.fr/batocera/x86_64/stable/last" - local ISO="$(curl -sl ${URL}/ | grep -e 'batocera.*img.gz'|cut -d\" -f2)" + local ISO="$(curl -sl "${URL}"/ | grep -e 'batocera.*img.gz'|cut -d\" -f2)" echo "${URL}/${ISO} ${HASH}" } @@ -1546,12 +1550,12 @@ function get_centos-stream() { 8) ISO="CentOS-Stream-${RELEASE}-x86_64-latest-${EDITION}.iso" URL="https://mirrors.ocf.berkeley.edu/centos/8-stream/isos/x86_64" - HASH=$(wget -q -O- ${URL}/CHECKSUM | grep "SHA256 (${ISO}" | cut -d' ' -f4) + HASH=$(wget -q -O- "${URL}"/CHECKSUM | grep "SHA256 (${ISO}" | cut -d' ' -f4) ;; 9) ISO="CentOS-Stream-${RELEASE}-latest-x86_64-${EDITION}.iso" URL="https://mirrors.ocf.berkeley.edu/centos-stream/9-stream/BaseOS/x86_64/iso" - HASH=$(wget -q -O- ${URL}/${ISO}.SHA256SUM | grep "SHA256 (${ISO}" | cut -d' ' -f4) + HASH=$(wget -q -O- "${URL}"/"${ISO}".SHA256SUM | grep "SHA256 (${ISO}" | cut -d' ' -f4) ;; esac @@ -1612,6 +1616,7 @@ function get_debian() { local ISO="debian-live-${RELEASE}-amd64-${EDITION}.iso" local URL="" + # shellcheck disable=SC1001 DEBCURRENT=$(wget -q https://cdimage.debian.org/debian-cd/ -O- |grep '\.[0-9]/'|cut -d\> -f9|cut -d\/ -f1) case ${RELEASE} in "${DEBCURRENT}") URL="https://cdimage.debian.org/debian-cd/${RELEASE}-live/amd64/iso-hybrid";; @@ -1704,7 +1709,7 @@ function get_endeavouros() { local URL="https://mirror.alpix.eu/endeavouros/iso" # Find EndeavourOS releases from mirror, pick one matching release local ENDEAVOUR_RELEASES="$(curl -s "${URL}"/ | grep -o -P '(?<=)' | grep -v 'x86_64')" - local ISO="$(echo "${ENDEAVOUR_RELEASES}" | grep -i ${RELEASE}).iso" + local ISO="$(echo "${ENDEAVOUR_RELEASES}" | grep -i "${RELEASE}").iso" HASH=$(wget -q -O- "${URL}/${ISO}.sha512sum" | cut -d' ' -f1) echo "${URL}/${ISO} ${HASH}" @@ -1751,7 +1756,7 @@ function get_fedora() { *) VARIANT="Spins";; esac - JSON=$(wget -q -O- "https://getfedora.org/releases.json" | jq '.[] | select(.variant=="'${VARIANT}'" and .subvariant=="'"${EDITION}"'" and .arch=="x86_64" and .version=="'"${RELEASE}"'")') + JSON=$(wget -q -O- "https://getfedora.org/releases.json" | jq '.[] | select(.variant=="'"${VARIANT}"'" and .subvariant=="'"${EDITION}"'" and .arch=="x86_64" and .version=="'"${RELEASE}"'")') URL=$(echo "${JSON}" | jq -r '.link' | head -n1) HASH=$(echo "${JSON}" | jq -r '.sha256' | head -n1) echo "${URL} ${HASH}" @@ -1850,6 +1855,7 @@ function get_haiku() { function get_holoiso() { #local HASH="" + #shellcheck disable=SC1003 local ISO=$(wget -q -O- "https://api.github.com/repos/HoloISO/holoiso/releases" | sed 's/ /\n/g' | grep "HoloISO_${RELEASES}" | cut -d'\' -f1 | cut -d'/' -f4) local URL="https://cd2.holoiso.ru.eu.org" # Can't find hash @@ -2026,9 +2032,9 @@ function get_manjaro() { [[ ${EDITION} == "minimal" && ${TYPE} != "sway" ]] && EDITION=".minimal" || EDITION="" if [[ ${RELEASE} != "sway" ]]; then - URL="$(echo ${MANIFEST} | jq -r .${TYPE}.${RELEASE}${EDITION}.image)" + URL="$(echo "${MANIFEST}" | jq -r ."${TYPE}"."${RELEASE}""${EDITION}".image)" else - URL=$(echo ${MANIFEST} | jq -r '.[] | select(.name|test("^manjaro-sway-.*[.]iso$")) | select(.name|contains("unstable")|not) | .url') + URL=$(echo "${MANIFEST}" | jq -r '.[] | select(.name|test("^manjaro-sway-.*[.]iso$")) | select(.name|contains("unstable")|not) | .url') fi HASH=$(wget -qO- "${URL}.sha512" | cut -d' ' -f1) @@ -2150,7 +2156,7 @@ function get_parrotsec() { ISO="Parrot-${EDITION}-${RELEASE}_amd64.iso" URL="https://download.parrot.sh/parrot/iso/${RELEASE}" - HASH="$(wget -q -O- ${URL}/signed-hashes.txt | grep ${ISO} | cut -d' ' -f1)" + HASH="$(wget -q -O- "${URL}"/signed-hashes.txt | grep "${ISO}" | cut -d' ' -f1)" echo "${URL}/${ISO}" "${HASH}" } @@ -2195,7 +2201,7 @@ function get_porteus() { local ISO="" local URL="" - edition="${EDITION~~}" + edition="${EDITION,,}" ISO="Porteus-${edition}-v${RELEASE}-x86_64.iso" URL="https://mirrors.dotsrc.org/porteus/x86_64/Porteus-v${RELEASE}" HASH=$(wget -q -O- "${URL}/sha256sums.txt" | grep "${ISO}" | cut -d' ' -f1) @@ -2290,7 +2296,7 @@ function get_slint() { 15.0) ISO="slint64-15.0-5.iso";; esac URL="https://slackware.uk/slint/x86_64/slint-${RELEASE}/iso" - HASH=$(wget -q -O- "${URL}"/${ISO}.sha256 | cut -d' ' -f4) + HASH=$(wget -q -O- "${URL}"/"${ISO}".sha256 | cut -d' ' -f4) echo "${URL}/${ISO}" "${HASH}" } @@ -2331,7 +2337,7 @@ function get_sparkylinux() { *) URL="https://sourceforge.net/projects/sparkylinux/files/${EDITION}";; esac - HASH=$(wget -q -O- ${URL}/${ISO}.allsums.txt | head -2 | grep 'iso' | cut -d' ' -f1) + HASH=$(wget -q -O- "${URL}"/"${ISO}".allsums.txt | head -2 | grep 'iso' | cut -d' ' -f1) echo "${URL}/${ISO}" "${HASH}" } @@ -2394,8 +2400,8 @@ function get_truenas-scale() { local DLINFO="https://www.truenas.com/download-truenas-scale/" - URL=$(wget -q ${DLINFO} -O- | grep -o "\"https://.*${RELEASE}.*\.iso\""|cut -d\" -f2) - HASH=$(wget -q ${URL}.sha256 -O- | cut -d' ' -f1 ) + URL=$(wget -q "${DLINFO}" -O- | grep -o "\"https://.*${RELEASE}.*\.iso\""|cut -d\" -f2) + HASH=$(wget -q "${URL}".sha256 -O- | cut -d' ' -f1 ) echo "${URL} ${HASH}" } @@ -2405,8 +2411,8 @@ function get_truenas-core() { local URL="" local DLINFO="https://www.truenas.com/download-truenas-core/" - URL=$(wget -q ${DLINFO} -O- | grep -o "\"https://.*${RELEASE}.*\.iso\""|cut -d\" -f2) - HASH=$(wget -q ${URL}.sha256 -O- | cut -d' ' -f1) + URL=$(wget -q "${DLINFO}" -O- | grep -o "\"https://.*${RELEASE}.*\.iso\""|cut -d\" -f2) + HASH=$(wget -q "${URL}".sha256 -O- | cut -d' ' -f1) echo "${URL} ${HASH}" } @@ -2427,16 +2433,16 @@ function get_ubuntu-server() { if wget -q --spider "${URL}/SHA256SUMS"; then DATA=$(wget -qO- "${URL}/SHA256SUMS" | grep 'live-server' | grep amd64 | grep iso) - ISO=$(cut -d'*' -f2 <<<${DATA}) - HASH=$(cut -d' ' -f1 <<<${DATA}) + ISO=$(cut -d'*' -f2 <<<"${DATA}") + HASH=$(cut -d' ' -f1 <<<"${DATA}") else DATA=$(wget -qO- "${URL}/MD5SUMS" | grep 'live-server' | grep amd64 | grep iso) - ISO=$(cut -d' ' -f3 <<<${DATA}) - HASH=$(cut -d' ' -f1 <<<${DATA}) + ISO=$(cut -d' ' -f3 <<<"${DATA}") + HASH=$(cut -d' ' -f1 <<<"${DATA}") fi - if [ -z $ISO ] || [ -z $HASH ]; then - echo "$(pretty_name $OS) ${RELEASE} is currently unavailable. Please select other OS/Release combination" + if [ -z "$ISO" ] || [ -z "$HASH" ]; then + echo "$(pretty_name "$OS") ${RELEASE} is currently unavailable. Please select other OS/Release combination" exit 1 fi @@ -2483,16 +2489,16 @@ function get_ubuntu() { if wget -q --spider "${URL}/SHA256SUMS"; then DATA=$(wget -qO- "${URL}/SHA256SUMS" | grep 'desktop\|dvd\|install' | grep amd64 | grep iso | grep -v "+mac") - ISO=$(cut -d'*' -f2 <<<${DATA} | sed '1q;d') - HASH=$(cut -d' ' -f1 <<<${DATA} | sed '1q;d') + ISO=$(cut -d'*' -f2 <<<"${DATA}" | sed '1q;d') + HASH=$(cut -d' ' -f1 <<<"${DATA}" | sed '1q;d') else DATA=$(wget -qO- "${URL}/MD5SUMS" | grep 'desktop\|dvd\|install' | grep amd64 | grep iso | grep -v "+mac") - ISO=$(cut -d'*' -f2 <<<${DATA}) - HASH=$(cut -d' ' -f1 <<<${DATA}) + ISO=$(cut -d'*' -f2 <<<"${DATA}") + HASH=$(cut -d' ' -f1 <<<"${DATA}") fi - if [ -z $ISO ] || [ -z $HASH ]; then - echo "$(pretty_name $OS) ${RELEASE} is currently unavailable. Please select other OS/Release combination" + if [ -z "$ISO" ] || [ -z "$HASH" ]; then + echo "$(pretty_name "$OS") ${RELEASE} is currently unavailable. Please select other OS/Release combination" exit 1 fi @@ -2998,7 +3004,7 @@ function download_windows() { if [ ${failed} -eq 1 ]; then echo " - Manually download the Windows ${windows_version} ISO using a web browser from: ${url}" - echo " - Save the downloaded ISO to: $(realpath ${VM_PATH})" + echo " - Save the downloaded ISO to: $(realpath "${VM_PATH}")" echo " - Update the config file to reference the downloaded ISO: ./${VM_PATH}.conf" echo " - Continuing with the VM creation process..." return 1 @@ -3051,7 +3057,7 @@ function get_windows() { open_url() { local URL="$1"; - xdg-open $URL || sensible-browser $URL || x-www-browser $URL || gnome-open $URL; + xdg-open "$URL" || sensible-browser "$URL" || x-www-browser "$URL" || gnome-open "$URL"; } create_vm() { @@ -3070,15 +3076,17 @@ create_vm() { check_hash "${ISO}" "${HASH}" fi - if [ ${OS} == "freedos" ] && [[ $ISO =~ ".zip" ]]; then - unzip ${VM_PATH}/${ISO} -d ${VM_PATH} - ISO=$(ls ${VM_PATH} | grep -i '.iso') + # shellcheck disable=SC2076 + if [ "${OS}" == "freedos" ] && [[ $ISO =~ ".zip" ]]; then + unzip "${VM_PATH}"/"${ISO}" -d "${VM_PATH}" + # set ISO to the first iso file in the $VM_PATH directory + ISO=$(basename "${VM_PATH}"/*.iso) fi #if [ ${OS} == "guix" ] && [[ $ISO =~ ".qcow2" ]]; then #cp ${VM_PATH}/${ISO} ${VM_PATH}/disc.qcow2 #fi - + # shellcheck disable=SC2076 if [[ ${OS} == "batocera" ]] && [[ ${ISO} =~ ".gz" ]]; then gzip -d "${VM_PATH}/${ISO}" ISO="${ISO/.gz/}" @@ -3086,14 +3094,17 @@ create_vm() { # Could be other OS iso files compressed with bzip2 or gzip # but for now we'll keep this to know cases + # shellcheck disable=SC2076 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') + # shellcheck disable=SC2076 + if [ "${OS}" == "reactos" ] && [[ $ISO =~ ".zip" ]]; then + unzip "${VM_PATH}"/"${ISO}" -d "${VM_PATH}" + # set ISO to the first iso file in the $VM_PATH directory + ISO=$(basename "${VM_PATH}"/*.iso) fi make_vm_config "${ISO}" @@ -3146,7 +3157,7 @@ if [ -n "${2}" ]; then # If the OS has an editions_() function, use it. if [[ $(type -t "editions_${OS}") == function ]]; then - EDITIONS=($(editions_${OS})) + mapfile -t EDITIONS < <(editions_"${OS}") EDITION=${EDITIONS[0]} if [ -n "${3}" ]; then EDITION="${3}" @@ -3161,7 +3172,7 @@ if [ -n "${2}" ]; then # Handle odd missing fedora cominations if [[ $OS == fedora ]] ; then - if [[ ${RELEASE} = "33" && ${EDITION} = "i3" ]] || [[ ${RELEASE} = "34" && ${EDITION} = "Cinnamon" ]] || [[ "${RELEASE}" < "39" && ${EDITION} = "Onyx" ]]; then + if [[ ${RELEASE} = "33" && ${EDITION} = "i3" ]] || [[ ${RELEASE} = "34" && ${EDITION} = "Cinnamon" ]] || [[ ${RELEASE} -lt "39" && ${EDITION} = "Onyx" ]]; then echo "ERROR! Unsupported combination" echo " Fedora ${RELEASE} ${EDITION} is not available, please choose another Release or Edition" exit 1; @@ -3208,7 +3219,7 @@ if [ -n "${2}" ]; then fi else if [ "${open_distro_homepage}" == 'on' ]; then - HOMEPAGE=$(os_homepages ${OS}) + HOMEPAGE=$(os_homepages "${OS}") open_url "${HOMEPAGE}" && exit 0 fi echo "ERROR! You must specify a release." From c350f1f2566e712adca13ae258c53330091051cb Mon Sep 17 00:00:00 2001 From: zenobit Date: Sat, 10 Feb 2024 11:57:19 +0100 Subject: [PATCH 22/26] only 15.0-5 slint release Signed-off-by: zenobit --- quickget | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/quickget b/quickget index fdbba4ae57..6c85cdb9c1 100755 --- a/quickget +++ b/quickget @@ -2291,12 +2291,11 @@ function get_slint() { local ISO="" local URL="" - case ${RELEASE} in - 14.2.1) ISO="slint64-14.2.1.4.iso";; - 15.0) ISO="slint64-15.0-5.iso";; - esac + # Change to latest if needed + ISO="slint64-15.0-5.iso";; URL="https://slackware.uk/slint/x86_64/slint-${RELEASE}/iso" - HASH=$(wget -q -O- "${URL}"/"${ISO}".sha256 | cut -d' ' -f4) + + HASH=$(wget -q -O- "${URL}/${ISO}.sha256" | cut -d' ' -f4) echo "${URL}/${ISO}" "${HASH}" } From 6c458e16b699cbcc44c4d36c2c4a8505e91d3705 Mon Sep 17 00:00:00 2001 From: zenobit Date: Sat, 20 Jan 2024 02:13:43 +0100 Subject: [PATCH 23/26] reviewdog --- .github/workflows/reviewdog.yml | 35 +++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .github/workflows/reviewdog.yml diff --git a/.github/workflows/reviewdog.yml b/.github/workflows/reviewdog.yml new file mode 100644 index 0000000000..9b918e5d37 --- /dev/null +++ b/.github/workflows/reviewdog.yml @@ -0,0 +1,35 @@ +name: reviewdog +on: + pull_request: + push: + workflow_dispatch: + +jobs: + quickemu-check: + name: runner / quickemu + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: shellcheck + uses: reviewdog/action-shellcheck@v1 + with: + github_token: ${{ secrets.github_token }} + reporter: github-pr-review # Change reporter. + path: "." # Optional. + pattern: "quickemu" # Optional. + exclude: "./.git/*" # Optional. + check_all_files_with_shebangs: "false" # Optional. + quickget-check: + name: runner / quickget + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: shellcheck + uses: reviewdog/action-shellcheck@v1 + with: + github_token: ${{ secrets.github_token }} + reporter: github-pr-review # Change reporter. + path: "." # Optional. + pattern: "quickget" # Optional. + exclude: "./.git/*" # Optional. + check_all_files_with_shebangs: "false" # Optional. From f6c1709e4efd1dab9809595aa87ffaa92c774e95 Mon Sep 17 00:00:00 2001 From: zenobit Date: Mon, 29 Jan 2024 16:16:53 +0100 Subject: [PATCH 24/26] =?UTF-8?q?=F0=9F=9B=A0=20=20CachyOS=202024=2001=202?= =?UTF-8?q?1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zenobit --- quickget | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quickget b/quickget index 6c85cdb9c1..96d604f2cf 100755 --- a/quickget +++ b/quickget @@ -532,7 +532,7 @@ function editions_bodhi() { } function releases_cachyos() { - echo 230813 + echo 240121 } function editions_cachyos() { From 0e125c90aca24ddd997555455d6d7353d58f6216 Mon Sep 17 00:00:00 2001 From: zenobit Date: Sat, 10 Feb 2024 12:33:12 +0100 Subject: [PATCH 25/26] slint quickfix Signed-off-by: zenobit --- quickget | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quickget b/quickget index 96d604f2cf..f334e16ef2 100755 --- a/quickget +++ b/quickget @@ -2292,7 +2292,7 @@ function get_slint() { local URL="" # Change to latest if needed - ISO="slint64-15.0-5.iso";; + ISO="slint64-15.0-5.iso" URL="https://slackware.uk/slint/x86_64/slint-${RELEASE}/iso" HASH=$(wget -q -O- "${URL}/${ISO}.sha256" | cut -d' ' -f4) From 0304ab940b67932374a825e5797c68aa5dca3b8c Mon Sep 17 00:00:00 2001 From: zenobit Date: Sat, 10 Feb 2024 16:14:06 +0100 Subject: [PATCH 26/26] Update .mega-linter.yml --- .mega-linter.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.mega-linter.yml b/.mega-linter.yml index 0b9c7dbbee..f101de534f 100644 --- a/.mega-linter.yml +++ b/.mega-linter.yml @@ -1,4 +1,4 @@ -# Configuration file for MegaLinter +--- # Configuration file for MegaLinter # See all available variables at https://megalinter.io/configuration/ and in linters documentation APPLY_FIXES: all