760 Commits

Author SHA1 Message Date
Aleksa Svitlica
25875e7a27 Add CLOUD_ENABLE option to config
Updated to match other optional policies in how they are enabled or set
to dry-run.
2023-01-08 11:10:48 -05:00
Aleksa Svitlica
436626145b Add Cloud Policy
The cloud policy is currently used to test whether the proposed
migration will break networking for an image in the Azure cloud. Cloud
testing will likely increase in scope in the future.
2023-01-08 10:48:53 -05:00
Steve Langasek
0374455b65 Revert "Temporarily disable autohinter due to a recursion problem"
This reverts commit 83e6102613b37f3e464ecd269b9dd9c621075021.
2021-12-13 18:31:03 -08:00
Steve Langasek
83e6102613 Temporarily disable autohinter due to a recursion problem 2021-12-12 14:37:37 -08:00
Steve Langasek
a7b58b76e6 --print-uninst and --nuninst-cache are not mutually-exclusive
This check has been present for a long time but there is no reason for it -
there is code elsewhere that explicitly checks for both options being set
together and DTRT.  And this saves a minute on each britney run to not
regenerate uninstallability information that was just generated.
2021-10-07 01:08:45 -07:00
Steve Langasek
a3da16e771 disable BuildDependsPolicy
This policy has some perverse outcomes, slows down migrations, and doesn't
actually ensure build-depends closure in the release pocket
2021-02-22 08:38:12 -08:00
Iain Lane
f0e46d7bfa britney: Disable Built-Using policy
Launchpad currently doesn't enforce this, so it doesn't make too much
sense to do so in proposed-migration.

Once https://bugs.launchpad.net/launchpad/+bug/1868558 is fixed, we
should think about probably re-enabling this.
2020-11-20 17:37:44 +00:00
Iain Lane
4b74228867 britney: Allow breaking of packages on one arch when removing cruft
If all smooth updating/cruft is on a BREAK_ARCH then this can
legitimately happen.
2020-11-20 17:37:44 +00:00
Iain Lane
a5828a269e excusefinder: Support not having arch-all buildds
On some distros (Ubuntu), arch:all packages are built along with one of
the architectures. We shouldn't be listing 'all' as its own arch in this
case. Instead we filter out the binaries except for on the
'all_buildarch'.
2020-11-20 17:37:44 +00:00
Iain Lane
eb8f1c9fc7 Allow HEIDI_OUTPUT to be empty 2020-11-20 17:37:44 +00:00
Iain Lane
07b9c517c8 BuildDependsPolicy: handle old python3-apt
Very old versions, such as that run on the Ubuntu archive machine, don't
have the arch parameter.

Handle that by setting APT::Architecture instead
2020-11-20 17:37:44 +00:00
Łukasz 'sil2100' Zemczak
d960c15706 Add a new policy to message bugs on SRU regressions
It works like this. We wait until all tests have finished running. and
then grab their results. If there are any regressions, we mail each bug
with a link to pending-sru.html. There's a state file which records the
mails we've sent out, so that we don't mail the same bug multiple times.
2020-11-20 17:37:44 +00:00
Tiago Daitx
256a48a4ad Link to update-excuse bugs on update_excuses
LP: #1683749
2020-11-20 17:37:44 +00:00
Iain Lane
bae4fdbd45 LinuxPolicy: Make linux* wait on corresponding -meta package
We want to treat linux-$flavor and linux-meta-$flavor as one set in
britney which goes in together or not at all. We never want to promote
linux-$flavor without the accompanying linux-meta-$flavor.

Add a new LinuxPolicy which runs after most of the other policies, which
invalidates linux-foo if linux-meta-foo is invalid.
2020-11-20 17:37:44 +00:00
Robert Bruce Park
36e8b65c8b Email Policy, send emails when packages are rejected. 2020-11-20 17:37:44 +00:00
Robert Bruce Park
9c777eac1b Reject packages if entire source ppa won't migrate 2020-11-11 09:41:40 +00:00
Iain Lane
56c066b753 Allow piuparts policy to be disabled by config 2020-11-11 09:41:40 +00:00
Colin Watson
4f9a33ddab Allow blocking uploads by way of bugs with the block-proposed tag set 2020-11-11 09:41:40 +00:00
Colin Watson
964e414dbe Add a --distribution option 2020-10-20 14:57:51 +01:00
Colin Watson
f4dc6b2277 Replace %(SERIES) macro in config files with value passed to --series 2020-10-20 14:57:51 +01:00
Colin Watson
3b8daa98ec
Make sure that containing directories exist before writing output files 2020-06-11 13:00:02 +01:00
Robert Bruce Park
c582733989
Make Heidi optional
Setting HEIDI_OUTPUT to an empty value will skip the heidi generation, to speed
up britney in scenarios where heidi is not needed.
2020-06-11 13:00:02 +01:00
Ivo De Decker
920d82445d Add allow-smooth-update hint
Hint to allow smooth update, even if the section isn't allowed in the
configuration.

Note that this takes the source name and the source version IN TESTING
of the binaries that must be allowed to stay around to allow a smooth
update.
2020-04-01 16:37:56 +00:00
Ivo De Decker
a08b7ebc48 Add implicit dependency policy
Based in part on patches by Niels Thykier <niels@thykier.net>

