Adam D. Barratt
df6f50bbd5
Make the recursive reverse depenedency list building more efficient
...
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
14 years ago
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.
14 years ago
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.
14 years ago
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.
14 years ago
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.
14 years ago
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.
14 years ago
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 5e3a245759
to include cases where the tpu binNMUs are explicitly included in an "easy"
or "hint" rather than processed as part of the main run.
14 years ago
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.
14 years ago
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>
14 years ago
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>
14 years ago
Adam D. Barratt
b6d75ce442
Fix a typo
...
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
14 years ago
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>
14 years ago
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"
14 years ago
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>
14 years ago
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.
14 years ago
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
14 years ago
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.
14 years ago
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.
15 years ago
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>
15 years ago
Adam D. Barratt
370d31b4ef
Use self.__log() when warning about malformed BugsV lines
...
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
15 years ago
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>
15 years ago
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>
15 years ago
Adam D. Barratt
644caa3f31
Fix typoes and grammar
...
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
15 years ago
Adam D. Barratt
fa6b95e0b3
Remove duplicate binary packages when building package lists
...
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
15 years ago
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>
15 years ago
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.
15 years ago
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>
15 years ago
Adam D. Barratt
b711ef84a0
Support bugs filed against src:foo
...
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
Currently a bug against src:foo is treated as if it were filed against
foo. As both may exist in the input list, we accumulate bugs for each
package rather than assuming package names are unique.
15 years ago
Adam D. Barratt
9336be8d7d
Print a warning about malformed lines in the RC-bug list files
...
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
15 years ago
Adam D. Barratt
975ac48a41
write_bugs(): Fix format string; the bug list is a string, not a number
...
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
15 years ago
Adam D. Barratt
15f02bddd6
Update documentation relating to release-critical bugs
...
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
britney now uses the "BugsV" files rather than "Bugs". The new
files contain a list of bugs, not a count, and the migration
of the package is dependent on there being no new RC bugs in unstable
relative to testing, rather than simply fewer RC bugs.
15 years ago
Jurij Smakov
bb1d1a6f0a
Add support for Breaks to b2.
...
Signed-off-by: Jurij Smakov <jurij@droopy.oc.cox.net>
15 years ago
Jurij Smakov
f61e151946
Do not exclude fake source packages from t-p-u processing, as they provide a mechanism for sourceless packages to propagate to testing through t-p-u. This change removes some b1/b2 diffs.
...
Signed-off-by: Jurij Smakov <jurij@droopy.oc.cox.net>
15 years ago
Jurij Smakov
f847e1b3c4
Return all packages solving a dep through virtual packages (like b1 does), not just the first one. This eliminates some b1/b2 excuse diffs.
...
Signed-off-by: Jurij Smakov <jurij@droopy.oc.cox.net>
15 years ago
Jurij Smakov
e522e541e6
More hints -> self.hints fixes.
...
Signed-off-by: Jurij Smakov <jurij@droopy.oc.cox.net>
15 years ago
Jurij Smakov
f52dea4d51
Use correct self.hints instead of non-existent hints.
...
Signed-off-by: Jurij Smakov <jurij@droopy.oc.cox.net>
15 years ago
Jurij Smakov
cda3145d95
Add udeb blocking/unblocking support for b2.
...
Signed-off-by: Jurij Smakov <jurij@debian.org>
15 years ago
Adeodato Simó
cf2bc3cbfb
Go back to Python 2.4, since there are buggy results with 2.5.
...
(In particular, britney2 thinks all packages are uninstallable when
executing under Python 2.5.)
16 years ago
Adeodato Simó
75438d5854
britney.py: make executable.
16 years ago
Adeodato Simó
4f53a3db15
Print to stdout without --hint-tester, and print to output.txt with it.
16 years ago
Fabio Tranchitella
a44222fc44
Fixed a typo in write_control: we really want to write the maintainer, so
...
please use the correct field name.
17 years ago
Fabio Tranchitella
633eb5301f
Fix a bug in write_control: we use lists and not dictionaries for storing
...
source packages in memory.
17 years ago
Adeodato Simó
c16bb0cc20
Compare version of approve hints against t-p-u and not testing.
...
source_u is the package as found in the origin distribution, normally
unstable, but t-p-u for t-p-u packages.
Acked by Fabio on IRC.
17 years ago
Adeodato Simó
b426d2a202
Make hints['approved'] also a dictionary.
17 years ago
Fabio Tranchitella
83022051b1
Do not read approvals, they are not used anymore; use the "approve" hints for
...
that purpose instead.
17 years ago
Fabio Tranchitella
872d087b56
My interpretation of britney's behaviour was wrong (and, strange enough, the
...
comment was correct); added a missing "not" for the if statement's condition.
17 years ago
Fabio Tranchitella
523bbf139b
Applied patches from dato: make check_out emit a more human-readable output,
...
rename --check-out to --print-uninst; do not override the default
NOBREAKALL_ARCHES value when running in print-uninst mode.
17 years ago
Fabio Tranchitella
45322a7fc6
In fact, running in check-out mode all the architectures are nobreakarch; thanks dato.
17 years ago
Fabio Tranchitella
ac69b8d8b7
in check-out mode, nobreakall shuold be empty
17 years ago
Fabio Tranchitella
1768a56d7b
Added check-out mode for britney.py
17 years ago
Fabio Tranchitella
024770f558
Do not break if SMOOTH_UPDATES is empty.
17 years ago
Fabio Tranchitella
752b3aab77
Implemented history for the command line hint tester (patch from dato).
17 years ago
Fabio Tranchitella
2cb47f7af2
Updates for arm/armel.
17 years ago
Fabio Tranchitella
469d67fca2
This should fix the diffs, armel is a BREAK_ARCH.
17 years ago
Fabio Tranchitella
52ad4f0e26
Synchronization of hinters and permissions from the original version.
17 years ago
Fabio Tranchitella
41bdd841cf
Implemented the --hints="urgent foo/1; force bar/2". The hints are used
...
as they were coming from the user "command-line", and influence both the
excuses and the upgrade runs. This option is very useful in combination
with the hint tester interactive interface.
17 years ago
Fabio Tranchitella
0db947c498
Let's enable the second round again, we'll discuss about optimizations
...
later.
17 years ago
Fabio Tranchitella
24cf4c0dbb
Implemented the hint-tester interface to interactively test easy, force-hint and hint hints; removed djpig from the hinters.
17 years ago
Fabio Tranchitella
0b5c20b589
You can now configure the path for the HeidiResult file.
17 years ago
Fabio Tranchitella
20621c1a27
At this point, we could schedule a periodic diff between the original excuses and the new ones; everything seems to be the same (excluding the usual bugs in the
...
old implementation).
17 years ago
Fabio Tranchitella
7fb9f58bb8
So well, so good: the excuses are very close to the one generated by the original Britney. Still a few differences, which in my opinion are bugs in the old one;
...
I don't want to implement those bugs. Full stop.
17 years ago
Fabio Tranchitella
4987a3c056
Fixed a typo.
17 years ago
Fabio Tranchitella
3dc3be1c72
Merge with the last official release of Britney.
17 years ago
Fabio Tranchitella
d16584a8ca
Fixed a strange behaviour of extension-based testing system.
18 years ago
Fabio Tranchitella
9517eb810a
Small output enhancements.
18 years ago
Fabio Tranchitella
35a0a044b3
Added auto-hinter option; updated architecture configuration.
18 years ago
Fabio Tranchitella
e6d3628aef
Fixed a stupid bug in the hinting code.
18 years ago
Fabio Tranchitella
76b3a8cf3c
Fixed a pointer problem which caused segfaults when dealing with virtual packages; fixed a bug in source removal; moved add_binary and remove_binary from the britney module to the Packages object.
18 years ago
Fabio Tranchitella
3825241619
Britney ported to is_installable: the code runs, but more testing is needed.
18 years ago
Fabio Tranchitella
758b0718bc
Removed a call to keys method, it is useless.
18 years ago
Fabio Tranchitella
f4db64b83a
Something went wrong with the last commit: restored a single line.
18 years ago
Fabio Tranchitella
070ce39f96
Small performance improvement: do not copy the list of broken packages over and over, just mark when it is changed.
18 years ago
Fabio Tranchitella
3327c07bd9
Improve memory usage: use a list instead of dictionary to store packages; this reduce the memory usage of a 50% factor.
18 years ago
Fabio Tranchitella
b8b362aaf5
Final (I hope) commit, the code is fully working and fully compatible with the old britney (minus the last 5 randoms tries).
19 years ago
Fabio Tranchitella
90a090767e
Undo changes if the hint is not successful.
19 years ago
Fabio Tranchitella
333b76f04c
Several (last, I hope) fixes.
19 years ago
Fabio Tranchitella
ab05768171
Several fixes.
19 years ago
Fabio Tranchitella
53a2923fea
Output enhancements; small changes for the do_all method.
19 years ago
Fabio Tranchitella
3c58b798cd
Fixed a bunch of minor issues with the output.
19 years ago
Fabio Tranchitella
c313a5f644
Cosmetic change.
19 years ago
Fabio Tranchitella
d966ada77b
Fixed a cosmetic bug.
19 years ago
Fabio Tranchitella
da58215dd1
Fixed a bug: conflicts with virtual packages in check_conflicts.
19 years ago
Fabio Tranchitella
fd15f44b0c
Fixed a bug in the conflicts checker.
19 years ago
Fabio Tranchitella
56ed063aab
Run the non-installability check of the archive before loading all the architectures; added a switch to use the cached value instead of building it from the scratch.
19 years ago
Fabio Tranchitella
6272abd122
Merged with new upstream release (thanks, aj).
19 years ago
Fabio Tranchitella
6078ef1c2d
It seems that old britney changed behaviour regarding versioned dependencies on virtual packages; modified TODO and BUGS.
19 years ago
Fabio Tranchitella
61e48c2229
Small fixes for the update excuses.
19 years ago
Fabio Tranchitella
da94ff9457
Handle single architecture testing-proposed-updates update.
19 years ago
Fabio Tranchitella
b0ef0af348
Fixes for single-architecture updates.
19 years ago
Fabio Tranchitella
8c9bac0eea
Implemented support for old libraries (enabled by default if --compatible is not used).
19 years ago
Fabio Tranchitella
d461205430
Implemented auto-hinter.
19 years ago
Fabio Tranchitella
14e8d8887b
Removed import of upgrade, it is not in the repository.
19 years ago
Fabio Tranchitella
9f439cb304
Fixed a typo.
19 years ago
Fabio Tranchitella
330380784a
Implemented control file rewriter.
19 years ago
Fabio Tranchitella
185e4b3ab2
Implemented undo for hints.
19 years ago
Fabio Tranchitella
7c3083e8ae
Fixed a few FIXME entries.
19 years ago
Fabio Tranchitella
a852f13834
Fixed a bug in iter_packages: we dropped a package at the end of the first iteration.
19 years ago
Fabio Tranchitella
6fa3cd188d
A little more on hints, almost completed.
19 years ago
Fabio Tranchitella
04e735af4b
Implemented output stuff and half of the hints processing.
19 years ago
Fabio Tranchitella
90768aa4e3
Improved performances sorting in a smart way the list of actions (only enabled if --compatible is not used).
19 years ago
Fabio Tranchitella
dc1a84151d
Fixed the undo for single architecture updates.
19 years ago
Fabio Tranchitella
db63948c5f
Improved performances sorting actions before UpgradeRun.
19 years ago
Fabio Tranchitella
3a323bdc41
Performance improvements and detailed documentation for the UpgradeRun.
19 years ago
Fabio Tranchitella
1f9ba4410c
Other fixes.
19 years ago
Fabio Tranchitella
b57aefed68
Fixes for doop_source: update the virtual packages list while processing actions.
19 years ago
Fabio Tranchitella
e81aa4250b
Small fixes for UpgradeRun, which is almost complete.
19 years ago
Fabio Tranchitella
6f69de7da0
Several improvements in algorithms and performances.
19 years ago
Fabio Tranchitella
a9e7101d65
Implemented --actions command line option.
19 years ago
Fabio Tranchitella
9802ae9914
New algorithm for conflicts checks; improved general performances.
19 years ago
Fabio Tranchitella
f96887ca41
Fixed a bug in iter_packages for single-arch operations.
19 years ago
Fabio Tranchitella
0cc91e9a28
Removed unused variables.
19 years ago
Fabio Tranchitella
b21863f9fd
Minor performance improvements.
19 years ago
Fabio Tranchitella
1df9db222d
Performance improvements.
19 years ago
Fabio Tranchitella
b6b677620b
Added a list of known bugs for the old britney, fixed a bug while evaluating nuninst.
19 years ago
Fabio Tranchitella
f19c391289
Ops, I missed this patch.
19 years ago
Fabio Tranchitella
24674215cd
iter_packages eat the list, so we need to pass a copy.
19 years ago
Fabio Tranchitella
6abbd90bfc
Several fixes for the output file; added support for decrements of the uninstallability count.
19 years ago
Fabio Tranchitella
88fefc93df
Added reverse conflicts to packages: this is implemented after some discussion with aj in order to catch in advance packages which are uninstallable after a conflicting package in their dependency tree changes.
19 years ago
Fabio Tranchitella
caa3c19dcd
Small changes for the output file.
19 years ago
Fabio Tranchitella
728cfa7d6c
Britney allows versioned dependencies on virtual packages while generating excuses but not while executing UpgradeRun. This seems weird to me, but I have to stay with it as long as I need to compare my output with the original one.
19 years ago
Fabio Tranchitella
f61981a611
Register reverse dependencies for real packages which provides virtual packages.
19 years ago
Fabio Tranchitella
c6947cfefb
Track reverse dependencies for new binaries, too.
19 years ago
Fabio Tranchitella
199dcbd927
The "I don't know why I chose this job" changeset: fixed the undo code.
19 years ago
Fabio Tranchitella
17bade51a7
First implementation of conflicts for UpgradeRun.
19 years ago
Fabio Tranchitella
e3b6b42181
Support for single-architecture updates.
19 years ago
Fabio Tranchitella
db59ded380
Small (silly?) optimization and variable rename.
19 years ago
Fabio Tranchitella
4c244612e5
Fixed a bug in broken reverse-depending packages: we need to loop untill no changes are detected.
19 years ago
Fabio Tranchitella
8bd331e037
Several important fixes to excuse generation and upgraderun; rebuild documentation.
19 years ago
Fabio Tranchitella
5183a97046
Fixed a (stupid) typo.
19 years ago
Fabio Tranchitella
e8f90413a1
Several improvements for UpgradeRun code.
19 years ago
Fabio Tranchitella
3e75f09c49
Fixed a bug for binNMUs detect.
19 years ago
Fabio Tranchitella
e08abbcb44
First implementation of UpgradeRun, actually limited to removed sources.
19 years ago
Fabio Tranchitella
82bafce7a3
Removed rdepends generation, it is probably too much cpu intensive and could be computed on-line.
...
This reduce also the memory usage of Britney, too.
19 years ago
Fabio Tranchitella
ec4469c589
Added a verbose explanation of how the excuses are generated as docstring for the module britney.
19 years ago
Fabio Tranchitella
f7b9bdc1f4
Support for fake source packages, which solved the last compatibility issues for the old britney code.
...
Added documentation and comments to explain the code. It is possible to generate HTML and LaTeX documentation using doxygen.
19 years ago
Fabio Tranchitella
8ba92ccadb
Minor fixes for excuse generation.
19 years ago
Fabio Tranchitella
b1603db2e4
Initial import, excuses generation almost working.
19 years ago