curtin:ubuntu/lunar

Last commit made on 2023-04-18
Get this branch:
git clone -b ubuntu/lunar https://git.launchpad.net/curtin
Members of curtin developers can upload to this branch. Log in for directions.

Branch merges

Branch information

Name:
ubuntu/lunar
Repository:
lp:curtin

Recent commits

9e9f66e... by Dan Bungert

block: ntfsresize with force options

To match Ubiquity behavior, we should run ntfsresize with the force
options and sending 'y\n' on input.

(cherry picked from commit 6caa799551b19dc85cb1e901e013b12be326aff1)

f30a153... by Olivier Gayot

block-meta: fix failed disk lookup when WWN includes extension

curtin's storage config extracts the WWN of a disk from one of the
following udev variables:

 * ID_WWN_WITH_EXTENSION (preferred)
 * ID_WWN

However, when trying to look the disk up later in the block-meta code,
curtin only tries to match the WWN value against the ID_WWN variable
(and another variable related to DM multipath).

This means that the disk can not be be found just based on the wwn if
the ID_WWN and ID_WWN_WITH_EXTENSION variables don't hold the same
value.

In the past, that was often okay because other fields (such as disk path
or serial) would still make the disk lookup succeed.

However, the following patch introduced a restriction. In v2, all fields
specified must now match for the disk lookup to be successful:

8c5f87ed block_meta: all fields on a disk action must match with v2 config

Fixed by matching against the ID_WWN_WITH_EXTENSION (preferred) and then
ID_WWN.

(cherry picked from commit 73da3c4f47ea22d58f57371594a396c5434ab260)

650a5af... by Olivier Gayot

storage: filter out ventoy image when building storage config

When ventoy is used, the filesystem mounted to /cdrom is not a /dev/sr0
device (major number 11) but a dm device named "ventoy". Add a check to
exclude it as well as real cdrom devices.

Signed-off-by: Olivier Gayot <email address hidden>

b1f4da3... by Olivier Gayot

system-install: use --assume-downloaded instead of --no-download

Running $ apt-get install --no-download
fails if the packages were previously "downloaded" using the cdrom
rather than an online repository.

This means we can't reliably pass the option on the second apt-get
install invocation.
Passing the --no-download option to $ curtin system-install while not
passing it to apt-get feels wrong. Therefore, I've renamed the
system-install option from --no-download to --assume-downloaded.

For package managers that support the --no-download option properly,
they can use it on the second invocation. For apt, we will not pass the
option.

Signed-off-by: Olivier Gayot <email address hidden>

753aa67... by Olivier Gayot

system_install: support retry-download and no-download

Signed-off-by: Olivier Gayot <email address hidden>

02c8082... by Olivier Gayot

commands: support mutually exclusive arguments

Signed-off-by: Olivier Gayot <email address hidden>

bef5f91... by Olivier Gayot

system_install: add option to control apt download retries

Signed-off-by: Olivier Gayot <email address hidden>

fe94a1a... by Olivier Gayot

apt: download package and install in two separate steps

Signed-off-by: Olivier Gayot <email address hidden>

cc6ed0e... by Olivier Gayot

distro: add test for run_apt_command

Signed-off-by: Olivier Gayot <email address hidden>

cc23249... by Olivier Gayot

apt-config: stop returning cfg object in translate_old_apt_features

The translate_old_apt_features function mutates its parameter, but also
used to return the translated object. This goes against the rules of
idiomatic Python. Returning a new configuration object without mutating
the original one would require leaning on copy.deepcopy, which is
expensive and not always needed.

Let's stop returning the resulting configuration so the interface is
clear.

Signed-off-by: Olivier Gayot <email address hidden>