844 Commits

Author SHA1 Message Date
Colin Watson
7eb3412828 Add a --distribution option 2016-12-12 11:33:44 +01:00
Colin Watson
3db97e9741 Add new --series option
Replace %(SERIES) macro in config files with given value.
2016-12-12 11:33:44 +01:00
Colin Watson
8fb3c782aa 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.
2016-12-12 11:33:44 +01:00
Colin Watson
b144470940 Optionally merge packages from testing to unstable
To cope with a partial unstable suite like Ubuntu's -proposed pocket.
2016-12-12 11:33:44 +01:00
Colin Watson
a2dcb26901 Make sure that containing directories exist before writing output files
We don't use os.makedirs(dir, exist_ok=True) as that is too strict: it fails if
the directory already exists with different permissions (e. g. with 775). Thus
introduce a helper function ensuredir().
2016-12-12 11:33:44 +01:00
Robert Bruce Park
f32a8e37da 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.
2016-12-12 11:33:44 +01:00
Martin Pitt
0c73ebfa98 Skip second-stage upgrade testing if UPGRADE_OUTPUT option is absent or empty
This is useful to speed up britney in dry run mode, if we are only interested
in builds and package tests.
2016-12-12 11:33:44 +01:00
Martin Pitt
e987fedd80 Save policy state before upgrade tester
We might not (want to) run the upgrade tester for some use cases, but we still
need to save the policy state.
2016-12-12 11:33:44 +01:00
Martin Pitt
e93d8ae221 Skip piuparts policy if summary file is missing 2016-12-12 11:33:44 +01:00
Colin Watson
c26dfad9c2 Skip bug-based processing if BugsV is missing 2016-12-12 11:33:44 +01:00
Colin Watson
538d5c61ff Use default urgency for all packages if Urgencies is missing 2016-12-12 11:33:44 +01:00
Martin Pitt
e5f306c5f5 Consider packages with M-A qualifiers for reverse dependencies
Strip of Multi-Arch qualifiers ":any" and ":native" when building the
dependency fields, as they are not part of the package name.

This will fix cases like

  Package: ipython3
  Depends: python3:any (>= 3)

and include ipython3 in python3's reverse dependencies.

Closes: #794194
2016-12-12 11:33:44 +01:00
Iain Lane
8e0405d2e2 hint-tester: Don't lowercase the input
Doing this means that you can't use the hint tester for packages with
uppercase characters in the version, e.g.

  Version mismatch, dreamchess 0.2.1-rc2-2build1 != 0.2.1-RC2-2build1
