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.
tests: update to demonstrate python-apt functional
Prior to pulling in python{,3}-apt functionality, show a simple set of
tests that demonstrate that it is functional in the test environments.
The noproxy script has been removed from tox.ini because we need to
set sitepackages=True to get python-apt, but doing so means we need to
find nose with 'python -m'. Also, it's safe to remove 'noproxy'
becuase the operation it was doing was a no-op for tox anyhow (those
proxy variables are not getting passed thru unless we set them
manually in tox.ini)
With noproxy unused by tox, it had no users, so remove it entirely.
My recent change to move the making of mountpoints private into
do_umount actually made it ineffective. I tried to change things
so that we always made mountpoints private before unmounting them
but that ran into problems of its own. So I changed do_umount to
have a "private" flag ChrootableTarget.__exit__ could use to
request that mountpoints be made private before unmounting, which
makes things work again but I still don't see how to make a
generally robust "curtin unmount" command, as explained at length
in the comment I added.
curthooks: do not unconditionally copy e/n/interfaces to target
When I tried to install a more-minimal server image using curtin, it
failed in copy_interfaces because the image did not have an /etc/network
directory at all (full ubuntu-server images have this directory because
ethtool installs files in there). Fix this by shuffling around how the
$state_dir/interfaces file is handled a bit: basically it used to always
be created by the install commmand and then updated by the net-meta
command. Change this to have the file only be created by net-meta, then
curthooks can copy it if and only if it exists.