The version of lsblk in Jammy, utils-linux 2.37.2,
has a modified output format from what curtin is expecting.
Normalize that format to the older style.
This appears to be the root cause for install failures of u-d-i
as reported in https://github.com/canonical/ubuntu-desktop-installer/issues/513
apt_config: tweaks to allow some functionality in partial tree as non-root
Subiquity is going to start doing apt configuration outside of curtin
soon and I want to emulate this in dry-run mode by copying only the apt
config to a temporary directory and configuring that as indicated in the
UI. It's (probably?) too much to ask to be able to run the full
apt-config command but the stuff around generating the sources.list file
doesn't really need to do anything special -- it only depends on non-apt
stuff in target to determine the architecture, which can be passed as a
parameter.
Add integration tests for some partitioning operations
This adds a new test directory, tests/integration, which sits
between the unittests and the vmtests in some sense. I've added a
way for curtin storage operations to operate on a file-backed
loop device rather than a real block device and written some
tests to cover the behaviour of partition_handler by actually
running block meta and then inspecting the resulting disk image
to check the results match expectations.
This is all motivated by the changes I want to make to support
editing partition tables.
Nothing runs these tests automatically yet, need to think about
that. Currently you can run them by hand with:
Start using python{,3}-apt for sources.list handling.
generate_sources_list now operates in a pipeline-like model, where each
stage performs one specific transformation on the list of entries.
Restore noproxy to support the CI jobs.
Adding sitepackages means that lookup of commands gets weird, but using
{envpython} -m foo solves that.
So we need two {envpythons}, one for noproxy, one for nose.
We could stuff that into the noproxy script but that would be unexpected
for a script that only adjusts the environment then execs the real
command.