760 Commits

Author SHA1 Message Date
Adam D. Barratt
6abb29a8e6 Merge and re-factor some pu and tpu tests
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-07-27 09:38:27 +00:00
Adam D. Barratt
b3d9254492 Add initial support for pulling updates from stable-proposed-updates
This is most likely to be useful near the beginning of a release cycle,
when the versions of a package in stable and testing are the same and
the new version of the package is unable to migrate from unstable for
some reason.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-07-27 09:30:00 +00:00
Adam D. Barratt
c0e15035d1 Make a variable name more descriptive (first -. circular-first)
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-07-27 08:43:02 +00:00
Adam D. Barratt
ad527d48a1 Enhance the auto-hinter to support non-circular dependencies
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-07-27 08:41:17 +00:00
Adam D. Barratt
db6ccbf438 Simplify (and fix) logic for assigning section "faux" to fake sources 2011-07-24 08:44:05 +00:00
Philipp Kern
a088234d3c britney.py: turn on unbuffered writing 2011-07-23 18:40:03 +00:00
Adam D. Barratt
daa08df3c4 Fix typoed method name. Thanks, Julien Cristau. 2011-06-30 17:45:44 +00:00
Adam D. Barratt
863f0b5952 Re-enable writing of "Dates" at the end of the run.
The permissions issues which led to the writing being disabled no longer
exist and not persisting the date list makes b2 unsuitable for use as a
primary implementation.
2011-06-28 19:13:11 +00:00
Adam D. Barratt
e23b837aad List packages which became uninstallable during the run (if any) 2011-06-28 19:10:13 +00:00
Adam D. Barratt
dec87f26ed Documentation typo / grammar fixes
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-05-31 20:57:59 +00:00
Adam D. Barratt
709ea952bb Ensure reverse-dependencies of superseded packages are always checked.
If a binary package being processed as part of a hint has moved source
packages, the installability checks for the new version of the binary
need to include the reverse-dependency information from the previous
version.  In order to allow this, modify doop_source() to take an
optional list of undo information and iter_packages() to pass such
a list when processing hints.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-05-30 19:15:54 +00:00
Adam D. Barratt
a8e4ce0063 Replace references to "not installable" packages with "non-installable"
This reduces the number of ways in which we refer to uninstallable packages
to two.  Those should probably be unified further to be consistent across
all parts of the code, but in the meantime this ensures that methods are
internally consistent in their terminology.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-05-20 20:40:48 +00:00
Adam D. Barratt
47a0dfc896 Stop claiming to be reading/writing bug counts.
The bug data has contained lists of bugs rather than simple counts for some
time now.  Update the log messages to reflect this reality.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-05-20 20:40:06 +00:00
Adam D. Barratt
0cf9634527 Typo fix ("builded" -> "built")
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-05-19 07:56:17 +00:00
Adam D. Barratt
4cfc17d09b Fix incorrect uninstallability counters caused by failed "easy" hints
When undoing the removal of a binary package by an "easy" hint, ensure
that the apt system is updated with the correct version of the package.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-05-18 18:28:50 +00:00
Adam D. Barratt
347022bb01 Fix handling of arch:all to arch:any transitions
Given a package where the version in testing is arch:all and uninstallable
on architecture $arch and the version in unstable is arch:any but still
uninstallable on $arch, we need to ensure that installability checks add the
package to $arch's uninstallble list rather than just the list for
${arch}+all.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-05-18 17:38:05 +00:00
Adam D. Barratt
c0701517f6 Fix up attempts to access the lists of RC bugs by the wrong names
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-05-14 22:43:30 +00:00
Adam D. Barratt
a8332058ee Improve handling of bugs listed against src:foo
Rather than mapping "src:foo" to "foo" whilst building the bug hashes,
we store the src: bugs "as is" in the hash, and then include them in the
list of relevant bugs when building the list for a source package.

