427 Commits

Author SHA1 Message Date
Adam D. Barratt
e06f514b80 Update hint permissions in line with team changes.
- Add ivodd
- Remove luk, he, vorlon and neilm
- Move faw to STANDARD

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-11-28 20:56:11 +00:00
Niels Thykier
d3dea1be37 Remove the old installability tester
Signed-off-by: Niels Thykier <niels@thykier.net>
2013-11-27 19:54:22 +01:00
Niels Thykier
4030b5cb22 Rewrite installability tester
The new Installability Tester (IT) module replaces the remaining
C-parts.  Unlike C-implementation, it does not give up and emit an
"AIEEE" half-way through.

In order to determine installability, it uses two sets "musts" and
"never".  As the names suggest, the sets represents the packages that
must be (co-)installable with the package being tested and those that
can never be co-installable.  For a package to be installable, "musts"
and "never" have remain disjoint.

These sets are also used to reduce the number of alternatives that are
available to satisfy a given dependency.  When these sets are unable
to remove the choice completely, the new IT defers the choice to later.
This occasionally reduces backtracking as a later package may conflict
or unconditionally depend on one of the remaining alternatives.

Signed-off-by: Niels Thykier <niels@thykier.net>
2013-11-27 19:46:59 +01:00
Niels Thykier
f791c96f47 Defer building the nun-inst cache
This is needed for the next commit, where the "per-arch"
installability tester disappears.

Signed-off-by: Niels Thykier <niels@thykier.net>
2013-11-27 19:46:59 +01:00
Julien Cristau
db5c81f71c Add ia64 to {fucked,break}_arches
Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-11-24 10:31:11 +01:00
Julien Cristau
498459d5e6 britney.conf: remove s390
Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-10-14 20:41:38 +02:00
Niels Thykier
f62025871f britney.conf: Add "auto-removals" as hinter
Signed-off-by: Niels Thykier <niels@thykier.net>
2013-09-29 19:53:15 +02:00
Adam D. Barratt
8bbdf65d07 lib/dpkg.c: don't try to dereference a NULL pointer
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-09-24 04:56:27 +00:00
Adam D. Barratt
e643daad28 Apply various typo and clarity fixes
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-09-18 20:40:00 +00:00
Adam D. Barratt
a881298103 Remove the C library placeholder for "pre-depends"
We stopped populating the element with real data some time ago, it's
time to drop it entirely.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-09-18 10:00:04 +00:00
Colin Watson
4576882338 Support :any architecture qualifiers for multiarch
Multiarch adds a Depends: foo:any syntax, permitted only if the
target of the dependency is "Multi-Arch: allowed".  This has
been supported by dpkg and apt for some time and is now safe to
use in unstable.

[Adam D. Barratt: adjusted to use consts.py]

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-09-17 20:07:38 +00:00
Adam D. Barratt
84718b7083 Make hint comparison more intelligent
"easy foo/1 bar/2" and "easy bar/2 foo/1" are simply different ways of
writing the same hint, so the corresponding Hint objects should compare
as equal.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-09-11 19:50:33 +00:00
Adam D. Barratt
0e3d363598 Add sanity-checking of hints
So far we only check that hints which should have version information
do (and those which should not do not).

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-09-11 19:25:57 +00:00
Adam D. Barratt
54b641945d Update copyright
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-09-07 18:21:00 +00:00
Adam D. Barratt
f1291b7463 Rename make_hintitem() to make_migrationitem()
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-09-07 18:19:17 +00:00
Adam D. Barratt
cf676f4105 britney_util: fix imports for the MigrationItem class rename
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-09-07 17:08:21 +00:00
Adam D. Barratt
504c0f9d0a hints: use MigrationItem
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-09-07 17:07:32 +00:00
Adam D. Barratt
e75c4a4815 Make MigrationItems versionned by default
As HintItem is now redundant, also replace it with a new class -
UnversionnedMigrationItem - and migrate users of the classes to use
the new versions.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-09-07 17:01:58 +00:00
Adam D. Barratt
89bc7c8d61 Replace uses of MigrationItem with HintItem
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-09-07 16:59:06 +00:00
Adam D. Barratt
629c80937d britney_util: add make_hintitem()
This function allows a textual representation of a package (e.g.
"foo/amd64") to be convered to a HintItem().

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-09-07 16:57:35 +00:00
Niels Thykier
09e9e16431 Reduce the number of "used-once" lists
Where possible, avoid creating a list only to discard immediately
afterwards.  Example:

