1445 Commits

Author SHA1 Message Date
Niels Thykier
875f3eebea britney_util: Typo fix
Signed-off-by: Niels Thykier <niels@thykier.net>
2015-06-02 21:29:47 +02:00
Adam D. Barratt
b4bed1ca62 britney.py: reverse sense of tests for architecture-indep packages
It's more natural to say "check this package if the current arch is in
this list" than "do not check this package if the current arch is not
in this list"

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2015-04-27 19:43:54 +00:00
Adam D. Barratt
bc037efccb britney.py: typo fixes
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2015-04-27 19:14:08 +00:00
Adam D. Barratt
11eef30869 britney.py: drop inaccurate comment
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2015-04-27 18:50:48 +00:00
Niels Thykier
4b3a5ac176 britney.conf: Renable smooth updates for libs+oldlibs 2015-04-26 19:45:28 +02:00
Anthony Towns
c7fbe91b2a britney: Take more care with hijacked binaries
This updates the doop_source and _compute_groups functions so
that binary packages that are built from a different source
aren't included as part of an update to the original source.
In the event that it's a binary-only update, also don't remove
the hijacked packages from testing.

This change also removes an obsolete comment regardarding pre-conditions
for the _compute_groups function.
2015-04-26 18:20:11 +02:00
Niels Thykier
d911314c2d britney.py: Enable the new consistency checks by default
Signed-off-by: Niels Thykier <niels@thykier.net>
2015-04-26 18:20:11 +02:00
Niels Thykier
0c5651576a britney.py: Skip ESSENTIAL consistency check
The live-data tests rely on an inconsistency, since they were before
Britney started to record the Essential field.

Signed-off-by: Niels Thykier <niels@thykier.net>
2015-04-26 18:20:11 +02:00
Anthony Towns
c28bc84f57 britney: Check for mismatched packages between suites.
britney assumes that a package build is uniquely described by its
name, version and architecture. Particularly when constructing
Packages files by hand for testing purposes this assumption can be
violated, leading to confusing behaviour. This change makes britney
look for such mismatches, and report if any are found.
2015-04-26 18:20:11 +02:00
Niels Thykier
6047875953 inst-tester: Fix bug "choices" would not be updated
In some scenarios, it was possible to trigger a bug in the
installability tester, where it would fail to update the "choices" set.
The requirements for triggering this seems to be something like:

 * Obtain a choice that is possible to solve.
 * Resolve the choice without recursing (with a backtrack point)
 * Obtain a second choice that is impossible to solve.

After the two first steps, the installability tester would fail to
update the "choices" set (or, rather, changes would be invisible to
the "_pick_choice" function).  Fortunately, most packages are either
trivially installable or trivially uninstallable, so the bug seems to
be rather rare if triggred at all.

Signed-off-by: Niels Thykier <niels@thykier.net>
2015-04-26 18:20:11 +02:00
Niels Thykier
b4e4ba4681 Collect more statistics from the installability tester
Signed-off-by: Niels Thykier <niels@thykier.net>
2015-04-26 18:20:11 +02:00
Niels Thykier
2a34970304 Compute simple stats installability tester graph
Signed-off-by: Niels Thykier <niels@thykier.net>
2015-04-26 18:20:11 +02:00
Niels Thykier
5d6ba15520 solver.py: Remove unused import
Signed-off-by: Niels Thykier <niels@thykier.net>
2015-04-26 18:20:11 +02:00
Niels Thykier
074eb46766 Remove unused assignments/parameters
Signed-off-by: Niels Thykier <niels@thykier.net>
2015-04-26 18:20:11 +02:00
Niels Thykier
bfb71f966b britney.py: Remove trailing semi-colons
Signed-off-by: Niels Thykier <niels@thykier.net>
2015-04-26 18:20:10 +02:00
Niels Thykier
8623ffc224 britney.py: Fix use before assignment
Signed-off-by: Niels Thykier <niels@thykier.net>
2015-04-26 18:20:10 +02:00
Niels Thykier
74060e4e0a britney.py: Avoid some redundancy in auto_hinter()
Signed-off-by: Niels Thykier <niels@thykier.net>
2015-04-26 18:20:10 +02:00
Niels Thykier
2f663fa7b9 britney: Optimise the original auto-hinter a bit
Notably:
 * Avoid repeated calls frozenset(X), where we can trivially do
   without.
 * Skip the inner loop, when "i" is in "to_skip".
 * Use a set rather than a list for "to_skip" as we do more
   membership tests.

