Niels Thykier
a5352d353b
Simplify undo code handling sources
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
59ae7e3d68
Optimize out "nvirtual" member of undo items
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
5642a90449
Rename _compute_groups to compute_groups
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
33ba41c76e
Split out a _compute_removals from _compute_groups
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
d3b391aed1
MigrationManager: Precompute a set of all architectures
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
89fcccba13
MigrationManager: Create a is_nuninst_worse
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
aa6dd4a0f3
Extract a compute eqv_set function
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
a95565c0e8
Split migrate_item_to_target_suite into two
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
57ded55674
Remove dead assignment
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
c7dbd95c0b
Have MigrationManager keep track of active transaction
...
This leaves callers with only having to track the transaction they
need to care about (if any).
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
4803065e1a
Move (and rename) try_migration to the MigrationManager
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
28c7a052fa
Move to MM and rename doop_source to apply_item_to_target_suite
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
4ae6a34a27
Move _compute_groups to a new MigrationManager class
...
Other migration methods are expected to follow in future commits.
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Ivo De Decker
12debfc7c8
Check that version increases when adding packages to testing
...
When we try to compute_groups for a group which has a source or a binary with
a lower version than testing, throw an exception. In the cases where this can
happen, the exception is caught. In other cases, it is not and it serves as an
assert.
This can only happen when there are multiple candidates (from multiple suites)
changing the same source or binary.
This should fix the ordering issues tested in these tests:
- tpu-unstable-binnmu
- binnmu-tpu
- tpu-with-unstable-binnmu
With this change, it should be possible to accept binNMUs from *pu again.
Signed-off-by: Ivo De Decker <ivodd@debian.org>
6 years ago
Niels Thykier
a05a249e04
Record exactly which binaries are updated in the transaction
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
5d49a41204
Introduce a "Transaction" for changes to testing
...
This isolates the undo handling in the new transaction object and in
doop_source, which currently generates the undo items. This commit
will be a stepping stone to rewriting the undo handling.
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
68fd0ba4b2
Remove --components/COMPONENTS as it is auto-detected
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
7124313aa6
Make InstallabilityTester suite agnostic
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
ced7b7b413
Refactor britney.py to use InstallabilityTester less
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
0099c34d93
Refactor _read_binaries to reduce its complexity a bit
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
f547fb20b1
suiteloader: Create a _setup_architecture method
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
7efa865a04
Move Suite/Package loading into a separate class/module
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
deb9482a2f
Move parse_provides to britney2.utils
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Ivo De Decker
3828a76053
Filter out cruft in find_smooth_updateable_binaries
...
When calculating smooth updateable binaries, filter out cruft binaries from
unstable, because they will not be part of the set of packages that britney
will try to migrate to testing.
Signed-off-by: Ivo De Decker <ivodd@debian.org>
6 years ago
Ivo De Decker
f0ddfc253f
Fix parsing of migration item name for binNMU in tpu
...
The parsing of migration items should also look for the suite name in the
architecture part. This fixes the parsing for migration items like
some-src/amd64_tpu and some-src/amd64_tpu/1.0-1
Signed-off-by: Ivo De Decker <ivodd@debian.org>
6 years ago
Niels Thykier
65b67e763c
Replace the use of inst_tester with new suite functionality
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
03df891b7e
Expand the Suite interface and create a TargetSuite sub-class
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
0b4f58315f
Rename a method and reduce a table to a set
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
0eb8b5a201
BinaryPackageUniverse: Provde equivalent_packages
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
ef813bf0d8
Let the BinaryPackageUnvierse track broken packages
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
8867ef0cf9
Let the BinaryPackageUniverse track essential packages
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
07a407e810
Partly separate the solver from the inst_tester
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
c0ecdd82fb
Remove now redundant APIs from the InstallabilityTester
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
0a669461ca
Separate inst_tester from universe
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
35b06ee007
tests: Separate inst_tester from universe
...
This commit updates the test suite to use the BinaryPackageUniverse
instead of the InstallabilityTester where that makes sense. The rest
of Britney has yet to be updated except where absolutely necessary (as
that will come in a later commit).
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
d557610c6f
BinaryPackageUniverse: Implement packages_equivalent_to()
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
530db5d3f7
Extract a BinaryPackageUniverse from the InstallabilityTester
...
The InstallabilityTester is suffering from a lack of clear purpose
because it serves multiple. This commit extracts most of one of these
purposes into the BinaryPackageUniverse class while retaining the
original API of the InstallabilityTester.
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
32def47991
Fix typo in doc string
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
b37575f000
Stop creating some throw-away data-structures for a method call
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
f86cda97da
inst_tester: Improve doc string/argument name
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
7bcbcb6282
Make clone_nuninst able to fully deep clone nuninst
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
6c5300d873
Unfold the suite.binaries tuple into two members
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Ivo De Decker
9c606ef533
Don't add smooth-updatable cruft to migration items
...
Based on patch by Niels Thykier.
Signed-off-by: Ivo De Decker <ivodd@debian.org>
6 years ago
Niels Thykier
99a35a2986
autopkgtest.py: Update previous commit to match recent changes
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Iain Lane
c09a229dc9
autopkgtest: Run gcc-n's testuite, if it has one
6 years ago
Niels Thykier
880a614b2b
britney: Extract a find_smooth_updateable_binaries function
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
c4931fb1b2
solver: Move a common variable out of an if
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
1e46965924
inst/builder.py: Split function in three to reduce indentation levels
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
dd5211d55a
inst-tester: Add missing element to a set
...
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago
Niels Thykier
55dd190fa6
inst-tester: Make "check" a list
...
Should be slightly cheaper (O(1)) than using a set.
Signed-off-by: Niels Thykier <niels@thykier.net>
6 years ago