733 Commits

Author SHA1 Message Date
Ivo De Decker
9d79ce7297 if hintsdir is defined, read hints from there
This introduces a new variable HINTSDIR, which overrides the location of the
Hints dir (normally it is read from the UNSTABLE dir).

Please note that this is the location of the dir that contains the Hints dir.

Signed-off-by: Niels Thykier <niels@thykier.net>
2013-12-06 22:45:01 +01:00
Ivo De Decker
cd242ff453 read hints earlier
This allow to do quicker test of the code that reads the hints.

Signed-off-by: Niels Thykier <niels@thykier.net>
2013-12-06 22:44:56 +01:00
Ivo De Decker
581204696c if outputdir is defined, write dates file there
This introduces a new variable OUTPUTDIR, which overrides the location where
the new dates file is written. This allow to run britney against a read-only
copy of the data.

Signed-off-by: Niels Thykier <niels@thykier.net>
2013-12-06 22:44:50 +01:00
Julien Cristau
7eef861a15 Fix urgency reading to obey 'low'
Set the default to maxint until we've read something.

Reported-by: Ivo De Decker <ivo.dedecker@ugent.be>
Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-12-02 20:48:06 +01:00
Adam D. Barratt
2f753eab70 Only output arch:all packages which correspond to the testing source
If an architecture is marked as fucked, britney's package list for that
architecture may include arch:all packages for an older version. When
outputting the result file, we should not include those packages as
they will lead to import failures.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-12-02 09:15:32 +00:00
Julien Cristau
7966ceae1a Change the default urgency setting to medium
But don't force urgency to medium for new packages, they can still be
low.

Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-12-01 19:01:19 +01:00
Adam D. Barratt
b71bf02575 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
ea4e4493a2 Remove the old installability tester
Signed-off-by: Niels Thykier <niels@thykier.net>
2013-11-27 19:54:22 +01:00
Niels Thykier
7051d5b0e9 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
cf84bcfa58 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
5b487768da Add ia64 to {fucked,break}_arches
Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-11-24 10:31:11 +01:00
Julien Cristau
7102bd114b britney.conf: remove s390
Signed-off-by: Julien Cristau <jcristau@debian.org>
2013-10-14 20:41:38 +02:00
Niels Thykier
b1dca8c2e5 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
1a211f04cf 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
69b3154d79 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
f2f9939f20 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
b9f6417351 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
a799ce3df1 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
16984f345c 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
253590ba27 Update copyright
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2013-09-07 18:21:00 +00:00
Adam D. Barratt
1b89f7fa22 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
77e8c656ff 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
26ad5a9392 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
f284e76cc4 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
909dd08542 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
27bdf0e666 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
c91cfe64ae 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
6c81d39c2f 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
9ad010f924 Move eval_uninst to britney_util
Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-10 20:01:04 +02:00
Niels Thykier
680457cbec Move write_heidi to britney_util
Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-10 20:01:04 +02:00
Niels Thykier
bf9362be83 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
1c144b3eb2 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
53012ea54b register_reverses: factor out a[0]
Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-10 20:01:04 +02:00
Niels Thykier
0aa2546956 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
5c1391da4f Move register_reverses to britney_util
Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-10 20:01:04 +02:00
Niels Thykier
d9b20ef0ab 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
de68ec6fb8 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
9771c454b3 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
6d6e735bac Move "undo_changes" to britney_util
Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-10 20:01:03 +02:00
Niels Thykier
dd056f8901 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
4b33e763a0 Move same_source to separate module
Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-10 20:01:03 +02:00
Niels Thykier
d86d88f44f 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
2493520e98 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
f7373c5fe1 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
f1e653796b 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
7b88c29029 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
2a046dcd93 Migrate to python2.7
Signed-off-by: Niels Thykier <niels@thykier.net>
2013-07-07 15:37:15 +02:00
Adam D. Barratt
0657aa67c2 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
42d37972e0 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
189b44695c 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