707 Commits

Author SHA1 Message Date
Adam D. Barratt
498c8fe9f6 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
e6f861b664 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
85387e9a37 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
8641af1c24 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
edd0302c97 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
ca97a1830c Merge branch 'master' into p-u 2011-10-28 17:37:26 +00:00
Adam D. Barratt
036d8be9d0 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
d3b027c461 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
b85db2b308 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
6667b8fcf9 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
120f783dfd 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
48866b513e 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
aeca75b99d 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
91baa5a4d6 Removed two unused methods, check_installable and check_conflicts 2011-10-22 19:37:13 +00:00
Niels Thykier
504a7c2d61 Allow a list as well as a tuple in Britney.do_hint 2011-10-22 19:30:00 +00:00
Adam D. Barratt
0e50a0ef44 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
d62f8f6bcc 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
0fa6e4c3fb 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
4ddb92db21 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
e71016c5a0 Fixed tab-completion for packages containing "-"
Also fix broken tab-completion after the first "/".
2011-10-22 14:09:35 +02:00
Niels Thykier
efca307f71 Added package completion to the readline completor 2011-10-22 13:42:14 +02:00
Niels Thykier
575adfc307 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
6ecb711860 Typo fix 2011-10-19 20:02:29 +00:00
Adam D. Barratt
b9ac7af03b 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
4235b92460 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
0537a47589 Fixed some weird indentations 2011-10-19 11:49:25 +02:00
Niels Thykier
22a9427c21 Removed some unused local variables and arguments 2011-10-19 11:40:11 +02:00
Niels Thykier
7ef794fa21 Removed two unused methods, check_installable and check_conflicts 2011-10-19 11:30:45 +02:00
Julien Cristau
c8684fc319 Typo fix 2011-10-16 19:39:24 +02:00
Adam D. Barratt
94071b1649 Don't consider intra-source dependencies for smooth updates
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-10-13 20:22:33 +00:00
Adam D. Barratt
02ab64272c hints: rename the "hints" method to the more helpful "search".
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-09-04 20:26:36 +00:00
Adam D. Barratt
3731b62958 Migrate "packages[0]"-style code to the package and version properties.
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-09-04 19:46:38 +00:00
Adam D. Barratt
ffccdae624 A failed unblock hint should list that hint's user, not the block's
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-09-04 19:00:59 +00:00
Adam D. Barratt
76a83ae527 Fix some brown paper bag bugs in the hint parsing code.
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-09-04 18:24:54 +00:00
Adam D. Barratt
25a3dd851e Move hint-using code to using HintCollection and HintItem
In order to make a number of the changes required for the migration simpler,
we also complete the previous migration to using {Hint,Migration}Item rather
than passing around strings representing packages and converting between
the two forms in several places.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-09-04 16:41:33 +00:00
Adam D. Barratt
3dcb9464cf Migrate most code parsing package names to use MigrationItems.
The use of MigrationItem allows us to centralise the parsing and splitting of
package names and architectures, avoiding duplication and simplifying a
number of conditions.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-08-31 19:55:22 +00:00
Adam D. Barratt
606568f675 Grammar / spelling fix some comments
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-08-28 21:45:14 +00:00
Adam D. Barratt
5682922d34 Bring the author and version information in sync with reality.
The software hasn't been "alpha" for some time.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-08-28 21:28:47 +00:00
Adam D. Barratt
eda7ce8839 Update a comment to account for proposed-updates support.
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-08-28 21:25:38 +00:00
Adam D. Barratt
3933823a74 Add myself to the copyright information.
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-08-28 21:22:31 +00:00
Adam D. Barratt
fe37b57c91 Better document the new auto-hinter functionality.
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-08-28 21:19:05 +00:00
Adam D. Barratt
7666c5e2d5 Make the auto-hinter more intelligent.
Rather than only considering pairs of packages, we start from a "leaf"
package (i.e. one with an excuse which declares no dependencies on
other packages' excuses) and recursively build a list of packages
which are the dependency or reverse dependency of a package already
in the list.

Any list which is a subset of another list is ignored and the remaining
items are then processed as "easy" hints.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-08-27 08:50:14 +00:00
Adam D. Barratt
7ad9eb0b35 Avoid marking more valid excuses as impossible.
Previously we could not reliably detect whether an excuse's dependency
from a source package to a binNMU was valid, as the excuse did not
contain sufficient information to determine the set of  architecture(s)
on which the dependency existed.

By modifying the representation of the dependency list in the excuse to
include an architecture list we can walk the relationships in reverse
in order to sanity-check the source -> binNMU dependency.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-08-03 20:53:38 +00:00
Adam D. Barratt
72c5d612eb Avoid marking some valid excuses as impossible.
When considering an excuse for pkg1/arch, a dependency on either of
pkg2/source or pkg2/arch should be considered acceptable so long
as there is a corresponding excuse.

Dependencies from pkg1/source to pkg2/arch will still be considered
"impossible", as pkg1's excuse does not contain any information
regarding the architecture(s) on which its dependency to pkg2 exists.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-08-02 18:46:17 +00:00
Adam D. Barratt
b15232e352 Stop referring to impossible dependencies as "unpossible".
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-08-02 17:36:03 +00:00
Adam D. Barratt
9c968fd220 Fix up p-u optionality
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-07-27 16:14:52 +00:00
Adam D. Barratt
bea99287e5 Make reading of pu package lists optional
This allows the consideration of packages from proposed-updates to be
{dis,en}abled depending on whether the configuration file specifies
the path to the packages / sources files.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-07-27 09:42:40 +00:00
Adam D. Barratt
6abb29a8e6 Merge and re-factor some pu and tpu tests
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-07-27 09:38:27 +00:00
Adam D. Barratt
b3d9254492 Add initial support for pulling updates from stable-proposed-updates
This is most likely to be useful near the beginning of a release cycle,
when the versions of a package in stable and testing are the same and
the new version of the package is unable to migrate from unstable for
some reason.

Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-07-27 09:30:00 +00:00
Adam D. Barratt
c0e15035d1 Make a variable name more descriptive (first -. circular-first)
Signed-off-by: Adam D. Barratt <adam@adam-barratt.org.uk>
2011-07-27 08:43:02 +00:00