561 Commits

Author SHA1 Message Date
Adam D. Barratt
418a9db9f9 Avoid marking more valid excuses as impossible.
Previously we could not reliably detect whether an excuse's dependency
from a source package to a binNMU was valid, as the excuse did not
contain sufficient information to determine the set of  architecture(s)
on which the dependency existed.

By modifying the representation of the dependency list in the excuse to
include an architecture list we can walk the relationships in reverse
in order to sanity-check the source -> binNMU dependency.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-08-03 20:53:38 +00:00
Adam D. Barratt
88bc3eeb5e Avoid marking some valid excuses as impossible.
When considering an excuse for pkg1/arch, a dependency on either of
pkg2/source or pkg2/arch should be considered acceptable so long
as there is a corresponding excuse.

Dependencies from pkg1/source to pkg2/arch will still be considered
"impossible", as pkg1's excuse does not contain any information
regarding the architecture(s) on which its dependency to pkg2 exists.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-08-02 18:46:17 +00:00
Adam D. Barratt
4958255e54 Stop referring to impossible dependencies as "unpossible".
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-08-02 17:36:03 +00:00
Adam D. Barratt
ddf31479e2 Fix up p-u optionality
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-07-27 16:14:52 +00:00
Adam D. Barratt
c0f3af69a7 Make reading of pu package lists optional
This allows the consideration of packages from proposed-updates to be
{dis,en}abled depending on whether the configuration file specifies
the path to the packages / sources files.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-07-27 09:42:40 +00:00
Adam D. Barratt
0187eaaee1 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
2e3dd20a36 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
b909f73d6a 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
20d7614b70 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
fa87a57536 Simplify (and fix) logic for assigning section "faux" to fake sources 2011-07-24 08:44:05 +00:00
Philipp Kern
ca27cd07db britney.py: turn on unbuffered writing 2011-07-23 18:40:03 +00:00
Adam D. Barratt
f7e6881b0b TODO: fix typoes; thanks, Julien Cristau 2011-07-06 18:31:45 +00:00
Adam D. Barratt
06fb3e7d6e TODO: obsolete in favour of the BTS 2011-07-06 18:26:55 +00:00
Adam D. Barratt
4b20a85291 TODO: Remove completed items 2011-07-06 16:29:41 +00:00
Adam D. Barratt
e2b6d344e0 Fix typoed method name. Thanks, Julien Cristau. 2011-06-30 17:45:44 +00:00
Adam D. Barratt
68e161a412 Drop madcoder, adeodato (commented out) and jurij's hint files 2011-06-29 20:49:41 +00:00
Adam D. Barratt
300bf06e99 Give nthykier "helper hints" 2011-06-29 12:14:53 +00:00
Adam D. Barratt
458bbb9a6f 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
ecb1c026fe List packages which became uninstallable during the run (if any) 2011-06-28 19:10:13 +00:00
Adam D. Barratt
bf50bc9782 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
62f56a7ec3 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
a2539aa849 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
1681787b0d 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
f1d94a1cee 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
8cd4057e1c 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
e5a80bf76f 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
e3921e2822 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
c0e4fb9550 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
5557543c8a 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
b6bef2c4ee 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
d74efb8655 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
5498c6c4a1 lib/dpkg.c: Also use SIZEOFHASHMAP for the sources hashes
Commit 7bba1173e02583a0dd669bde49fb91c0ea46f243 increased the size of the
binary package and virtual packages hash and introduced the constant
SIZEOFHASHMAP to ease further changes.

Apply the same change to the source package and source note hashes

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-05-09 15:06:36 +00:00
Adam D. Barratt
e2c424926e 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
5976b3885c Update buildd links (s@build.php@status/logs.php@) 2011-04-11 12:48:11 +00:00
Mehdi Dogguy
add7f512db Update buildd links (s@build.php@status/logs.php@) 2011-04-11 12:38:54 +00:00
Adam D. Barratt
6d771152ec 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
e2e4559a5b 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
d0279a36a6 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
89ace6b7f7 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
cfe3f37bb5 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
cb050dcfdb Update britney2's build requirements for Python 2.5 2011-02-10 23:19:14 +00:00
Adam D. Barratt
ff3fdfe07c 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
a2f9eac839 Drop hppa from the architecture list
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-02-03 18:47:16 +00:00
Adam D. Barratt
6ea0e4a591 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
6064c7eb82 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
654a4c2752 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
462e3c050d 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
6c592b6d3a 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
9252c5e623 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
b255fc75e8 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