Feature #15283

Implement the "one single SquashFS diff" scheme in Tails Upgrader

Added by anonym 2018-02-05 15:58:57 . Updated 2020-01-05 16:09:28 .

Status:
Resolved
Priority:
High
Assignee:
segfault
Category:
Installation
Target version:
Start date:
Due date:
% Done:

100%

Feature Branch:
feature/15281-single-squashfs-diff, iuk:feature/15281-single-squashfs-diff, perl5lib:feature/15281-single-squashfs-diff
Type of work:
Code
Blueprint:

Starter:
Affected tool:
Upgrader
Deliverable for:

Description

Tails Upgrader: make it remove previous IUKs and fix the module file.
UDF generation: initial-install-version

Assuming we want to ship this change in Tails version N, the cheapest testing strategy anonym & intrigeri could think of is:

  1. release these changes in N~beta1, that we prepare as cheaply as we can
  2. issue a dedicated call for testing; possibly count it as “manual testing” work for the members of our internal QA process
  3. once enough folks run N~beta1, prepare N~beta2, as cheaply as we can
  4. again, issue a dedicated call for testing
  5. schedule some time here to: wait for feedback and if something is broken, fix it in time for Tails N final
  6. ship the bugfixes (untested this time) in Tails N

Subtasks

Feature #6876: Have the incremental upgrade process use less RAM Resolved

100


Related issues

Blocked by Tails - Feature #15286: Adapt automated test suite for the "one single SquashFS diff" upgrade scheme Resolved 2018-02-05
Blocks Tails - Feature #16209: Core work: Foundations Team Confirmed
Blocked by Tails - Feature #17262: Make the build of overlayfs-based IUKs reproducible Resolved

History

#1 Updated by anonym 2018-02-05 16:00:43

Let’s pick the relevant bits from tails-iuk’s feature/11131-endless-upgrade branch and push them as a new one, maybe feature/15281-1bigiuk.

#2 Updated by anonym 2018-02-05 16:01:18

#3 Updated by anonym 2018-02-05 18:59:39

  • Feature Branch set to tails:feature/15281-1bigiuk installer:?

#4 Updated by intrigeri 2018-02-06 16:54:34

  • Subject changed from Adapt tails-iuk for 1BigIUK to Adapt Tails Upgrader for the "one single SquashFS diff" upgrade scheme
  • Feature Branch changed from tails:feature/15281-1bigiuk installer:? to iuk:feature/11131-endless-upgrade, perl5lib:feature/11131-endless-upgrade

#5 Updated by intrigeri 2018-02-06 17:49:00

  • blocked by Feature #15286: Adapt automated test suite for the "one single SquashFS diff" upgrade scheme added

#6 Updated by intrigeri 2018-02-06 17:50:20

  • Status changed from Confirmed to In Progress
  • % Done changed from 0 to 10

This works fine already in the context of the upgrader’s own test suite. Next step is to revert the unrelated changes from the branch, wait for Feature #15286, test it that way + manually.

#7 Updated by intrigeri 2018-02-08 07:56:37

  • Subject changed from Adapt Tails Upgrader for the "one single SquashFS diff" upgrade scheme to Implement the "one single SquashFS diff" scheme in Tails Upgrader

#8 Updated by anonym 2018-02-08 09:56:39

  • % Done changed from 10 to 30
  • QA Check set to Dev Needed
  • Feature Branch changed from iuk:feature/11131-endless-upgrade, perl5lib:feature/11131-endless-upgrade to feature/15281-single-squashfs-diff, iuk:feature/15281-single-squashfs-diff, perl5lib:feature/15281-single-squashfs-diff

intrigeri wrote:
> Next step is to revert the unrelated changes from the branch, wait for Feature #15286, test it that way + manually.

Done, + that I’ve imported the changes to tails-iuk and tails-perl5lib into the Tails feature branch, as a patch.

So the scenario we already had (now called Upgrading a pristine Tails via an IUK) passes, but the two new scenarios don’t. They deal with the cases where one or more incremental upgrades already have been installed, and that’s why these scenarios fail; old SquashFS deltas are neither removed from the filesystem nor from live/Tails.module’s contents.

#9 Updated by anonym 2018-02-08 10:20:35

Even in the original feature/11131-endless-upgrade branch the last commit was:

commit 0b99b3826521417fbf08246c9af18fcd2b40e6ae
Author: intrigeri <intrigeri@boum.org>
Date:   Sun Feb 4 15:00:30 2018 +0000

    Test suite: check that old IUKs are deleted after installing a new one.

    (TDD, this is not implemented yet.)


