542 Commits

Author SHA1 Message Date
Colin Watson
e64f4e2e74 Update contact information for Ubuntu 2016-11-17 11:28:53 +01:00
Colin Watson
9c68362ff5 buildd.debian.org -> launchpad.net 2016-11-17 11:28:53 +01:00
Martin Pitt
dac3bb3044 Store Testsuite-Triggers: list in sources
Compute an inverse trigger → sources map, as that's usually the direction that
britney is interested in.
2016-11-17 11:28:14 +01:00
Martin Pitt
26df12182f Store Testsuite: list in sources
Extend read_sources to store the components of Testsuite: as a list.
2016-11-17 11:28:14 +01:00
Colin Watson
a023e6ad31 Add a --distribution option 2016-11-17 11:28:14 +01:00
Colin Watson
21c48308ca Add new --series option
Replace %(SERIES) macro in config files with given value.
2016-11-17 11:28:14 +01:00
Colin Watson
57457c019c 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-11-17 11:28:14 +01:00
Colin Watson
c48eb4cbc1 Optionally merge packages from testing to unstable
To cope with a partial unstable suite like Ubuntu's -proposed pocket.
2016-11-17 11:28:14 +01:00
Colin Watson
7877a8500d 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-11-17 11:28:14 +01:00
Robert Bruce Park
027b18f931 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-11-17 11:28:14 +01:00
Martin Pitt
69ab5f6c32 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-11-17 11:28:14 +01:00
Martin Pitt
2f1acffae1 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-11-17 11:28:14 +01:00
Martin Pitt
1dd23e3af1 Always reject packages with unsatisfiable dependencies
Partially revert commit ac66e311 which caused packages with unsatisfiable
dependencies to only get rejected if they were not in testing. In Ubuntu we
always want to block those.
2016-11-17 11:28:14 +01:00
Martin Pitt
d1ef31ce3a 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-11-17 11:28:14 +01:00
Robert Bruce Park
4bde6d48cd 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.
2016-11-17 11:20:53 +01:00
Martin Pitt
497edc6d6c 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).
2016-11-17 11:12:35 +01:00
Niels Thykier
df38b9e687 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-17 11:12:35 +01:00
Martin Pitt
b3ea41d057 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.
2016-11-17 11:12:35 +01:00
Martin Pitt
1e9a16499a 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.
2016-11-17 11:12:35 +01:00
Martin Pitt
a401a463bf 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.
2016-11-17 11:12:35 +01: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