Add a '_DEVEL_' repo, akin to the 'local' repos
Another update (2022-10-22)
Zoomed-out summary
It seems that I had utterly failed to mention what the overall purpose of these patches is (as revealed to me by talking to @93sam) so I'll belatedly add that here:
The point of this is to allow someone (with minimal understanding of how D-I is built) to be able to push a change to any udeb repo (and any deb repo for that matter, as well as combinations of multiple such changes) and have it be possible for salsa-CI to build a mini-ISO (currently) such that no matter whether the things that are changed need to be built into the image, or downloaded later, it'll work, without the person making that change needing to care about the details.
This stuff does already work (I've been using a variation on this for about 2 years) but putting the patches into D-I itself means I won't need to keep on carrying the patches to anna and net-retriever, and also that developers can stop needing to specify any strange config variables in salsa-CI.yml files to make it work, or worrying about whether the thing they are changing is something that gets built into a mini-ISO, or is going to be later downloaded by it.
update details
The [signed-by=...]
change that was originally mixed in here is now in !12 (merged)
This makes this MR considerably shorter.
Hopefully it's obvious that it consists of a couple of commits that re-order the code a bit without changing any behaviour, followed by the one that actually introduces the additional _DEVEL_
repo.
The links still point at the previous run of tests, because the perl transition is currently sabotaging parts of the pipeline that generated them, but having split the MRs and then applied one on top of the other it results in exactly the same code, so it really should make no difference.
old description
As with preseeding e.g. apt-setup/local0/repository
to get an extra
repo, this adds the ability to have an apt-setup/_DEVEL_/repository
The point being to allow an extra repo to be specified for development
tests without impacting the ability to use local repos as normal.
This is intended only for development tests and the like, so should not be used by end users, who should continue to use the local* settings.
While this is a fairly pointless change when considered alone, it goes together with anna!4 (merged) and net-retriever!1 (merged), which treat the _DEVEL_
repository setting as a special case to enable one to have an additional repository from which to get udebs, which enables one to test udebs before releasing them.
To illustrate what this enables, here's a trivial change to busybox, that enables base32 in the normal .deb
Pushing that to salsa launches a pipeline that generates a mini-ISO that includes the patched versions of anna
and net-retriever
(as well as the identical but re-built busybox
). Because it has those changes, it is able to download the patched apt-setup
. You can see this is the case by looking for salsaci
in this list of installed udebs.
I also created a simple test for base32 and ran it to demonstrate that the patched version of busybox ends up being available on the machine.