291 Commits

Author SHA1 Message Date
Adam D. Barratt
994097e0fb MigrationItem: separate item name parsing from canonicalisation
This allows us to re-canonicalise the item's name if any of the item's
properties are altered without updating its name.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-11-15 20:13:03 +00:00
Adam D. Barratt
1180c8bdeb Merge branch 'p-u' 2011-11-14 21:20:31 +00:00
Adam D. Barratt
0fbecb9a9e Simplify hint override checking
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-11-14 19:52:42 +00:00
Adam D. Barratt
9f793fcbec Fix-up hint override logic
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-11-14 19:15:25 +00:00
Adam D. Barratt
a2ba758279 Hint: implement equality based on comparing string representations
This will work for "single package" hints, but should be extended to
consider "easy foo/1 bar/1" and "easy bar/1 foo/1" to be equivalent.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-11-14 19:13:16 +00:00
Julien Cristau
eb0498be93 Ensure package list contains exactly one item in convenience methods
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-11-14 18:29:43 +00:00
Adam D. Barratt
111d6b791a Syntax tweak
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-11-14 18:28:32 +00:00
Adam D. Barratt
7045c6e549 Pass the list of supported architectures to MigrationItem
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-11-11 13:30:53 +00:00
Adam D. Barratt
6672c96db3 MigrationItem: support "$pkg/$ver/$arch" syntax
This relies on the caller supplying a list of valid architectures, and
assumes that none of the list entries are also valid version strings.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-11-11 13:28:04 +00:00
Adam D. Barratt
9ce1baad18 HintCollection::search(): fix "onlyactive" logic
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-11-10 12:50:01 +00:00
Adam D. Barratt
c19f880142 Fix up spacing issues; thanks Niels.
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-11-10 10:30:13 +00:00
Adam D. Barratt
bdba8dfbde MigrationItem: fix name output for removal items
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-11-09 23:31:56 +00:00
Adam D. Barratt
31651fafd7 MigrationItem: canonicalise item names on output
Although multiple formats of item name are accepted (e.g.
$pkg_$suite/$arch and $pkg/$arch_$suite), for compatibility and ease of
parsing by clients the output format is standardised.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-11-09 23:24:42 +00:00
Adam D. Barratt
06410e37bd Correctly parse foo/arch/ver in unversionned mode
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-11-09 22:44:55 +00:00
Adam D. Barratt
7f9d8ae271 "Broken architectures" fix-up
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-11-09 22:44:31 +00:00
Adam D. Barratt
2018302e1f Merge branch 'master' into p-u
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-11-09 10:32:17 +00:00
Adam D. Barratt
9e840cd78a Drop zobel's hint file
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-11-08 15:09:00 +00:00
Adam D. Barratt
fb3cee8207 Make it clearer that single binary removal is an implementation detail
The feature is used to remove binaries left by smooth-updates and is not
exposed as an available hint type.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-11-06 13:18:52 +00:00
Adam D. Barratt
197e46db1c Merge branch 'master' into p-u
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-11-05 16:13:33 +00:00
Adam D. Barratt
edf2355984 Don't add a "full" auto-hint if the package list is the "minimal set"
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-11-05 16:02:05 +00:00
Adam D. Barratt
3ca167d396 Merge branch 'master' into p-u
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-11-02 20:04:13 +00:00
Adam D. Barratt
9de352892a Make checking for smooth updates candidates smarter
Commit 94071b16491e90d78605791a316141b58cc3c6fc excluded intra-source
dependencies from the determination as to whether a binary package was
eligible for smooth updates.  Whilst this works in many cases, there
are situations where it breaks migration.  For instance:

  foo depends on libdropped1
  libdropped1 depends on libdropped2
  libdropped1 and libdropped2 are built from the same source; foo from
     another source
  libdropped2 is otherwise leaf in testing