Signed-off-by: Niels Thykier <niels@thykier.net>
2015-04-26 18:20:10 +02:00
Niels Thykier
be1ee0fcd3 get_dependency_solvers: Avoid unnecessary boolean ret value
The get_dependency_solvers method returns a (boolean, list)-tuple, but
the boolean can always be implied from the list (in boolean context).

Signed-off-by: Niels Thykier <niels@thykier.net>
2015-04-26 18:20:10 +02:00
Ivo De Decker
613610e2b8 Also make sure forced-reason is a list
Signed-off-by: Ivo De Decker <ivodd@debian.org>
2015-04-26 18:20:10 +02:00
Julien Cristau
b9f30120ad Fix silly NameError
Signed-off-by: Julien Cristau <jcristau@debian.org>
2015-04-26 18:20:10 +02:00
Ivo De Decker
f637e88086 Make sure reason is a list, even with python 3
Signed-off-by: Ivo De Decker <ivodd@debian.org>
2015-04-26 18:20:10 +02:00
Julien Cristau
994906c673 Add explicit encoding to all files
Signed-off-by: Julien Cristau <jcristau@debian.org>
2015-04-26 18:20:10 +02:00
Julien Cristau
fb2f30bcef Sources and Packages are utf-8
Signed-off-by: Julien Cristau <jcristau@debian.org>
2015-04-26 18:20:10 +02:00
Julien Cristau
d86c7b9c7a Don't crash if the urgencies file contains non-ascii
The live-2011-12-13 test set has random garbage in the middle.

Signed-off-by: Julien Cristau <jcristau@debian.org>
2015-04-26 18:20:10 +02:00
Julien Cristau
37ff82d1e0 Use python3-style super() 2015-04-26 18:20:10 +02:00
Julien Cristau
6c344589ee Remove dependency on six
Signed-off-by: Julien Cristau <jcristau@debian.org>
2015-04-26 18:20:10 +02:00
Julien Cristau
354f6a6bc9 Use python3
Signed-off-by: Julien Cristau <jcristau@debian.org>
2015-04-26 18:20:10 +02:00
Julien Cristau
2e20d9c7ad Use super() instead of explicitly calling our superclass
Signed-off-by: Julien Cristau <jcristau@debian.org>
2015-04-26 18:20:10 +02:00
Julien Cristau
8d3d964daf Disable a code path for encoded yaml in python3
The comment says we should no longer need that.

Signed-off-by: Julien Cristau <jcristau@debian.org>
2015-04-26 18:20:10 +02:00
Julien Cristau
18f7101847 Use six.moves for itertools, urllib and intern
They're renamed in python3.

Signed-off-by: Julien Cristau <jcristau@debian.org>
2015-04-26 18:20:10 +02:00
Julien Cristau
f83029c55e Add sort method to MigrationItem
write_excuses wants them sorted, and python3 doesn't allow sorting
arbitrary objects.

Signed-off-by: Julien Cristau <jcristau@debian.org>
2015-04-26 18:20:09 +02:00
Julien Cristau
36d3b96158 Stop using string.find
It's gone in python3

Signed-off-by: Julien Cristau <jcristau@debian.org>
2015-04-26 18:20:09 +02:00
Julien Cristau
90f5993c4a Use the key= argument to sorted()
cmp is gone in python3.  Also add a sorting method to Excuse that is
compatible with its __eq__/__hash__ methods.

