Commit Graph

1216 Commits

Author SHA1 Message Date
Martin Wimpress 086128530f fix(quickget): support algorithm-prefixed hashes and b2sum
- Accept hashes in the form "algo:hash" and normalise prefix to
lowercase
- Map common prefixes (md5, sha1, sha256, sha512, b2sum|blake2|blake2b)
to tools
- Warn and skip verification for unknown prefixes
- Add macOS GNU coreutils mapping for gb2sum when using b2sum
- Use printf '%s  %s\n' to produce a stable "hash  filename" input for
--check

Signed-off-by: Martin Wimpress <martin@wimpress.org>
2026-01-24 14:42:11 +00:00
Martin Wimpress 7668519b8d fix: prevent FAT directory name munging
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2026-01-24 12:42:51 +00:00
Martin Wimpress c96a2484e6 fix: prevent FAT direectory name munging
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2026-01-24 12:42:51 +00:00
Martin Wimpress f9249d657f fix: verify all mtools are available
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2026-01-24 12:42:51 +00:00
Martin Wimpress 1783381e29 feat(quickget): integrate OpenCore into macOS disk image by default
Create macOS VMs with OpenCore embedded in the EFI partition of disk.qcow2
instead of using a separate OpenCore.qcow2 file. This simplifies VM management
by reducing from two disk images to one.

Implementation:
- Add create_macos_disk_with_opencore() using mtools/sgdisk for cross-platform
  EFI partition creation without mounting or root privileges
- Add download_opencore() to extract OpenCore files from OSX-KVM image
- Use LC_ALL='' with mcopy to prevent FAT directory name mangling
- Adjust disk size threshold for macOS integrated mode (1GB vs 1.5MB)

Backwards compatibility:
- If OpenCore.qcow2 exists, use legacy two-disk boot method
- If mtools/sgdisk unavailable, fall back to legacy method automatically

New dependencies: mtools, gptfdisk (added to devshell.nix and package.nix)

Closes #1720
2026-01-24 12:42:51 +00:00
Martin Wimpress a2539d3c56 fix(quickget): resize Batocera image for GPT expansion 2026-01-24 02:10:49 +00:00
Martin Wimpress c66827ccb1 fix(quickget): extract Archcraft version folder from redirect URL
The hash URL was incorrectly using 'v${RELEASE}' (e.g., 'vlatest')
instead of extracting the actual version folder from the redirect URL.
Since releases_archcraft returns 'latest', the download redirect goes
to a versioned folder like 'v25.10', but the hash file lookup used
'vlatest' which doesn't exist.

