Comment 0 for bug 1646596

Revision history for this message
Robert Bruce Park (robru) wrote :

Currently bileto automatically forces PPA dependencies based on it's own criteria (it can add or remove overlay PPA depending on whether the ticket is an SRU or not). This forceful behaviour is unfortunately required due to the impossibility of creating PPAs atomically. It's very possible for bileto to crash during PPA creation, leaving PPA created but with not all properties set correctly. Due to that, every bileto job, including the status job that runs every 20 minutes, will inspect the PPA properties and correct any problems that it finds.

This makes it impossible to set PPA dependencies manually in exceptional cases, as bileto will notice the dependencies are "wrong" and "fix" them.

Two use cases that bileto have caused complaints are:

1. One ticket depends on changes in another. Merging the tickets isn't feasible because they're both already large, but packages in one ticket need to be built against libs in another ticket for simultaneous development.

2. Trying to cherry-pick fixes into a snapshot of the overlay PPA instead of using the overlay PPA directly.

So bileto should grow some ability to manually override what it considers to be the "correct" PPA dependencies, allowing arbitrary* PPAs to be specified.

* (Not sure if this should be restricted to ~ci-train-ppa-service team, or allow any PPA at all)