Signed-off-by: Julien Cristau <jcristau@debian.org>
2015-04-26 18:20:09 +02:00
Julien Cristau
c79c0848e5 Stop using sys.maxint
It doesn't exist in python3, but 1000 days should be safe enough as a
fallback for a package without urgency.

Signed-off-by: Julien Cristau <jcristau@debian.org>
2015-04-26 18:20:09 +02:00
Julien Cristau
2eee806263 Stop using dict.iter* methods
Signed-off-by: Julien Cristau <jcristau@debian.org>
2015-04-26 18:20:09 +02:00
Julien Cristau
16f77bf6f9 Use python3-compatible form for except clause
Signed-off-by: Julien Cristau <jcristau@debian.org>
2015-04-26 18:20:09 +02:00
Julien Cristau
4249d3868a Replace map() with list comprehensions
As a bonus this removes a use of string.strip (not in python3).

Signed-off-by: Julien Cristau <jcristau@debian.org>
2015-04-26 18:20:09 +02:00
Julien Cristau
94666b55f9 Simplify a bit the loop to read our config file
- split the one-liner into a for and an if
- use open() as a context manager
- don't use string.strip which is gone in python3

Signed-off-by: Julien Cristau <jcristau@debian.org>
2015-04-26 18:20:09 +02:00
Julien Cristau
58a6a6ed1d Don't use the file builtin
Signed-off-by: Julien Cristau <jcristau@debian.org>
2015-04-26 18:20:09 +02:00
Julien Cristau
94f18322db Switch to print_function
Signed-off-by: Julien Cristau <jcristau@debian.org>
2015-04-26 18:20:09 +02:00
Julien Cristau
6371eaf102 Remove sys.path frobbing
I don't think this has been necessary since we stopped loading a C
extension.

Signed-off-by: Julien Cristau <jcristau@debian.org>
2015-04-26 18:20:09 +02:00
Julien Cristau
20ffcc6dc5 Fix typo
Signed-off-by: Julien Cristau <jcristau@debian.org>
2015-04-26 18:20:09 +02:00
Jonathan Wiltshire
48b4021aa2 britney.conf: NOBREAKALL amd64 in addition to i386
Signed-off-by: Jonathan Wiltshire <jmw@debian.org>
2015-04-25 20:03:48 +00:00
Adam D. Barratt
bf87fb7d63 britney{,_nobreakall}.conf: remove kfreebsd
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2015-04-24 05:11:42 +00:00
Niels Thykier
59f099d080 britney.conf: Allow kfreebsd packages to go out of sync
Done as kFreeBSD is not a release architecture and it has started to
block migration of release related changes.  I have kept it out of
"BREAK_ARCHES" as I do not yet see a reason to add it there.

Signed-off-by: Niels Thykier <niels@thykier.net>
2014-12-17 22:51:33 +01:00
Niels Thykier
9d5f47a9b7 britney: Ignore "remark" hints as they are not meant for us
The "remark" hint is only intended for showing up in the output of "d"
(or via hint grep).  It has no effect on Britney's behaviour.

Admittedly, the original code would have ignored it as well.  But this
change makes it explicit and not simply a "ignored due to insufficient
permissions".

Signed-off-by: Niels Thykier <niels@thykier.net>
2014-11-23 19:19:33 +01:00
Adam D. Barratt
629a596f25 Sync britney_nobreakall.conf with the main configuration
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2014-11-13 22:36:08 +00:00
Ivo De Decker
371ad09113 excuses: show cruft and missing builds
For out-of-date binaries, generate different excuses when the build is
missing, or when old (cruft) binaries for previous version are still around.

Signed-off-by: Ivo De Decker <ivodd@debian.org>
2014-11-08 11:33:05 +00:00
Ivo De Decker
0e90214698 Link to the freeze policy for blocked packages
Don't tell people to mail debian-release.

Signed-off-by: Ivo De Decker <ivodd@debian.org>
2014-11-07 15:21:22 +00:00