This avoids a situation where a bug filed against "src:foo" can impede
the migration of the binary package "foo", built from a different source
package.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-05-14 16:42:49 +00:00
Adam D. Barratt
b36fb9a2ce One more reverse-dependency move to get_reverse_tree()
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-05-09 19:27:32 +00:00
Adam D. Barratt
818d3ebd45 Make all reverse dependency checks use get_reverse_tree()
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-05-09 19:19:04 +00:00
Adam D. Barratt
d4a025bf42 Move recursive reverse dependency calculation into get_reverse_tree()
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-05-09 19:15:05 +00:00
Adam D. Barratt
ef71f0e33a When undoing a hint, remove new binaries before re-adding those removed
If new binary packages are removed from the system afer the original
packages have been re-introduced, a binary package which has moved
between source packages may be removed entirely.  See Debian bug #624716
for more details.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-05-04 18:54:07 +00:00
Mehdi Dogguy
ed745af789 Update buildd links (s@build.php@status/logs.php@) 2011-04-11 12:48:11 +00:00
Adam D. Barratt
df6f50bbd5 Make the recursive reverse depenedency list building more efficient
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-03-08 16:01:54 +00:00
Adam D. Barratt
de312e4138 Add support for the python-apt 0.8 API.
Starting with version 0.7.100, python-apt introduced a new API which
replaced several functions which created objects with real classes and
updated a number of method names to be PEP8 compliant.
2011-03-06 20:52:05 +00:00
Adam D. Barratt
a81988592a Don't try to build dependency trees for non-existent packages
get_full_tree may be passed an initial package which does not exist in the
target suite, for example because a package declares an obsolete conflict
on a second package which has subsequently been removed.
2011-03-01 23:54:39 +00:00
Adam D. Barratt
e47201d0f2 Correctly handle uninstallable arch:all to installable arch:any moves
If the package was previously arch:all and uninstallable and has moved to
being architecture-dependent, becoming installable in the process, then it
will not be in the architecture-dependent uninstallability set; we
therefore should try removing it from that set.
2011-03-01 23:40:32 +00:00
Adam D. Barratt
ac61205d02 Improve the checks for affected packages during a sourceful update
When marking the reverse dependencies of each binary package as affected
by a sourceful update to testing, the reverse dependencies of those
packages are also affected, and so on.

This helps to avoid situations where the installability of immediate
reverse dependencies is unchanged, but that of other packages in the
dependency chain is altered, for example where alternative dependencies
are used.

See Debian bug #614249 for further details.
2011-03-01 23:35:12 +00:00
Adam D. Barratt
f7117c1ea4 Really make britney2 work with python 2.5
PyDict_Next()'s ppos argument should be a Py_ssize_t, not an int.  With
this change, britney2 no longer believes that all packages are
uninstallable.
2011-02-10 23:06:26 +00:00
Adam D. Barratt
38c842eb9e Correctly handle removal of failed tpu binNMUs in "easy"s or "hint"s
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>

This extends the scope of commit 5e3a245759e1c8f2bff9072ce2aced2a5c626f12
to include cases where the tpu binNMUs are explicitly included in an "easy"
or "hint" rather than processed as part of the main run.
2010-12-23 21:42:35 +00:00
Adam D. Barratt
5e3a245759 Properly remove failed tpu binNMUs from the result set
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>

When undoing the addition to the result set of a binNMU from tpu, the package
name from the hint will end in ${arch}_tpu, not ${arch}, so we should check
for both cases.  At the same time, reverse the sense of the associated test
to make the logic more obvious.
2010-12-23 20:54:14 +00:00
Adam D. Barratt
a8d8b8c451 Simplify the method of removing broken arch packages from the main list
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2010-11-03 19:05:46 +00:00
Adam D. Barratt
e74b600d7c Process tpu packages on broken arches in the broken architecture run
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2010-11-03 18:50:59 +00:00
Adam D. Barratt
b6d75ce442 Fix a typo
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2010-11-03 18:45:36 +00:00
Adam D. Barratt
6ac2a58e53 Stop trying to support partial removals from tpu; they make no sense
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2010-10-28 19:45:32 +00:00
Adam D. Barratt
19a7792982 Correctly handle binNMUs in t-p-u
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>