"""
  for x in sorted([x for x in ...]):
      ...
"""

Creates a list, passes it to sorted, which generates a new list and
sorts that copy.  Since sorted accepts an iterable, we can avoid the
"inner" list and just pass it a generator expression instead.

Signed-off-by: Niels Thykier <niels@thykier.net>
2013-08-11 15:23:45 +02:00
Niels Thykier
c554bffee4 Move newlyuninst to britney_util
Also, renamed it for consistency with the other X_uninst functions.

Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-10 20:01:04 +02:00
Niels Thykier
8c911748c8 Move eval_uninst to britney_util
Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-10 20:01:04 +02:00
Niels Thykier
a2d63aed07 Move write_heidi to britney_util
Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-10 20:01:04 +02:00
Niels Thykier
82771fb4ee Move {read,write}_nuninst to britney_util
Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-10 20:01:04 +02:00
Niels Thykier
d959541722 Move get_reverse_tree into britney_util
Rename get_reverse_tree and move it to britney_util with slightly
different arguments.

Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-10 20:01:04 +02:00
Niels Thykier
c34cdddded register_reverses: factor out a[0]
Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-10 20:01:04 +02:00
Niels Thykier
d3401d4829 Move the package loop into register_reverses
By moving the package loop inside register_reverses, it will be
invoked a lot less (reducing the overhead of invoking functions).

Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-10 20:01:04 +02:00
Niels Thykier
9dc6d1415e Move register_reverses to britney_util
Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-10 20:01:04 +02:00
Niels Thykier
88e8ff6005 Add container filters and use it to refactor get_reverse_tree
Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-10 20:01:04 +02:00
Niels Thykier
11fab49365 Merge get_reverse_tree and get_full_tree
Beside some "minor differences" they were computing the same "tree"
(read: "graph"), so merge them into one (get_reverse_tree) and
properly document return value and special cases.

Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-10 20:01:03 +02:00
Niels Thykier
5026e9ee6e Move old_libraries_format to britney_util
Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-10 20:01:03 +02:00
Niels Thykier
568d5f809c Move "undo_changes" to britney_util
Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-10 20:01:03 +02:00
Niels Thykier
df47518dae Move "constants" to a new consts module
Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-10 20:01:03 +02:00
Niels Thykier
9e14cb520c Move same_source to separate module
Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-10 20:01:03 +02:00
Niels Thykier
b505a5a357 Remove unused write_bugs
The method was last invoked in 2008 (commit 3dc3be1c7).

Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-10 20:01:03 +02:00
Niels Thykier
1942e00ee1 britney: Do not consider "smooth-updates-only" interesting
Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-09 18:11:22 +02:00
Niels Thykier
2477033786 britney: Refactor arguments of method
Rewrite the arguments of find_upgraded_binaries to not use an instance
of MigrationItem.  We want to call it at a time where we have not
created MigrationItems yet.

Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-09 18:11:22 +02:00
Niels Thykier
3df18bcd53 britney: Refactor a part of doop_source into its own method
Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-09 18:02:55 +02:00
Niels Thykier
14cefe379e INSTALL: Update package list to use python2.7
Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-07 15:47:04 +02:00
Niels Thykier
1641706305 Migrate to python2.7
Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-07 15:37:15 +02:00
Adam D. Barratt
527d7f03e6 Remove two "the the"s
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-07-06 12:42:52 +00:00
Adam D. Barratt
141d62cca1 Correct a thinko in a comment in should_upgrade_srcarch()
A removal hint will generate both source and per-arch excuses if the
version of the source package differs between testing and unstable. If
the source versions are the same then only the per-arch excuses will
be generated.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-07-06 11:26:11 +00:00
Adam D. Barratt
6d8aec3a6a Improve comments in should_upgrade_srcarch()
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-07-06 11:21:53 +00:00
Colin Watson
33d905fc3a Apply undo list in reverse order.
In rare cases with hints with overlapping virtual packages provided by
different sources, this can make a difference.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-07-05 18:06:40 +00:00
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
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
Adam D. Barratt
9ee37c5160 Enable support for p-u packages
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-06-12 19:39:27 +00: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
c7f27a8225 Re-enable smooth-updates
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-05-05 11:09:37 +00:00