459 Commits

Author SHA1 Message Date
Colin Watson
e99ea14601 Don't crash on unversioned unblock hints.
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-07-05 18:04:33 +00:00
Colin Watson
8584a061e1 Run autopkgtests as soon as amd64 and i386 are ready to go. 2013-07-02 11:59:29 +01:00
Colin Watson
cb7878320e Link to Jenkins logs for autopkgtests. 2013-07-02 11:39:57 +01:00
Adam D. Barratt
84bad954ad Only record a package once in the source->binary package mapping
If there are multiple versions of an arch:all package in unstable (due
to outdated or no longer built arch:any packages) then only one of them
should be recorded in the list of binary packages built from the source
package. Otherwise we may try and remove the binary package from various
lists multiple times, leading to crashes.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-07-01 18:13:51 +00:00
Colin Watson
b45bc14d4f Split force-autopkgtest into force-badtest (tested package) and force-skiptest (triggering package). 2013-06-27 08:18:04 +01:00
Colin Watson
c04c71055e 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). 2013-06-26 17:57:37 +01:00
Colin Watson
55d5a1651c Clarify force-autopkgtest excuse message. 2013-06-25 18:29:41 +01:00
Colin Watson
75b84eebe5 Run autopkgtests for blocked packages. 2013-06-25 18:15:43 +01:00
Colin Watson
9da36a9385 Don't crash on unversioned unblock hints. 2013-06-25 11:54:53 +01:00
Colin Watson
1c1d8cf891 Make force hints imply force-autopkgtest. 2013-06-25 11:14:26 +01:00
Colin Watson
c1e29f844f Make force-autopkgtest apply to the tested package, not the triggering package. 2013-06-24 13:25:29 +01:00
Colin Watson
bc85ea45cb Add force-autopkgtest to HINTS_ALL. 2013-06-24 10:44:13 +01:00
Colin Watson
6da7f96ca2 Pass Britney instances through to AutoPackageTest. 2013-06-17 17:24:50 +01:00
Colin Watson
f961f74ef3 Run autopkgtests for valid candidates, and wait for the results. 2013-06-17 13:56:21 +01:00
Colin Watson
111ab78d7d Apply undo list in reverse order; in rare cases with hints with overlapping virtual packages provided by different sources, this can make a difference. 2013-06-12 15:55:04 +01:00
Adam D. Barratt
a58f6d72c9 Ensure that binNMUs from superseded sources are not considered
Given a source which provides two packages and has different versions
in testing and unstable, binNMUs in unstable corresponding to the
older source version should not be considered as migration candidates.

For example:

testing
-------

source 1
bin 1 arch1
bin 1 arch2

unstable
--------

source 2
bin 2 arch1
bin 1+b1 arch2

The binary migration on arch2 should not be considered a candidate.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-06-08 15:40:07 +00:00
Adam D. Barratt
858e8de218 same_source: handle being passed "None" as a version
Although this should never happen, rather than crashing if one of the
versions is none, simply indicate that they are unequal.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-03-17 10:33:59 +00:00
Adam D. Barratt
0463c666f0 write_excuses: clear the list of excuses before building
Although this isn't an issue during normal runs, the excuses might be
built multiple times during a hint-tester run and should not accumulate
during the run.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-03-16 16:31:04 +00:00
Adam D. Barratt
33bc6cb7fb hint_tester: accept all hints
For those hints which don't cause an immediate run (i.e. other than
easy, hint and force-hint), re-build the excuses after adding the
hint so that the actions are accounted for in later hints.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-03-16 16:30:18 +00:00
Adam D. Barratt
8c15568b8f Don't remove arch:all packages when migrating binNMUs via *pu
A binNMU does not rebuild architecture:all packages. For migrations via
unstable this is not a problem as the packages corresponding to the
source upload are still present. However, for *pu migrations, the set of
packages considered only includes architecture-specific packages. In
order to avoid installability issues with packages in testing which
depend on the arch:all packages, we leave the existing arch:all packages
in testing and only consider the arch-specific packages for migration.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-03-03 17:23:38 +00:00
Adam D. Barratt
2a590ff095 Replace a single-use list in the smooth updates checks with any()
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-02-06 19:56:04 +00:00
Adam D. Barratt
acec4ff6e3 Use any() in tpu o-o-d checks rather than throwaway lists
The test only needs to consider whether any binaries exist on a given
arch, not how many of them there are (or indeed which binaries they are)

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-02-06 19:09:04 +00:00
Adam D. Barratt
25cc2c3b36 Split the tpu o-o-d checks up to make them more readable
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-02-06 19:05:16 +00:00
Adam D. Barratt
9f4af0171e Fix tpu out-of-date checks for sources with multiple versions in tpu
When checking whether a tpu source has built on a particular arch, we
should only consider binaries produced by the latest version of the
source package in tpu.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-02-06 17:18:46 +00:00
Adam D. Barratt
74d1b70096 Don't flag unbuilt binary *pu binNMUs for removal in excuses
Originally when binNMUs for packages in testing were scheduled, the
binaries would be installed into tpu with no accompanying source. This
allowed the "removed binary" portions of should_upgrade_srcarch() to be
skipped (as britney had generated a faux source record).