"${pkg}/${arch}_tpu" means "the tpu binary packages for $pkg on
architecture $arch", not "the unstable binary packages for $pkg on
architecture ${arch}_tpu"
2010-10-28 19:40:38 +00:00
Adam D. Barratt
a11f4f6cfe Ignore arch:all packages when checking t-p-u readiness
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2010-09-21 08:41:17 +00:00
Adam D. Barratt
a015c1ef63 Make "approve" hints require the tpu package to be built on all arches
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>

Previously, an "approve" hint would allow a package to migrate from
testing-proposed-updates to testing even if packages were not available
for some architectures on which the package existed in testing.

The t-p-u package must now have built on the same architectures as the
existing package in testing; the previous behaviour can be achieved by
combining "approve" and "force" hints.
2010-09-20 22:03:43 +00:00
Adam D. Barratt
4cdd25e517 Correctly process source packages in t-p-u
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>

t-p-u packages are identified by the package name ending in "_tpu", not
by the first character of the name doing so
2010-09-17 19:33:22 +00:00
Adam D. Barratt
0c948a03f8 Add implicit unblocks for t-p-u approvals
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>

t-p-u approval previously required both an "unblock" and an "approve"
hint if the package was blocked; the "approve" should be sufficient and
this is the simplest method of achieving that.

There are some cases where this does not quite do the right thing (e.g.
for a package which has both a t-p-u "approve" hint and an "unblock"
hint for the package in unstable) but it is preferable to requiring
t-p-u hints to be added in pairs always.
2010-09-17 18:49:46 +00:00
Adam D. Barratt
7bba1173e0 Increase the size of the tables used for storing package information
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>

If the internal tables used in the C module are not large enough to store
the list of discovered packages then checking installability becomes very
slow.
2010-06-23 19:03:40 +00:00
Adam D. Barratt
f6c8c52fc7 Sort the lists of old / new RC bugs before listing them
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2010-03-11 19:09:31 +00:00
Adam D. Barratt
370d31b4ef Use self.__log() when warning about malformed BugsV lines
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2010-02-28 17:19:06 +00:00
Adam D. Barratt
92cf5754fc Print a warning if there are no unblock{,-udeb} hints
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2010-02-28 14:44:37 +00:00
Adam D. Barratt
1e4a1aa727 Override unblock{,-udeb} hints based on the versions they apply to
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>

Based on patches to britney by Philipp Kern <pkern@debian.org>
2010-02-28 14:44:37 +00:00
Adam D. Barratt
644caa3f31 Fix typoes and grammar
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2010-02-28 14:44:37 +00:00
Adam D. Barratt
fa6b95e0b3 Remove duplicate binary packages when building package lists
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2010-02-28 14:44:36 +00:00
Adam D. Barratt
775cfc6f2b Modify the semantics of the "force" hint
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>

Allow a package which is a candidate but invalidated by one or
more dependencies to be "force"d.

Based on a patch to britney by Andreas Barth <aba@debian.org>
2010-02-28 14:44:36 +00:00
Adam D. Barratt
0cf4dc85f6 Only include the latest version of each source package
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>

The Sources file for unstable will contain multiple records for a single
source package when one or more architectures has out-of-date binaries.
As the latest version is that which will be considered for migration, only
that version should be added to the list of available sources.

This is not currently an issue in live use, as the data files are already
pre-processed by britney before being passed to britney2.
2010-02-28 14:44:36 +00:00
Adam D. Barratt
5809c672b7 Quote input used in URLs
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>

Based on a patch to britney by Marc Brockschmidt <he@debian.org>
2010-02-28 14:44:36 +00:00