353 Commits

Author SHA1 Message Date
Niels Thykier
59633a92b5
Clone all_buildarchs before mutating it
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-27 06:55:49 +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
c30ecbb7e8
Skip cruft on source migration / removal items
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-21 20:35:02 +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
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
Paul Gevers
16f823dd91 autopkgtest: in Debian we want linux to be treated as any other 2019-01-21 20:22:59 +00:00
Paul Gevers
1ca76486b5
Replace libreoffice with doxygen as the libgcc smoke test for gcc.
Bug-Ubuntu: https://bugs.launchpad.net/bugs/1793260

Original patches by Steve Langasek
2019-01-20 21:33:30 +01:00
Niels Thykier
69d42ffb36
solver: improve apply_order to simplify more code
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 22:13:09 +00:00
Niels Thykier
b306700376
solver: Extract a function from _comute_group_order_adds
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 22:13:08 +00:00
Niels Thykier
259fecf6cf
solver: Rename a variable to avoid confusion
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 22:13:07 +00:00
Niels Thykier
cdcfe85bfa
solver: Replace dict with a proper object
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 22:13:06 +00:00
Niels Thykier
93f101bee2
solver: Extract some common code into a function
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 22:13:05 +00:00
Niels Thykier
2ed6161b49
solver: Refactor out a function to avoid duplicated code
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 22:13:04 +00:00
Niels Thykier
af20634b12
solver: Merge some loops to reduce nesting level
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 22:13:03 +00:00
Niels Thykier
b61e1086bd
solver: Invert an if-statement to reduce max indentation level
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 22:13:02 +00:00
Niels Thykier
68407c53c0
Remove an unnecessary if-statement
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 22:13:01 +00:00
Niels Thykier
9971714e27
solver: Merge two loops by using chain
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 22:13:00 +00:00
Niels Thykier
16dc303190
solver: Reduce two small loops into a comprehension
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 22:12:59 +00:00
Niels Thykier
d3e06fc45f
solver: Split _compute_group_order into three methods
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 22:12:58 +00:00
Niels Thykier
c65b377c5d
solver: Split solve_groups into 3 smaller methods
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 22:12:56 +00:00
Niels Thykier
4eb038ab6d
autopkgtest: Move field creation into __init__
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 22:12:14 +00:00
Paul Gevers
1ecb07ac2d
autopkgtest: bug fix in baseline cache 2019-01-19 20:14:31 +01:00
Paul Gevers
075d4d823b
autopkgtest: fix copy() in save_state 2019-01-19 20:13:00 +01:00
Paul Gevers
c6c5c45287
autopkgtest: tiny change for easier understanding 2019-01-19 20:12:51 +01:00
Paul Gevers
d038e7bbe6
autopkgtest: simplify bin_triggers logic/naming 2019-01-19 20:12:41 +01:00
Niels Thykier
caf83b9357
Fix the remaining two style issues in britney2/__init__.py
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 17:02:10 +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
b200c15062
Add a missing "no cover"
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 13:06:19 +00:00
Niels Thykier
427328821e
Remove redundant variables
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 12:56:10 +00:00
Niels Thykier
b0835fa4a1
Fix pycodestyle warnings
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 12:51:16 +00:00
Ivo De Decker
66648c1a03
Add BuiltUsingPolicy
Signed-off-by: Ivo De Decker <ivodd@debian.org>
2019-01-19 12:45:07 +00:00
Ivo De Decker
4fcb90b775
Read Built-Using info for binary packages
Signed-off-by: Ivo De Decker <ivodd@debian.org>
2019-01-19 12:45:06 +00:00
Ivo De Decker
35ae8848b4
Fix apply_src_policies when policy is applied on multiple archs
Move the logic of apply_src_policy and apply_srcarch_policy into PolicyEngine.

This fixes an issue with the excuses.yaml output introduced in commit
15e5228669: only the last verdict was added to the excuse info for that
policy.