Extract the version folder from the redirect URL to construct the
correct hash file path.
2026-01-24 01:43:24 +00:00
Martin Wimpress 7a59041120 fix(quickget): add hash verification for Mabox Linux 2026-01-24 01:43:24 +00:00
Martin Wimpress 9d4171b0d6 fix(quickget): add hash verification for KolibriOS 2026-01-24 01:43:24 +00:00
Martin Wimpress 2e5b29ad43 fix(quickget): add hash verification for Archcraft 2026-01-24 01:43:24 +00:00
Martin Wimpress 848ed99ef6
feat(quickget): add macOS Tahoe support and update board IDs. fixes #1731 2026-01-24 00:04:07 +00:00
Martin Wimpress e7c17eded2 fix(quickget): address PR review feedback
- Fix misleading comment in releases_fedora() to match actual behaviour
- Fix editions_zorin() to handle unset RELEASE in csv_data() context
2026-01-23 23:52:27 +00:00
Martin Wimpress 7dc93266c9 fix(quickget): remove Athena OS (no longer getting updates) 2026-01-23 23:52:27 +00:00
Martin Wimpress 083ae65ae3 fix(quickget): remove VX Linux (project website down) 2026-01-23 23:52:27 +00:00
Martin Wimpress 5b67c0808f fix(quickget): handle Solus Xfce beta naming for older releases
Xfce was a beta edition with uppercase naming (XFCE-Beta) in releases
prior to 2025-11-29. Fall back to beta naming when standard fails.
2026-01-23 23:52:27 +00:00
Martin Wimpress e560c22d69 fix(quickget): update Zorin OS download method and editions
- Use direct mirror URL instead of unreliable shortlink redirects
- Remove lite64 edition from Zorin 18 (now Pro-only)
- Automatically detect latest revision for each version
2026-01-23 23:52:27 +00:00
Martin Wimpress cb67f82e6c fix(quickget): dynamically find PCLinuxOS edition releases
Different editions have different release dates. Changed to 'latest'
release with dynamic ISO discovery per edition.
2026-01-23 23:52:27 +00:00
Martin Wimpress b1ccbe9e61 fix(quickget): update Parrot Security releases and editions
- Only list releases that have ISO files available
- Remove htb edition (discontinued in 7.0 series)
- Filter out releases with empty ISO directories
2026-01-23 23:52:27 +00:00
Martin Wimpress a10864541b fix(quickget): remove unavailable KolibriOS Italian locale
The it_IT locale no longer has ISO builds available.
2026-01-23 23:52:27 +00:00
Martin Wimpress 08f8313a96 fix(quickget): update Garuda Linux editions
Remove discontinued editions: kde-git, lxqt-kwin, mate, qtile, wayfire
Add new editions: hyprland, mokka
2026-01-23 23:52:27 +00:00
Martin Wimpress b94bc69728 fix(quickget): update MX Linux Xfce ISO naming
Xfce edition now uses 'MX-VERSION_Xfce_x64.iso' naming convention.
2026-01-23 23:52:27 +00:00
Martin Wimpress c67a9971f6 fix(quickget): remove discontinued KDE Neon developer edition
The developer edition no longer provides ISO images.
2026-01-23 23:52:27 +00:00
Martin Wimpress e08e84c720 fix(quickget): update Guix releases to 1.5.0 and 1.4.0
Remove EOL 1.3.0 which has unreliable mirror availability.
Add latest 1.5.0 release.
2026-01-23 23:52:27 +00:00
Martin Wimpress 98735ad60a fix(quickget): only list Debian archive versions with live images
Filter archive releases to only include those with -live directories,
ensuring live image editions are actually available for download.
2026-01-23 23:52:27 +00:00
Martin Wimpress f725c1998b fix(quickget): fix Artix Linux editions parsing
Community editions now include init system suffix (e.g., community-gtk-openrc).
Updated parsing to correctly extract full edition-init combinations.
2026-01-23 23:52:27 +00:00
Martin Wimpress 542987bdbc fix(quickget): update Athena OS ISO naming for v23.11+
Newer releases use 'athenaos-rolling' prefix instead of 'athena-rolling'.
Detect which naming scheme to use by checking URL availability.
2026-01-23 23:52:27 +00:00
Martin Wimpress 07dee441b0 fix(quickget): fix failing downloads and remove discontinued distros
Fixes:
- slint: Update version from 15.0-5 to 15.0-10
- blendos: Replace dead mirror with official GitLab build server
- void: Filter out directories without standard base ISOs (fixes
20250401)

Removals:
- holoiso: Project archived Feb 2024, download server returns 404
- truenas-core: Discontinued, merged into TrueNAS Community Edition
- truenas-scale: Rebranded to TrueNAS Community Edition
2026-01-23 23:52:27 +00:00
Martin Wimpress 9d76158196 fix(quickget): use mirrors.kernel.org for Gentoo, Linux Mint and LMDE
- Replace mirror.bytemark.co.uk with mirrors.kernel.org in get_gentoo,
  get_linuxmint and get_lmde
- Prefer kernel.org mirrors for improved availability and fresher
releases
- No change to ISO selection or hash verification logic; behaviour
unchanged

Signed-off-by: Martin Wimpress <martin@wimpress.org>
2026-01-23 23:52:27 +00:00
Martin Wimpress 7d5de87c2f fix(quickget): exclude EOL and pre-release distro versions
- Remove Devuan 'beowulf' from the release list
- Drop Mageia '8' from the release list
- Filter Fedora releases JSON and exclude Fedora 41 (prevent EOL
entries)
- Restrict GNOME OS parsing to stable numeric versions and keep
"nightly"
- Rationale: avoid presenting EOL or alpha/beta/rc images to users and
reduce failed downloads

