440 Commits

Author SHA1 Message Date
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
5b5c99e401 excuse, excusefinder: Allow excuses to invalidate each other
Sometimes (for the LinuxPolicy), excuses don't have enough information
when they are processed. They need to defer some of their work until
another excuse has been evaluated and then perhaps get invalidated.

Introduce the concept of "external invalidation" to deal with this. A
policy can keep references to other excuses around, and then invalidate
them later (when processing another one). The excuse finder needs to
know this happened to remove the excuse from the list of "actionable
excuses".

For example. The Linux policy invalidates linux-foo if linux-meta-foo is
invalid. If linux-foo is encountered first, we will not yet know if
linux-meta-foo is going to be invalid. We effectively defer the
evaluation until after linux-meta-foo has been dealt with, and then we
know whether we need to invalidate linux-foo or not.
2020-11-11 09:41:40 +00:00
Iain Lane
d2dbdadf1f autopkgtest: Hardcode some linux-meta tests
We should really fix this to use Testsuite-Triggers / hint-testsuite-triggers
2020-11-11 09:41:40 +00:00
Iain Lane
7ed335893e Implement Ubuntu component relationship constraints (ogre model) 2020-11-11 09:41:40 +00:00
Iain Lane
3fa9eceb89 Store the component in BinaryPackage and SourcePackage 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
4e59e3fb6a Change date format to seconds-since-epoch 2020-10-20 14:57:51 +01:00
Colin Watson
964e414dbe Add a --distribution option 2020-10-20 14:57:51 +01:00
Colin Watson
5f95cf771e Only issue "From wrong source" for binaries not at the same version in testing
Same-version could happen for merged binaries in partial-unstable mode.
2020-10-20 14:57:51 +01:00
Iain Lane
77a2a0df19 utils: Fix pycodestyle E302 (missing blank line) 2020-10-20 14:57:51 +01:00
Colin Watson
35c1bb36f4 Optionally merge packages from testing to unstable
To cope with a partial unstable suite like Ubuntu's -proposed pocket.
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
Martin Pitt
883f01740f
Skip piuparts policy if summary file is missing 2020-06-11 13:00:02 +01:00
Colin Watson
af7da4e764
Skip bug-based processing if BugsV is missing 2020-06-11 13:00:02 +01:00
Colin Watson
ba3fec61c3
Use default urgency for all packages if Urgencies is missing 2020-06-11 13:00:02 +01:00
Paul Gevers
dc4ea6ca2c
autopkgtest: remember old results instead of discarting them
For packages with lots of reverse dependencies, new versions of those reverse
dependencies may keep on showing up in testing. If migration is blocked until
the results for these new version, migration may take extremely long. If there
are results for the current trigger but for the previous version of the reverse
dependency, use those until the fresh resuts are available.

Similar for the reference runs.
2020-05-01 21:34:30 +02:00
Paul Gevers
6e6214efe8
autopkgtest: call filter_old_results after adding triggers to avoid code duplication 2020-05-01 21:28:50 +02: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
c2088004f2 is_smooth_update_allowed: strip component from section 2020-04-01 15:55:03 +00:00
Ivo De Decker
2d34f8220e split off is_smooth_update_allowed() function 2020-04-01 15:49:14 +00:00
Ivo De Decker
e2b196dd4b Don't check implict depends when build is missing 2020-03-20 17:27:33 +00:00
Ivo De Decker
a667250cef excuse: add hasreason function 2020-03-20 17:23:13 +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
9865db0448 Add find_newer_binaries function 2020-03-18 21:15:25 +00:00
Ivo De Decker
563556de95 Suite: add is_cruft function 2020-03-18 21:13:05 +00:00
Ivo De Decker
29557abab0 Replace broken excuse dependency code with comment 2020-03-18 21:13:05 +00:00
Paul Gevers
23c79608ec
autopkgtest: make sure an item is not removed twice 2020-02-22 07:35:39 +01:00
Paul Gevers
ea6d65f657
Let britney reschedule migration-reference/0 runs when they are too old
Currently, britney only schedules reference runs when they don't exist. It does
strip out runs against older versions of the autopkgtest, but the current version
may exist for a while and the reference run can be old. So, add an option to
ignore old results.
2020-02-20 13:21:36 +01:00
Paul Gevers
aa8b84f4b8
Drop the special case that gcc has; it's just a package 2020-02-20 11:24:27 +01:00
Paul Gevers
56babea058
Don't run autopkgtest on architectures where the triggering package doesn't exist 2020-02-14 22:47:03 +01:00
Ivo De Decker
64ba19cde4 Fix architecture check if Release file is used
When the architecture are read from the Release file, they are not
defined in the config file.