In order to resolve this, we build a list of all packages which might
be eligible and filter out those which have reverse-dependencies outside
of their source package.  For each remaining package, we consider it
eligible if its intra-source reverse-dependencies are within the list
of packages already determined to be eligible.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-11-02 19:32:30 +00:00
Adam D. Barratt
9e2f0af8d4 Ensure _package and _uvname attributes are always defined
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-10-29 17:17:42 +00:00
Adam D. Barratt
e9d0971e49 Fix odd spacing
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-10-29 17:14:00 +00:00
Adam D. Barratt
e68e1b0451 Use the correct (and existing) variable in an error message
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-10-29 14:32:26 +00:00
Adam D. Barratt
f2eb888a2b Drop some unused imports
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-10-29 14:31:38 +00:00
Adam D. Barratt
45464070d7 MigrationItem: fix typo in parsing of some *-p-u versions
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-10-29 14:30:43 +00:00
Adam D. Barratt
79b243ef6a Merge branch 'master' into p-u 2011-10-28 17:37:26 +00:00
Adam D. Barratt
f4c3683ae7 Don't try to call __log on a non-existent class
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-10-27 20:50:12 +00:00
Adam D. Barratt
3d6432d545 Drop unused import
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-10-27 20:48:12 +00:00
Adam D. Barratt
4581ecd8d9 Fix-up a broken merge so smooth updates work again
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-10-22 19:58:07 +00:00
Adam D. Barratt
9dc773b076 Merge branch 'master' into p-u
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-10-22 19:48:55 +00:00
Adam D. Barratt
bbfaba859e When auto-hinting, also try a "minimal" package set
The minimal set is comprised of only the first level of (reverse)
dependencies, before any further iterations of packages are added to
the set.  In some cases, the result of the full iteration will contain
packages which cause problems when migrated but the minimal set,
although possibly a less optimal solution, may be able to migrate
successfully.

It is assumed that migrating the larger set of packages will be
preferred if possible, so minimal sets are tried later.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-10-22 19:46:09 +00:00
Adam D. Barratt
be28f670a5 Don't consider intra-source dependencies for smooth updates
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-10-22 19:41:51 +00:00
Adam D. Barratt
f4c306e0e9 Remove an unused variable
(part of 22a9427c21b6216e093252ba77e09d5f10e436f7 from master)

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-10-22 19:38:26 +00:00
Niels Thykier
79f24cd38f Removed two unused methods, check_installable and check_conflicts 2011-10-22 19:37:13 +00:00
Niels Thykier
22d8167786 Allow a list as well as a tuple in Britney.do_hint 2011-10-22 19:30:00 +00:00
Adam D. Barratt
c47e08b8cf Fix up broken logic so that binary removals work again
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-10-22 19:28:09 +00:00
Adam D. Barratt
513a6ff453 smooth updates: pass a list of MigrationItems to remove, not strings
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-10-22 19:26:57 +00:00
Adam D. Barratt
2e51db80c9 Make sort_actions support MigrationItems
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-10-22 19:25:43 +00:00
Adam D. Barratt
49cbd35310 Fix up the addition of "unblock" hints for t-p-u approvals.
Thanks to Niels Thykier for the original idea.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-10-22 14:47:00 +00:00
Niels Thykier
ced28100fb Fixed tab-completion for packages containing "-"
Also fix broken tab-completion after the first "/".
2011-10-22 14:09:35 +02:00
Niels Thykier
27ddc8a9e7 Fixed weird whitespace in the end of completer.py 2011-10-22 13:43:06 +02:00
Niels Thykier
7343b84288 Added package completion to the readline completor 2011-10-22 13:42:14 +02:00
Niels Thykier
dda7031ea3 Do not crash if writing histfile fails with --hint-tester
It does not affect the result and only means the user does not
have any readline-history.
2011-10-22 10:26:10 +02:00
Mehdi Dogguy
a687b00e18 Typo fix 2011-10-19 20:02:29 +00:00
Adam D. Barratt
dcad3f3480 When auto-hinting, also try a "minimal" package set
The minimal set is comprised of only the first level of (reverse)
dependencies, before any further iterations of packages are added to
the set.  In some cases, the result of the full iteration will contain
packages which cause problems when migrated but the minimal set,
although possibly a less optimal solution, may be able to migrate
successfully.

It is assumed that migrating the larger set of packages will be
preferred if possible, so minimal sets are tried later.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-10-19 18:23:52 +00:00
Niels Thykier
cf080e49bd Reduced Britney.parser to a local variable
Britney.parser was not used outside __parse_arguments, so there
is little use in keeping it alive as an instance variable.
2011-10-19 12:14:02 +02:00
Niels Thykier
33a10f6f35 Fixed some weird indentations 2011-10-19 11:49:25 +02:00
Niels Thykier
1103ee2e61 Removed some unused local variables and arguments 2011-10-19 11:40:11 +02:00