1423 Commits

Author SHA1 Message Date
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
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
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
Ivo De Decker
76dc7cc0d2 MigrationItem: calculate (uv)name
Caclulate the (uv)name of the items, instead of accepting it from other
functions.
2020-01-30 18:40:24 +01:00
Ivo De Decker
5dc892ae8f use uvname in excuses output 2020-01-30 15:09:17 +00:00
Ivo De Decker
5c7300caf0 Excuse: get source from MigrationItem 2020-01-30 15:09:17 +00:00
Ivo De Decker
055f0f07e5 Add MigrationItem to Excuse 2020-01-30 15:09:17 +00:00
Ivo De Decker
ef2cae9be5 remove unused function 2020-01-30 15:09:17 +00:00
Ivo De Decker
03fc5208fc remove TPU check that's no longer needed 2020-01-30 15:09:17 +00:00
Ivo De Decker
a425e32984 Remove _excuse_unsat_deps
This should now be handled by the depends policy.
2020-01-30 15:09:17 +00:00
Ivo De Decker
4e5926a41f Add depends policy 2020-01-30 15:09:12 +00:00
Ivo De Decker
2ccb056fa1 validate list of valid excuses 2020-01-30 15:09:12 +00:00
Ivo De Decker
8b6638c566 Specify dependencies between excuses based on packages
Rework the dependencies between excuses.

Dependencies are specified based on packages (source or binary). Based
on these packages, dependencies on other excuses (that have these
packages) are calculated.

As with package dependencies, dependencies between excuses can contain
alternatives.

Each alternative can satisfy the dependency, so the excuse only becomes
invalid if all of the alternatives of a specific dependency are
invalidated.

Tracking of the alternatives and their validity is moved to separate
objects.
2020-01-30 15:09:12 +00:00
Ivo De Decker
b5285f21d7 Track packages (source and binary) for excuses 2020-01-30 15:09:11 +00:00
Ivo De Decker
f11d92bf8f Add PackageId and BinaryPackageId objects 2020-01-03 23:05:29 +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
Ivo De Decker
6ca84132f9 Excuses: remove unused sane_deps
Signed-off-by: Ivo De Decker <ivodd@debian.org>
2020-01-03 19:43:47 +00:00
Paul Gevers
31e3278202
Give ginggs the STANDARD hint powers 2019-12-08 22:04:59 +01:00
Paul Gevers
91ec61fc30
Enable autopkgtest policy on arm64 2019-11-21 11:41:01 +01:00
Paul Gevers
177b65d674
autopkgtest: also test for autodep8 for migration runs 2019-11-21 11:40:48 +01:00
Paul Gevers
b380508635
Drop dkms auto-detection for autodep8 as it isn't opt-in
Because autopkgtest failure in a package is now a serious bug (RC), packages
that don't opt-in should not be tested. Due to the way autopkgtest and autodep8
work together, package that don't declare they have an autopkgtest can still be
tested. However, maintainers should not be force to say their package doesn't
work with autodep8 by introducing a fake test.
2019-11-18 20:48:49 +01:00
Paul Gevers
d1081c9f59
Give myself allow-uninst power 2019-11-18 20:35:22 +01:00
Ivo De Decker
628b93b791 Make adding a failing test a regression
When there is no test in testing, and a failing test in unstable, don't
allow the package to migrate. Doing so would make it instantly RC-buggy.

Signed-off-by: Ivo De Decker <ivodd@debian.org>
2019-11-14 11:12:38 +00:00
Niels Thykier
0d5ea5eb8c
Improve cache invalidation of (pseudo-)essential set
If a new pseudo-essential package was added to testing *and* it is
mutually-exclusive with an existing member, britney would incorrectly
flag it as uninstallable (unless another change triggered a cache
invalidation of the pseudo-essential set).

With this commit, the cache invalidation is now done based on whether
we add something that *might* be in the (effective) pseudo-essential
set.  It is an overapproximation as there are cases where the
invalidation is unnecessary, but at the moment it is not a performance
concern.

Closes: https://bugs.debian.org/944190
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-11-10 23:08:47 +00:00
Niels Thykier
c3ca2bc703
console: Provide helpers to locate BinaryPackageIDs
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-11-10 23:05:54 +00:00
Niels Thykier
3329f73535
console.py: Fix whitespace issue tripping codestyle
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-11-10 11:26:49 +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
Ivo De Decker
8d5805b8de Don't allow smooth update if section not in s-u config
Signed-off-by: Ivo De Decker <ivodd@debian.org>
2019-11-06 13:32:33 +00:00
Ivo De Decker
301298e8c4 Add comment to clarify smooth update code 2019-11-05 20:09:08 +01:00
Niels Thykier
c08ea9d33c
Remove unused local variable
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-10-26 07:38:26 +00:00
Niels Thykier
ea14c7237d
Remove obsolete file consts.py
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-10-26 07:16:39 +00:00
Niels Thykier
2a1e4386fd
Remove optimization invalidated by allow-uninst hint
The optimizations relies on assumptions that are not valid with the
allow-uninst that has not been corrected.  When these assumptions, we
end up with invalid nuninst counters.

Signed-off-by: Niels Thykier <niels@thykier.net>
2019-10-26 07:07:55 +00:00
Niels Thykier
a6e3581195
SuiteLoader: Support Release files only "Codename" fields
The spec for Release files says that (at least) one of "Suite" and
"Codename" will be defined.  This implies that "Suite" is optional
in some cases and SuiteLoader now correctly falls back to using
"Codename" in that case.

Closes: https://bugs.debian.org/942104
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-10-23 19:29:57 +00:00
Matthias Klumpp
f2f45320a8 Don't fail if faux-packages have multiple provides entries 2019-10-06 19:29:23 +02:00
Julien Cristau
042ce9200f doc: add missing end quote 2019-09-27 21:43:11 +02:00
Ivo De Decker
75287427a5 Document allow-archall-maintainer-upload and allow-uninst hints
Signed-off-by: Ivo De Decker <ivodd@debian.org>
2019-09-21 12:32:03 +00: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
4de569114a Fix excuses output for package with urgent hint
Signed-off-by: Ivo De Decker <ivodd@debian.org>
2019-09-04 19:51:34 +00:00
Ivo De Decker
4a3f98657d Remove unimportant message from excuses
Signed-off-by: Ivo De Decker <ivodd@debian.org>
2019-09-04 17:34:34 +02:00
Ivo De Decker
13b62f8da5 Remove obsolete addhtml() 2019-09-04 12:02:52 +00:00
Ivo De Decker
f202601b81 fix codestyle issue in test_autopkgtest.py
This issue only shows up in the bullseye test.
2019-09-04 12:02:52 +00:00
Ivo De Decker
2bde180d18 fix codestyle issues in policies/__init_.py 2019-09-04 11:44:15 +00:00
Ivo De Decker
a1debec1a8 fix codestyle issues in excusefinder.py 2019-09-04 11:44:15 +00:00
Ivo De Decker
3f9092f94b fix codestyle issues in excuse.py 2019-09-04 11:44:14 +00:00