Adding 'all' as an architecture will not give the correct result. To
avoid confusion, explicitly check for this and error out if it is added.
2020-02-14 20:54:34 +00:00
Ivo De Decker
9056323165 Check that architecture config doesn't include "all"
Add 'all' as an architecture will not give the correct result. To avoid
confusion, explicitly check for this and error out if it is added.
2020-02-14 19:57:53 +00:00
Ivo De Decker
a567dfd58d Mark packages as uninstallable, even if this doesn't block migration
This allows the autopkgtest policy to skip tests for these packages.
2020-02-14 19:34:09 +00:00
Ivo De Decker
c308361fc5 autopkgtest: filter conflicting packages
We only want to add packages which conflict in testing, but don't
conflict in unstable. For those, the newer version (from unstable)
probably fixes the conflict.
2020-02-07 20:46:30 +01:00
Ivo De Decker
97c3b32f1f autpkgtest: ignore deps already satisfied in testing 2020-02-07 19:36:40 +00:00
Ivo De Decker
1a33ee9ebc installability/tester.py codestyle fixes 2020-01-30 18:41:39 +01:00
Ivo De Decker
0c66464fd5 hints.py codestyle fixes 2020-01-30 18:41:39 +01:00
Ivo De Decker
976accaf57 Track uninstallable arch:all packages on non-nobreakall archs
When an arch:all binary is uninstallable on a non-nobreakall arch, don't
block it, but still mark it as uninstallable, so the autopkgtest policy
knows not to schedule tests for it.
2020-01-30 18:41:39 +01:00
Paul Gevers
a78b26d55d Don't block autopkgtest on uninstallable archs
Currently when a package is uninstallable on an arch, no autopkgtests for that arch are triggered
and the autopkgtest policy blocks migration. However it's not the job of the autopkgtest policy
to judge uninstallability and packages that build an arch:all package that just isn't installable
on the autopkgtest arch should not be blocked for this.

Closes: #918620
2020-01-30 18:41:39 +01:00
Ivo De Decker
9ddd3c7b60 Suite codestyle fix 2020-01-30 18:41:39 +01:00
Ivo De Decker
f67414a06e TargetSuite: use *_in_the_suite functions from Suite
Use the info based on the binaries in the Suite object, instead of the
inst_tester. This should also include packages that are in testing, but
are not installable.
2020-01-30 18:41:21 +01:00
Ivo De Decker
4aa1834cfe Only calculate all_binaries_in_suite when necessary 2020-01-30 18:41:21 +01:00
Ivo De Decker
62c309da07 Don't allow unversioned migrationitems to be hashed
Unversioned migration items match different versioned items for the same
source, so hashing them will not produce a correct result.

Closes: #945471
2020-01-30 18:41:21 +01:00
Ivo De Decker
c410435859 use uvname for dependencies between excuses 2020-01-30 18:40:24 +01:00
Ivo De Decker
8369d6b0e7 sort excuses based on uvname 2020-01-30 18:40:24 +01:00
Ivo De Decker
4a8fb58f91 Use versioned items in excusefinder 2020-01-30 18:40:24 +01:00
Ivo De Decker
e70457f137 Add logger to ExcuseFinder 2020-01-30 18:40:24 +01:00