2016-12-12 08:49:50 +01:00
Emilio Pozuelo Monfort
af7c96142d Add ignore-piuparts to the standard hint set
Signed-off-by: Emilio Pozuelo Monfort <pochu@debian.org>
2016-12-09 08:59:56 +01:00
Niels Thykier
0349cd9477 Implement a mandatory 10 day migration delay
Per https://lists.debian.org/debian-devel-announce/2016/11/msg00002.html

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-12-07 21:39:45 +00:00
Niels Thykier
3e888a9fdf PiupartsPolicy: Improve html message
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-12-04 10:38:15 +00:00
Robert Bruce Park
40ccb4bdc6 Invalidate excuse after each policy run
This fixes commit 497edc to really allow policies to see if the excuse has
already been invalidated by previous policies.

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-26 19:34:54 +00:00
Niels Thykier
bcdb2b39cd Add PiupartsPolicy to avoid piuparts regressions
Closes: Debian/britney2#16
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-26 17:11:40 +00:00
Niels Thykier
e6e221ad52 Extract a compile_nuninst and move it to utils
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 21:33:39 +00:00
Niels Thykier
eaf4660918 utils: Replace explicit loop index handling with enumerate
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 21:33:21 +00:00
Niels Thykier
06504f2ae7 Move invalidate_exuses to utils
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 21:22:22 +00:00
Niels Thykier
20f2e27873 Fix --print-nuninst + --nuninst-cache
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 21:21:06 +00:00
Niels Thykier
fd614062ae Minor optimisation of force handling
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 21:20:45 +00:00
Niels Thykier
56fa65f596 Replace a use of src[X] with src.x
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 21:08:37 +00:00
Niels Thykier
166a6533ba completer: Replace src[X] with src.X
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 21:03:40 +00:00
Niels Thykier
0cc7f7a8d2 Move build_installability_tester to builder.py
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 21:03:40 +00:00
Niels Thykier
7a63784876 Move get_dependency_solvers to utils
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 21:03:40 +00:00
Niels Thykier
c4be8436db Move read_sources_file to utils
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 21:03:40 +00:00
Niels Thykier
0f45b195a6 Refactor doop_source to simplify logic
Cleanly split doop_source into a (small) part about source packages
and a (longer) part about binary packages.

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 20:21:13 +00:00
Niels Thykier
027142e12b Fix bug where compute_groups returned tuple instead of pkg_id
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 20:21:13 +00:00
Niels Thykier
a14ced6403 Drop now unused "from __future__" imports
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 20:21:06 +00:00
Niels Thykier
7af650d36d "selected" is never None in iter_packages
It used to be possible, but it is not any more.

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 20:21:06 +00:00
Niels Thykier
ecf95229d3 Use asserts to guard single binary removal items
Coverage suggests that the conditions are always true.  If so, we can
replace the "elif" with a regular "if" - but for now, lets keep an
assert.

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 20:21:06 +00:00
Niels Thykier
9ca30aac81 Rename a variable for clarity reasons
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 20:21:06 +00:00
Niels Thykier
a768432eb2 solver.py: Add missing "no cover" pragma
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 20:21:06 +00:00
Niels Thykier
d3e343a3bd AgePolicy: Fix bug in creating the age file
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 20:21:06 +00:00
Niels Thykier
241b17602d utils: Remove condition that is always true
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 20:21:06 +00:00
Niels Thykier
fc2269ba02 rc-bugs policy: Ignored bugs are not unique to testing
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 20:21:06 +00:00
Niels Thykier
d7f6a00a51 Add another policy test for ignore-rc-bugs
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 20:21:05 +00:00
Niels Thykier
96b7e606cf Add simple RC bugs unit test
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-22 20:21:01 +00:00
Niels Thykier
9c563f1a96 Move data classes into britney2/__init__.py
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-13 17:33:45 +00:00
Niels Thykier
4eb5bdb396 Show coverage reports in travis-ci builds
Ideally we would extract that report and post it somewhere.  That is
left as future work.

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-13 12:49:45 +00:00
Niels Thykier
6360daf8c5 Assert that binaries have sensible arch values
Add a check to ensure we do not create broken test data (as happened
recently, where the architecture values were swapped for a single
binary).  A cold hard failure like this is easier to debug
compared to Britney playing "garbage in, garbage out".

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-13 12:49:39 +00:00
Niels Thykier
20c2b87833 Sprinkle some "no cover" pragmas over the code base
Add some "no cover" to some unrecoverable exceptions
(e.g. misconfiguration) or base-class methods that are not intended to
be invoked.

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-13 11:39:46 +00:00
Niels Thykier
54fd517062 excuse.py: Drop now unused urgency field
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-13 11:18:46 +00:00
Niels Thykier
2d8a471f70 undo_changes: Simplify case for virtual packages
doop_source never (no longer?) creates an element in "virtual" where
the package name is prefixed with "-", so we can drop that branch.

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-13 11:18:46 +00:00
Niels Thykier
1f1086b929 utils: Replace a case of b[FOO] with b.foo
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-13 11:18:46 +00:00
Niels Thykier
2ce2d7efb3 utils: Remove reundant VERSION=VERSION parameter
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-13 11:18:46 +00:00
Martin Pitt
15fdf960d7 Use Excuse.is_valid when iterating through checks and Policies
This gives Policies the opportunity to see if a previous check
(build/installability) or earlier policies already invalidated the update. This
allows writing policies that work on groups of packages, or skipping expensive
checks (such as triggering autopkgtests while the package is not built or
installable yet).

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-13 11:18:46 +00:00
Niels Thykier
e13763d335 Refactor out some some hash lookup in _compute_groups
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-13 11:18:45 +00:00