Signed-off-by: Ivo De Decker <ivodd@debian.org>
2019-01-19 12:45:05 +00:00
Niels Thykier
bb699f7416
Make britney2/utils.py PEP-8 clean
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 12:03:36 +00:00
Niels Thykier
5a38e00996
Fix pep8 issues in check_target_suite_source_pkg_consistency
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 12:03:35 +00:00
Niels Thykier
c9d523da93
Remove trailing whitespace
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-19 12:03:34 +00:00
Ivo De Decker
cd08deb943 Fix build-dep check for source with only arch: all binaries
When a source has only arch: all binaries, the Build-Depends had no relevant
architectures, so the check was skipped. Instead check it on any architecture,
just like Build-Depends-Indep.

Signed-off-by: Ivo De Decker <ivodd@debian.org>
2019-01-19 09:45:52 +00:00
Ivo De Decker
15e5228669 Add src_policy option to policies.
The src_policy defines wether, for source items, the source policy should be
run (RUN_SRC, the default), the arch policy should be run on every arch
(RUN_ON_EVERY_ARCH_ONLY), or both (RUN_SRC_AND_EVERY_ARCH).

Signed-off-by: Ivo De Decker <ivodd@debian.org>
2019-01-17 18:40:39 +00:00
Niels Thykier
82fa58df20 Extract a compute_item_name method
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-16 22:37:23 +00:00
Ivo De Decker
97ed917db4 Sort some data for deterministic output in excuses
Signed-off-by: Ivo De Decker <ivodd@debian.org>
2019-01-16 22:37:23 +00:00
Niels Thykier
f928c7ed3d Make SourcePackage.binaries a set
The recent code changes made use remove from the "binaries" field in
SourcePackages.  Lists are not particularly optimized for this kind
of removal and we have a few source packages with a lot of binary
packages (e.g. libreoffice, gcc-X-cross{,-ports}) that might trip
poor performance.

Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-14 13:19:05 +00:00
Ivo De Decker
37a173af67 Always create a new SourcePackage
When an item is migrated to the target suite, always create a new
SourcePackage object with a separate binaries list (independent from the list
in the source suite). That list is updated for every binary that is added,
updated or removed. This should ensure consistent source package information
in the target suite.

The undo code doesn't need to be updated for this, because the old
SourcePackage object is put back on undo, with the old binary list.

Signed-off-by: Ivo De Decker <ivodd@debian.org>
2019-01-14 13:19:05 +00:00
Ivo De Decker
7bba77726b Always define source_t in apply_item_to_target_suite
Signed-off-by: Ivo De Decker <ivodd@debian.org>
2019-01-14 13:19:05 +00:00
Ivo De Decker
69c94caa01 Add source_name return value to compute_groups
When the item is a single binary cruft removal, the source name is different
from the package. compute_groups has this info anyway, so just pass it on as a
returm value.

Signed-off-by: Ivo De Decker <ivodd@debian.org>
2019-01-14 13:19:05 +00:00
Ivo De Decker
046bdc60c6 Add consistency checks for target suite.
This test checks if every binary in the target suite is listed as a binary for
its source package and vice-versa.

This adds a config option check_consistency_level:

0: no checks
1: only check at the end
2: also check for every hint run (default)
3: check for every transaction (slow - only useful for the testsuite)

Signed-off-by: Ivo De Decker <ivodd@debian.org>
2019-01-14 13:13:45 +00:00
Niels Thykier
6c3f8354e5
BlockPolicy: Compile regex once rather than once per migration item
Regex compilation is often rather expensive and in this case, we can
do it once instad of once per migration item.

Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-07 21:20:39 +00:00
Niels Thykier
c4371b9f58
BlockPolicy: Replace print with logger.info
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-07 21:07:43 +00:00
Niels Thykier
2fea931da3
Remove --control-files; It is not used any where
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-07 20:25:48 +00:00
Niels Thykier
603aa9fdca
Drop unused local variables
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-01-06 11:03:47 +00:00