726 Commits

Author SHA1 Message Date
Niels Thykier
0952d0b8c7 britney: Remove redundant if and obsolete comment
The RC bugs part is now handled by the RCBugs policy.

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-12 09:50:55 +00:00
Martin Pitt
e934ba1bb7 Move updating of excuses into policies
It is unwieldy to have one half of output data generation in the policy but not
the other half of updating the excuse. Now that apply_policy() gets the excuse
object as argument we can move everything there.

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-12 09:50:55 +00:00
Martin Pitt
dc52f019bc Pass excuse to BasePolicy.apply_policy()
This allows tests to check whether there are any missing builds or old
binaries, so that expensive actions such as "trigger an autopkgtest" are not
done too early/in vain.

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-12 09:50:55 +00:00
Martin Pitt
7ded1c85db Move build checks before running policies
For future policies such as running autopkgtests it is important to know
whether a package has built, so that expensive actions such as "trigger an
autopkgtest" are not done too early/in vain.

This requires dropping the "age != 0" check for adding the out-of-date-ness to
the Excuse, as the policies now run later. But this check only applied to an
infinitesimal age, and even with age == 0 it is still a valid excuse that there
are missing binaries.

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-11-12 09:50:55 +00:00
Colin Watson
e5e6d7e5b7 Make removal of obsolete source packages configurable
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-10-03 18:29:09 +00:00
Colin Watson
fe7cc466e1 Rename fucked_arches to outofsync_arches
To avoid getting in trouble when bringing up new commercially-supported
architectures.

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-10-03 18:29:09 +00:00
Niels Thykier
0664c580b0 Prefer s.x to s[X] for SourcePackage objects
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-10-03 18:29:09 +00:00
Niels Thykier
5a19b4f74d Create a SourcePackage class
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-10-03 18:29:09 +00:00
Niels Thykier
cd7cdda61e britney: Remove out a tuple lookup in get_dependency_solvers
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-10-03 18:29:09 +00:00
Niels Thykier
f414b12130 britney: Make read_binaries read all binaries for a suite
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-10-03 18:29:09 +00:00
Niels Thykier
ea166f5bd3 britney -> util: Extract a "create_provides_map"
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-10-03 18:05:54 +00:00
Robert Bruce Park
190be31014 Python loop performance enhancements.
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-10-03 18:05:54 +00:00
Niels Thykier
34d27bbd15 britney.py: Make hinted removal excuses valid
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-10-03 18:05:53 +00:00
Mathieu Trudel-Lapierre
31669ac5bd Update whitespace; make the output easier to read
FAILED/SUCCESS lines would be separated by a whitespace from the list
of architectures, but not itself followed by whitespace. This is slightly
confusing, as one could interpret it as being a heading for the following
block of tested packages, rather that the final result of the previous
block.
2016-10-03 18:05:53 +00:00
Niels Thykier
d43311be03 Support policies registering their own hints
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-10-03 18:05:53 +00:00
Niels Thykier
948d15d536 HintParser: Support adding new hints to the parser
This includes refining "HINTS_ALL" to cover all hints added at
runtime.

Currently, it is not very useful.  However, a later commit will allow
policies to use this feature.

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-10-03 18:05:53 +00:00
Niels Thykier
13417c18e4 hint-tester: Use hint-parser for parsing excuse hints
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-09-23 05:27:44 +00:00
Niels Thykier
6328b15a9c Change argument order for HintCollection.add_hint
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-09-23 05:27:44 +00:00
Niels Thykier
ac13904f2a Really ignore nuninst issues for break arches
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-07-11 17:55:46 +00:00
Niels Thykier
5dc162404f Actually forgive missing Packages files for new arches
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-07-11 17:33:11 +00:00
Niels Thykier
ac670bc75e Forgive missing Packages files for new arches
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-07-11 09:59:54 +00:00
Niels Thykier
2fadfe3724 britney.py: Fix typo in variable name
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-07-05 23:24:08 +00:00
Niels Thykier
cb248a23eb Add more items to excuses.yaml
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-07-05 22:44:56 +00:00
Niels Thykier
2fd6c59460 Ignore nuninst out-of-sync issues on break-arches
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-07-05 08:02:04 +00:00
Niels Thykier
d76ccaca3b Show missing builds for age-less items in excuses.html
For items not having an age requirements (e.g. urgency=critical)
always list the "missing build" note if present.

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-07-05 08:02:04 +00:00
Julien Cristau
e2c7dc97d6 Use https for links in excuses.html
Signed-off-by: Julien Cristau <jcristau@debian.org>
2016-07-02 13:21:14 +02:00
Julien Cristau
8545dc972a Fix link to source package bug page
pkg=src:foo and src=foo give different results.

