Thursday 7 December 2023

Running Britney locally against a PPA, how to keep Britney from thinking my PPA package is in main?

Backstory: I'm preparing to request that the signond package from Debian
be synced into Ubuntu, replacing our existing signon package. As signon
in Ubuntu has been more-or-less abandoned for a good while now, the
package is old, but it ships multiple libraries, and those libraries
have quite a few reverse depends. For this reason, I need to have every
reverse dependency autopkgtested against the new signond packages in a
PPA, lest I severely clog up the archive. I've decided to take the most
painful but accurate way possible to get a list of packages that need
autopkgtested, and that is to set up a local Britney instance following
the instructions at https://wiki.ubuntu.com/ProposedMigration/LocalSetup.

I've encountered numerous pitfalls and stumbling blocks in the process,
but finally managed to get Britney to run, only to discover that after
it finished running, it did not issue any autopkgtest requests for me to
read. Inspecting its output a bit, the reason became clear - signond
depends on many packages in universe, but signond itself *appears to be
in main* from Britney's perspective. This is because when you upload to
a PPA, it always goes into a repo component named "main". Ubuntu's
version of Britney therefore thinks that signond is in main, and so
spits out a bunch of Impossible Depends errors because of the
dependencies in universe. This would be correct if signond was actually
in main... but it's not, it's in a PPA.

Some possible solutions I can think of:

* Hack some of the files downloaded by the bileto fetch-indexes script
so that signond appears to be coming from universe. Likely to work,
could be very difficult.
* Disarm the check for universe dependencies in main. Possibly could work.
* Create a new component named "universe" in my PPA and upload to it.
That seems like it would be a relatively clean and easy solution, but I
have absolutely no clue how I would go about doing this, and suspect
it's not even possible.

All of these seem less than ideal (except for the last one, which would
be awesome if it were possible). Any further ideas? If not, which one of
the above should I try?

--
Aaron Rainbolt
Lubuntu Developer
Matrix: @arraybolt3:matrix.org
IRC: arraybolt3 on irc.libera.chat
GitHub: https://github.com/ArrayBolt3


--
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel