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

Aaron Rainbolt arraybolt3 at gmail.com
Thu Dec 7 09:11:31 UTC 2023


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




More information about the ubuntu-devel mailing list