Commit Graph
25 Commits
Author SHA1 Message Date
jcoffey-dev db71e25612 docs: make the README describe the script that exists
With the simulation gate implemented, the safety model section is now
true, and says where the gate runs (inside convert, immediately before
the install) and what it writes. Plan mode is labelled advisory, because
that is what it is: it logs a simulation for a human to read and decides
nothing.

Removed four options the README documented that were never implemented:
--no-auto-fix, --overwrite-keyring, --recreate-keyring and
--no-purge-flavor. Documented --preserve-snap, which was implemented and
missing. Every flag now matches the parser in both directions.

Two troubleshooting sections described behaviour that does not exist.
Keyring recovery pointed at the two missing keyring flags; the real
mechanism is a check against the expected Mint key ID with --yes to
overwrite, which is worth stating since it is what makes the plain-HTTP
fallback safe. Flavor-package purging was never written, so the login
loop it referred to is now described as something to fix by hand.

Also removes --no-install-recommends from the usage text, which I added
in the previous commit believing it was a script flag. It is an apt
option inside apt_opts_common; the parser rejects it. That is the same
class of error this commit exists to fix, found by checking the flag
lists against the parser in both directions rather than trusting either.
2026-08-22 22:37:14 -07:00
jcoffey-dev b4dc975682 Implement the removal guardrail the README already promised
The README's safety model claimed convert "runs an APT simulation and
aborts if APT wants to remove critical packages" or if "too many
removals are detected (default threshold 40)". Neither existed. There
was no --max-removals flag, no critical-package list, and convert ran
straight from `apt-get update` to `apt-get -y install` with nothing in
between. plan mode does simulate, but it only tees the output to a file
and checks the exit code -- it never reads the removals, and convert
never calls it.

That is the gap that matters here: mixing Mint and Ubuntu repositories
is exactly when APT resolves a conflict by proposing to remove a large
part of the system, and -y means nothing stops it.

simulate_and_gate now runs the same install as a simulation against the
live APT configuration -- sources and pinning are already written by
that point, so it reflects what the real install would do -- and parses
the Remv lines:

  - any package in CRITICAL_PACKAGES aborts unconditionally. There is no
    threshold at which removing sudo, systemd, libc6 or the kernel meta
    package is acceptable.
  - more than --max-removals (default 40) aborts, listing them.
  - anything below that is listed as a warning and allowed.
  - a simulation APT cannot resolve aborts rather than proceeding.

The package list moved into mint_stack_packages(), read by both the gate
and the installer, so the gate cannot end up vouching for a different
set of packages than the one that gets installed.

Also fixes usage(), which told users to run `convert --i-accept-theISK`.
2026-08-22 22:35:15 -07:00
LINUXexpert.org 1dffd2c16d Add disclaimer for Ubuntu to Mint conversion script
Added a disclaimer about the risks of converting Ubuntu to Mint.
2026-01-26 16:41:29 -07:00
LINUXexpert.org e32ce2e1d4 Refactor ubuntu-to-mint conversion script
Updated comments for clarity, removed redundant code, and improved error handling. Adjusted LightDM configuration and ensured proper installation procedures.
2026-01-26 15:59:58 -07:00
LINUXexpert.org 88668e1899 Enhance conversion script with new features and fixes
Added various enhancements including temp-dir cleanup, dependency checks, and improved APT health checks.
2026-01-26 15:21:23 -07:00
LINUXexpert.org 3922b94437 Update script version to 5.1 and improve display-manager handling 2026-01-26 15:00:33 -07:00
LINUXexpert.org bc33b2db77 Update script version to 5.0 and enhance LightDM setup 2026-01-26 13:54:21 -07:00
LINUXexpert.org 6f354a5da7 Update script version to 4.9 and enhance error handling 2026-01-26 12:51:55 -07:00
LINUXexpert.org 53569075a2 Update script version and configure LightDM
Updated script version to 4.8 and added LightDM configuration for boot. Cleaned up help messages and ensured proper handling of display managers.
2026-01-26 12:02:34 -07:00
LINUXexpert.org f6b3a1f33f Update script version and improve argument parsing 2026-01-26 11:20:43 -07:00
LINUXexpert.org 1d43d0ad7d Update ubuntu-to-mint-convert-v3.sh 2026-01-26 11:15:29 -07:00
LINUXexpert.org 9a2f9fa21d Bump script version to 4.6 and update comments 2026-01-26 10:44:35 -07:00
LINUXexpert.org b98a424f08 Update print statement from 'Hello' to 'Goodbye' 2026-01-26 10:30:43 -07:00
LINUXexpert.org af1102b5fd Update print statement from 'Hello' to 'Goodbye' 2026-01-26 10:11:10 -07:00
LINUXexpert.org e6de9c108d Change default Mint mirror URL to HTTP 2026-01-23 13:48:30 -07:00
LINUXexpert.org bedec59394 Update script version and enhance key handling
Updated script version to 4.3 and improved key handling logic for better error management and atomic file operations.
2026-01-23 13:46:09 -07:00
LINUXexpert.org abd5d74cb1 Number of enhancements 2026-01-23 11:11:32 -07:00
LINUXexpert.org a093c5a4b4 Refactor key fetching and validation logic 2026-01-22 18:01:07 -07:00
LINUXexpert.org d6550cf325 Improve key fetching and validation in script
Enhance key fetching logic with additional validation checks.
2026-01-22 17:03:58 -07:00
LINUXexpert.org 5d1a7512f2 Enhance keyring handling for Mint repo signing key
Updated keyring handling to include fallback methods for fetching the Linux Mint repo signing key. Added support for both hkps and hkp keyservers, as well as HTTPS fallback.
2026-01-22 16:16:47 -07:00
LINUXexpert.org 5af853f871 Refactor apt simulation function for clarity
Updated the apt simulation function to clarify that it does not modify system APT sources and to streamline the temporary sources list handling.
2026-01-22 14:16:15 -07:00
LINUXexpert.org 0a678b7f7f Refactor allowed targets to use arrays in script 2026-01-22 13:50:05 -07:00
LINUXexpert.org 1fb0464358 Refactor set_targets_from_ubuntu function 2026-01-22 13:42:32 -07:00
LINUXexpert.org 5420fe0f78 Refactor ubuntu-to-mint conversion script 2026-01-22 11:22:50 -07:00
LINUXexpert.org 7f4e6376f2 Initial commit 2026-01-22 11:13:22 -07:00