dak now adds the source package to tpu in such cases which lead to the
"removed binary" checks being applied to binNMUs in tpu with potentially
destructive consequences. For example, if a package with amd64 and i386
binaries in testing were binNMUed on just amd64, britney would notice
that there were no i386 binaries in tpu and subsequently remove the i386
binaries from testing as well.

In order to resolve this, we skip the check for removed binaries when
building excuses for a binary-only migration via *pu.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-02-02 22:47:56 +00:00
Adam D. Barratt
67a181d8fc Merge excuses "unblock" parsing for unstable and *pu
The primary difference between the parsing / output of excuses for *pu
and unstable unblocks is the messages displayed. We can therefore remove
some duplication by having the same code handle both, outputting the
appropriate message.

Where a *pu package is also the subject of a "block" (most likely during
a freeze) we only supply the "needs approval" or "approved" message;
previously both "needs approval" and "not touching due to block" were
output, which is redundant. We ensure that there is always a dummy
"block" hint for *pu packages to provide the "needs approval" behaviour.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-01-18 18:52:07 +00:00
Adam D. Barratt
83f25ca602 Remove remaining "approve" hint support code
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-01-18 18:47:06 +00:00
Adam D. Barratt
ce69eb3345 Make "approve" an alias for "unblock"
An "approve" hint is effectively an unblock for tpu packages and britney
is already quiite happy to parse "unblock $pkg/$tpuversion".

We allow the old name to be used for compatibility and replace it with
"unblock" internally.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-01-18 18:42:10 +00:00
Niels Thykier
b0172d74c4 Ignore sources only referenced by Built-Using
Signed-off-by: Niels Thykier <niels@thykier.net>
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-01-12 12:31:17 +01:00
Colin Watson
9388587b95 merge lp:~ubuntu-archive/britney/britney2 2012-12-28 05:00:22 +00:00
Adam D. Barratt
2ccfc4120c Clarify the checks for existing binary packages in doop_source()
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2012-12-25 22:16:05 +00:00
Niels Thykier
c74ee2878b Always include providers of virtual packages in rdepends
Signed-off-by: Niels Thykier <niels@thykier.net>
2012-12-25 19:58:47 +00:00
Adam D. Barratt
e605091f24 Fix excuse invalidation checks for arch-specific dependencies
A dependency on an arch-specific package which is not a valid candidate
should lead to the depending package not being a candidate.

For now we ensure that the generated excuses output remains the same,
so that we don't have to wait for consumers to adapt to a new format.
Changing the output format should be revisited at a later point.

See Debian bug #693068.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2012-12-25 18:28:14 +00:00
Adam D. Barratt
c5d9a8eaa5 Remove two unused variables from iter_packages()
The code using the variables was refactored in 694d614b. As a result
they were still set in iter_packages() but never subsequently used.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2012-12-24 20:32:23 +00:00
Adam D. Barratt
d11c40d4b8 Make obsolete source package removal slightly more intelligent
Previously a package which became obsolete during a run would not be
automatically removed until the next run. This was due to the fact that
sources[][BINARIES] is not updated during the run. Instead, we build a
list of source packages which produce at least one binary and then
remove any packages not in that list.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2012-12-15 18:07:06 +00:00
Colin Watson
a3b7baf3e5 Never promote a package unless it has at least one up-to-date binary on at least one architecture, regardless of exceptions for architectures that aren't keeping up. 2012-12-03 18:01:09 +00:00
Colin Watson
93291250c6 avoid duplicates in source BINARIES element when multiple versions of a package (e.g. Architecture: all) are present 2012-11-13 12:42:51 +00:00
Colin Watson
0211319d6b update contact information for Ubuntu 2012-11-09 10:48:04 +00:00
Colin Watson
15b3eb2cba fix handling of removed Architecture: all packages while merging binaries 2012-11-08 14:01:52 +00:00
Colin Watson
8974b4d77b properly isolate source and target sources entries when merging 2012-11-07 18:49:18 +00:00
Colin Watson
9a714f2213 optionally merge packages from testing to unstable, to cope with a partial unstable suite 2012-11-04 00:03:26 +00:00
Colin Watson
82a1d9f15d only write delta if delta_output is configured 2012-10-29 17:38:34 +00:00
Colin Watson
afe4ce0a4c binary-only promotions are still by source package, so look them up appropriately 2012-10-29 16:54:48 +00:00
Colin Watson
2034272f1c handle binary-only promotions when writing delta 2012-10-29 16:48:49 +00:00
Colin Watson
c15542af29 buildd.debian.org -> launchpad.net 2012-10-23 15:48:47 +01:00
Colin Watson
e2403eade5 Write upgrade delta to output/Delta. 2012-10-22 15:10:05 +01:00
Colin Watson
8254582a55 Make tpu optional. 2012-10-22 14:35:49 +01:00
Colin Watson
e8beb5f5e0 Make removal of obsolete source packages configurable, and disable it for Ubuntu for now. 2012-10-22 13:55:11 +01:00
Colin Watson
cacf326907 Skip bug-based processing if BugsV is missing. 2012-10-22 13:52:14 +01:00
Colin Watson
a9f50bc26b Use default urgency for all packages if Urgencies is missing. 2012-10-22 13:50:07 +01:00