Fixes https://bugs.debian.org/829240

Signed-off-by: Julien Cristau <jcristau@debian.org>
2016-07-02 13:21:09 +02:00
Niels Thykier
855fe68009 Make tpu optional in the config file
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-06-03 15:34:24 +00:00
Niels Thykier
c224c55d88 Add a "block-all new-source" hint
This hint will block all "new" source migrations.  Source migrations
for packages already in testing will be affected by this.  As usual,
this hint can be overruled by an unblock hint.

Closes: GH#8

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-06-03 15:34:24 +00:00
Niels Thykier
481f7fde08 auto-hinter: Reduce size of inner loop
Reduce a "loop over all valid items" to a "loop over an item's
dependencies + reverse dependencies".  For sparse graphs, this
is much more efficient.

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-06-03 15:34:23 +00:00
Niels Thykier
e517c3f315 auto-hinter: Remove some now redundant conditionals
Made possibly be the previous commit.

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-06-03 15:34:23 +00:00
Niels Thykier
3294c99036 auto-hinter: Prune size of valid excuses and their deps
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-06-03 15:34:23 +00:00
Niels Thykier
43266ee091 auto hinter: Prune some duplicates earlier
The same item can re-appear multiple times in one iteration, so prune
duplicates in each iteration.

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-06-03 15:34:23 +00:00
Niels Thykier
463d1a67d9 Prefer pkg_id.foo to pkg_id[X]
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-05-28 09:37:28 +00:00
Niels Thykier
429e8f1199 britney.py: Turn pkg_ids into namedtuples
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-05-28 09:37:28 +00:00
Niels Thykier
bee0a99528 Reuse pkg_ids instead of creating them ad-hoc
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-05-28 09:37:28 +00:00
Niels Thykier
71d181aa83 Add pkg_id field to BinaryPackage
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-05-28 09:37:28 +00:00
Niels Thykier
856bbba232 Add missing "None" guard for faux packages
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-05-26 17:48:19 +00:00
Niels Thykier
c14ee0410b Let hintdir specific the actual directory of hints files
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-05-26 16:49:09 +00:00
Niels Thykier
1ee1375d38 britney: Fix bug in reading d-i Packages
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-05-26 16:46:19 +00:00
Niels Thykier
f23a72dcdb britney2: Mirror layout - also read d-i Packages files
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-05-26 16:39:06 +00:00
Niels Thykier
3c0dcf0de3 britney: Permit comments in Package-List field of constraints
python-apt's "TagFile" seems to cut the field short if it meets a
comment.  Therefore allow comments in the actual field value to avoid
this nasty behaviour.

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-05-21 17:13:22 +00:00
Niels Thykier
e50037a7da constraints parsing: Fix off-by-one in split
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-05-21 16:44:20 +00:00
Niels Thykier
3fde3ca7a0 Make Faux packages default to non-free
Packages in main should not need them.  Presuming we eventually make
Britney enforce separation between components, "non-free" seems like a
better default.

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-05-21 13:39:11 +00:00
Niels Thykier
17a8fd6cdc Correct error message to use the real field name
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-05-21 13:38:52 +00:00
Niels Thykier
c9ed47ca6d britney.py: Remove unused import
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-05-21 12:47:28 +00:00
Niels Thykier
ccb473e19f britney.py: Support compressed Packages/Sources
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-05-21 12:47:28 +00:00
Niels Thykier
398c7a4959 Add support for loading faux packages
Part of GH#5.

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-05-21 12:47:27 +00:00
Niels Thykier
58b704f3d0 britney.py: Extract a _parse_provides method
Signed-off-by: Niels Thykier <niels@thykier.net>
2016-05-21 12:47:27 +00:00
Niels Thykier
7ccbfe2fdf Make "Keep-installable" constraints overrule nuninst counters
If there is a regression in "present-and-installable" constraints (on
non-break architectures), then discard the item even if the nuninst
counters have improved.

Signed-off-by: Niels Thykier <niels@thykier.net>
2016-05-21 12:47:27 +00:00