so there’s no code for deletnig old SquashFS diff:s! If you actually wrote that code, I guess you forgot to push.

#10 Updated by intrigeri 2018-02-13 14:54:42

anonym wrote:
> Even in the original feature/11131-endless-upgrade branch the last commit was:
> […]
> so there’s no code for deletnig old SquashFS diff:s! If you actually wrote that code, I guess you forgot to push.

commit 6c7c72119ba2738414ec8600c593501ee308de61 (HEAD -> feature/11131-endless-upgrade, origin/feature/11131-endless-upgrade)
Author: intrigeri <intrigeri@boum.org>
Date:   Sun Feb 4 17:18:28 2018 +0000

    Delete all SquashFS diffs except the one(s) we've just installed (refs: <del><a class='issue tracker-1 status-3 priority-4 priority-default closed child' href='/code/issues/11831' title='NVIDIA Maxwell series graphic card: X.Org doesn&#39;t start, or slow graphics operations'>Bug #11831</a></del>).

Note origin/feature/11131-endless-upgrade. So I guess you forgot to fetch before renaming my branch. I see you’ve deleted it, so I’ve pushed it again.

#11 Updated by intrigeri 2018-02-16 13:24:34

  • Assignee changed from intrigeri to anonym
  • QA Check changed from Dev Needed to Ready for QA

#12 Updated by intrigeri 2018-03-02 08:22:55

  • Target version changed from Tails_3.6 to Tails_3.7

#13 Updated by intrigeri 2018-03-28 09:23:09

  • Target version changed from Tails_3.7 to Tails_3.8

#14 Updated by intrigeri 2018-05-25 13:28:17

  • Target version changed from Tails_3.8 to Tails_3.10.1

#15 Updated by intrigeri 2018-06-28 20:58:04

  • Target version changed from Tails_3.10.1 to Tails_3.11

#16 Updated by intrigeri 2018-09-12 06:33:56

  • Assignee changed from anonym to intrigeri

#17 Updated by intrigeri 2018-09-12 06:34:15

#18 Updated by intrigeri 2018-11-05 14:43:35

  • Target version changed from Tails_3.11 to Tails_3.12

#19 Updated by intrigeri 2018-11-06 15:04:46

  • Target version changed from Tails_3.12 to Tails_3.13

#20 Updated by intrigeri 2018-11-20 15:11:21

  • QA Check deleted (Ready for QA)

We have to change the IUK format (see Feature #6876) so I’ll need to go back to the drawing board. I think I have already some WIP about this, that could be salvaged, in the (obsolete) feature/11131-endless-upgrade branch of tails.git and iuk.git.

#21 Updated by intrigeri 2018-12-02 21:55:10

#22 Updated by intrigeri 2018-12-02 21:55:30

  • blocked by deleted (Feature #15506: Core work 2018Q4: Foundations Team)

#23 Updated by intrigeri 2019-01-25 16:32:17

  • Target version changed from Tails_3.13 to 2019

#24 Updated by intrigeri 2019-02-06 14:09:03

#25 Updated by intrigeri 2019-02-06 14:09:05

  • blocked by deleted (Feature #15507: Core work 2019Q1: Foundations Team)

#26 Updated by intrigeri 2019-04-05 16:08:00

  • Assignee deleted (intrigeri)

#27 Updated by intrigeri 2019-04-14 07:30:03

  • Assignee set to intrigeri

Most of the work will happen in tails-iuk so it would be rather wasteful to ask anyone else to do it.

#28 Updated by intrigeri 2019-10-18 10:36:41

  • Description updated

#29 Updated by intrigeri 2019-11-27 08:38:08

  • Target version changed from 2019 to Tails_4.2

#30 Updated by intrigeri 2019-12-01 11:16:14

  • Priority changed from Normal to High

#31 Updated by intrigeri 2019-12-08 09:45:15

  • blocked by Feature #17262: Make the build of overlayfs-based IUKs reproducible added

#32 Updated by intrigeri 2019-12-24 12:19:43

  • Status changed from In Progress to Needs Validation

#33 Updated by intrigeri 2019-12-25 10:18:53

  • Assignee changed from intrigeri to segfault

#34 Updated by segfault 2020-01-05 16:09:28

  • Status changed from Needs Validation to Resolved

Applied in changeset commit:tails|e5e98537e7415b7c6a2c5e7ab1beb4f656333814.