GitHub took the organization's repos and GHCR offline on 2026-09-20. Repo,
release, raw-file and clone links now go to Gitea at git.coffeylabs.org,
container images to registry.coffeylabs.org, and GitLab-style /-/blob paths
to Gitea's /src/branch form. Go module paths are identifiers and stay as
they are; links to GitHub issues and pull requests are left as history.
Two scripts and the README's licence section. LINUXexpert.org is being retired
as a site and is no longer where this work lives.
The clone URL in the README still says github.com/LINUXexpert-org/ubuntu2mint,
because that is the repository's actual path. The GitHub organisation slug and
the copyright holder are different things and only one of them is changing.
LICENSE untouched -- its "<name of author>" lines are GPL boilerplate, and the
FSF's copyright on the licence text is not ours to edit.
A 510-line destructive script shipped in this repository without a single
mention in the README. Nothing said what it was for, that it must run
after the conversion rather than before, or that `prune` refuses to run
without --yes.
Adds a section covering its four commands, its four options, the fixed
list of packages it purges, its safety gates and what its backup and
rollback actually cover -- rollback restores APT and display-manager
configuration but does not reinstall anything, which is worth knowing
before relying on it.
Also adds a short table at the top establishing that this repository is
two scripts run in order: convert adds the Mint stack and removes
nothing, prune removes the Ubuntu desktop afterwards. Running them the
other way round leaves a machine with no working desktop at all, which
was previously not stated anywhere.
Flagged --skip-dm-fix as rarely wanted: the LightDM setup it disables
exists precisely because gdm3 is about to be removed.
Every flag, package name, threshold and path checked against the script.
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.
Updated README to reflect changes in the conversion script, including improved warnings, detailed descriptions of functionality, and modifications to usage instructions.