Signed-off-by: Ivo De Decker <ivodd@debian.org>
2020-03-19 20:10:35 +01:00
Ivo De Decker
18f71a01f5 Update autohinter for versioned excuses 2020-01-30 18:40:24 +01:00
Ivo De Decker
c410435859 use uvname for dependencies between excuses 2020-01-30 18:40:24 +01:00
Ivo De Decker
4e5926a41f Add depends policy 2020-01-30 15:09:12 +00:00
Ivo De Decker
3c8b7ba11d Add source to SourcePackage object
Adding a source parameter to the SourcePackage allow finding the source
the object is referring to, so that parameter doesn't have to be passed
along separately.

Signed-off-by: Ivo De Decker <ivodd@debian.org>
2020-01-03 19:44:55 +00:00
Niels Thykier
35aed10291
Add python-console command to the hint-tester
This enables interactive state exploration of britney's internals for
a given data set.

Signed-off-by: Niels Thykier <niels@thykier.net>
2019-11-10 11:20:02 +00:00
Niels Thykier
c08ea9d33c
Remove unused local variable
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-10-26 07:38:26 +00:00
Matthias Klumpp
f2f45320a8 Don't fail if faux-packages have multiple provides entries 2019-10-06 19:29:23 +02:00
Ivo De Decker
93b46dde0d Allow new uninstallables from allow-uninst hint
When an allow-uninst hint is added for an unversioned binary package, items
are allowed to migrate, even if they make that binary package uninstallable
(on the architecture specified in the hint, if one was specified, or on all
architectures otherwise).

Using this hint should avoid using force-hint to allow specific breakage.

Signed-off-by: Ivo De Decker <ivodd@debian.org>
2019-09-14 11:52:19 +00:00
Ivo De Decker
988b33d0ba Add allow-uninst hint
Signed-off-by: Ivo De Decker <ivodd@debian.org>
2019-09-14 11:07:38 +00:00
Ivo De Decker
4defca4cc1 Abort when do_all fails without transaction to rollback
When do_all fails, and there is no transaction to rollback, we will probably
leave a broken state behind. This codepath probably isn't triggered unless
something else is broken.

Signed-off-by: Ivo De Decker <ivodd@debian.org>
2019-09-14 10:51:41 +00:00
Ivo De Decker
5890cb914e Fix codestyle issues is britney.py
Signed-off-by: Ivo De Decker <ivodd@debian.org>
2019-09-02 22:22:04 +00:00
Ivo De Decker
7fdbfcbeb2 Check version of cruft removal item
If the cruft removal item has a different version than the binary currently in
testing, then the cruft item was replaced since it was added, or it was added
in error. In this case, the item should not be processed.

Signed-off-by: Ivo De Decker <ivodd@debian.org>
2019-09-02 22:21:52 +00:00
Ivo De Decker
fdf273ad05 Log initial list of cruft items added to the list of items
Signed-off-by: Ivo De Decker <ivodd@debian.org>
2019-09-02 19:04:44 +00:00
Ivo De Decker
c7cfb4e09f Log new cruft items added to the list of items
Signed-off-by: Ivo De Decker <ivodd@debian.org>
2019-09-02 19:03:41 +00:00
Paul Gevers
2fc265be91
Save the state of policies on every non-dry run, not only during migration runs
The autopkgtest policy is really sending requests during every non-dry run,
we want to capture that state.
2019-08-24 21:46:59 +02:00
Ivo De Decker
208726f538 Add BuiltOnBuilddPolicy
Signed-off-by: Ivo De Decker <ivodd@debian.org>
2019-07-06 09:18:16 +00:00
Paul Gevers
909a4e228a
Default series option to target suite name 2019-05-18 21:40:27 +02:00
Niels Thykier
d9f9c6d4a9
Let ExcuseFinder create migration items
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-27 06:58:02 +00:00
Niels Thykier
6dde43a339
Create an ExcuseFinder class for computing relevant excuses
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-27 06:58:00 +00:00
Niels Thykier
2c9e0b9b97
do_all: Prune cruft after non-recursive hints (e.g. "easy")
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-21 20:48:14 +00:00
Niels Thykier
73791e48d0
Rename migrate_item{,s}_to_target_suite
It accepts multiple items, so using a singular "item" seems like a
misfeature.

Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-21 20:35:01 +00:00
Niels Thykier
98d4553185
Include old cruft items directly in upgrade_me
This enables us to remove the recursion in iter_packages (and thereby
the added noise from it).  As a side-effect of this change, the solver
can now solve the "left-binary-removal" test case as it can see the
relevant cruft item together with the regular items needed to solve
the migration.

Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-21 20:35:00 +00:00
Niels Thykier
5d408fa800
Remove new cruft items in iter_packages
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-21 20:34:59 +00:00
Niels Thykier
32ebe9d4e0
Ensure get_auto_hinter_hints does not choke on cruft items
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-21 20:34:58 +00:00
Niels Thykier
e0b46e5196
Make the source pkg consistency checks a TargetSuite method
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 16:47:40 +00:00
Niels Thykier
e3d68164f1
Fix typo in log output
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 16:09:33 +00:00