Signed-off-by: Martin Wimpress <martin@wimpress.org>
2026-01-23 23:52:27 +00:00
Martin Wimpress a4d8329ba7 refactor(quickget): centralise qemu-img detection into require_qemu_img
- Add require_qemu_img() to detect qemu-img and print a clear error if
missing
- Call require_qemu_img before any qemu-img operations (RecoveryImage,
.img conversions)
- Remove duplicate global qemu-img existence check to avoid repetition

Signed-off-by: Martin Wimpress <martin@wimpress.org>
2026-01-23 19:29:23 +00:00
Martin Wimpress 1f8e6addcc
fix(windows): correct order of first logon commands in unattended XML
Signed-off-by: Martin Wimpress <martin@wimpress.org>
2026-01-23 16:42:28 +00:00
Martin Wimpress 9b22109d90 chore(opensuse): remove aeon appliance handling. fixes #1793
Signed-off-by: Martin Wimpress <martin@wimpress.org>
2026-01-23 16:25:11 +00:00
Anton Alekseev 9ee7db9915 fix: Use a portable grep option
Fixes #1713
2026-01-23 07:55:15 +00:00
Phil Clifford 138fc1f689 fix(arcolinux): arcolinux has gone away 2026-01-23 07:44:14 +00:00
Phil Clifford 063f655303 chore: fix small typo 2026-01-23 07:37:44 +00:00
Dino Korah 2c997916f1
feat: add elementary OS 8.1 (#1789)
* feat(elementary): add elementary 8.1
* doc(elementary): add info URL
* feat(quickget): add display config for Elementary OS 8.1
* SDL display seems to struggle with Wayland. Fixed display issues by setting display=spice

---------

Co-authored-by: Dino Korah <691011+codemedic@users.noreply.github.com>
2026-01-22 23:48:03 +00:00
Dino Korah 7ea4e95508 feat(popos): Add support for Pop!_OS 24.04 release 2025-12-28 12:56:25 +00:00
Rémi Palancher 402ce97451
fix: URL of openSUSE Leap 16.0 ISO URL (#1777)
* fix: URL of openSUSE Leap 16.0 ISO URL

The fallback else case didn't work for OpenSUSE Leap 16.
2025-12-12 14:02:02 +00:00
TheMuso 703fe861f8 feat: Add Zorin 18 2025-11-01 09:30:51 +00:00
Lorenzo Villani 2311b95a14 fix(windows): make local account passwords never expire
Co-authored-by: bogiord <bogiord@users.noreply.github.com>
2025-10-20 11:15:45 +01:00
Lorenzo Villani 934ffacdd3 refactor(windows): don't install usbdk 2025-10-17 22:59:22 +01:00
Lorenzo Villani 3bb13330cc fix(windows): load viogpudo after Windows PE pass 2025-10-17 22:33:29 +01:00
Lorenzo Villani 6a34e59f7b fix(windows): remove E:\amd64\w10 from driver search paths
The E:\amd64\w10 directory contains vioscsi and viostor drivers, but
these are already included via E:\vioscsi\w10\amd64 and
E:\viostor\w10\amd64. This duplication causes issues with Windows 11
24H2 and later.
2025-10-17 22:33:29 +01:00
Phil Clifford 4a11725b1e fix: change iso fs for unattended iso
fixes #1621
2025-08-28 12:01:57 +01:00
Lorenzo a6367ccb78
fix: Arch Linux Mirror (#1709)
Use official Arch Linux HTTPS server over potentially out of date mirror
2025-08-17 18:02:42 +01:00
Phil Clifford 36082437e1 fix(ubuntu): just get the latest iso as the previous has been removed
They have left references to the  24.04.2 iso in the SHA256SUMS file but removed the iso.
We need to filter out the latest until they tidy up.
2025-08-17 18:00:14 +01:00
Daniel Napora 808caa1e74 fix(Trisquel): Add missing field separator (|) 2025-08-17 16:58:48 +00:00
Liam bd178bb4c3 chore: Document Fedora edition/variant change 2025-07-31 15:09:56 +01:00
Liam f6b36c4ec5 fix: Accept edition as fedora variant 2025-07-31 15:09:56 +01:00
Alan Pope d912402e32 fix(macos) Add support for gnu hash algo 2025-07-29 18:16:31 +00:00