Have the Installer detect when "Clone the current Tails" won't fit in the destination partition before deleting anything
When working on #12707 (closed) we noticed that “Clone & Upgrade” does that:
- delete all the known Tails system files on the target system partition
- check for the available free space
- copy the source file to the target system partition
So if the source system partition is larger than the target one, and enough automatic upgrades have been installed on the source system partition, then the check for the available free space will fail and we will abort the upgrade… after having deleted Tails from the target partition. This is not ideal, to say the least :] This situation will happen once the landspace of Tails devices is made of system partitions with a variety of sizes, filled by IUKs to various levels.
Thankfully we have some time to fix this after #12707 (closed) goes live, and before it becomes a problem in practice:
- “the source system partition is larger than the target one” is unlikely before #12707 (closed) is deployed in the wild (there are surely Tails devices somewhere with a 1.5 GiB system partition, but then those are already affected by this problem anyway if they “Clone & Upgrade” from their friend’s more recent Tails device so it’s not a regression);
- It’ll take some time until a newly installed Tails 3.2, with a 4 or 8 GiB system partition, gathers “enough automatic upgrades have been installed on the source system partition”.
Next step: figure out how much time we have, adjust “Target version” accordingly and set “Type of work” to “Code”. I want to do this during the 3.3 cycle.
I’ll handle this ticket with my Foundations Team hat.
Feature Branch: bugfix/14622-installer-check-space-before-deleting, installer:bugfix/14622-installer-check-space-before-deleting, installer:debian_bugfix/14622-installer-check-space-before-deleting