| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
(regression introduced when adding support for rpm-4.9)
(TODO: add a regression test in the testsuite)
|
|
|
|
|
| |
dependencies by creating a large regex to match them all at once
(mdv#61389, Shlomi Fish)
|
| |
|
| |
|
| |
|
|
|
|
|
| |
(spoted by perl_checker, introduced in revision mga#267800 ("honour search
medias when using --auto-select") but teuf on Fri Apr 23 2010
|
| |
|
|
|
|
|
| |
files are missing
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
several packages (#248)
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
backtracked and no replacement is found
(#57224, Anssi Hannula)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
check for conflicting selected packages before selecting a package
instead of after selecting it, to avoid having to unselect package
in case of conflict (which incorrectly unselected packages with
unsatisfied dependencies as well, making the following backtrack_selected
call behave wrongly as it simply noticed that the package is no longer
required)
Here's the second patch again, now with the function comment updated
and added _remove_all_rejected_from() call so that prerejections are
still cleared (this was previously called from the
removed disable_selected() call). Testsuites pass.
Patch by Anssi Hannula, fixes #57224
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Patch by Anssi Hannula, fixes bug #52667
k1-1 provides k, but not k1-2
l-1 and l-2 requires k
m-1 requires k but not m-2
n requires m
User has l-1, m-1, n-1, k1-1.
There is only one upgrade path:
k1-1 -> k1-2
m-1 -> m-2
removal of l-1
When transaction is created with all of them (e.g. what --auto-select does
first), the path is resolved correctly.
However, when the upgrade is triggered with the upgrade of k1, and l is in RPM
db before n, resolving proceeds as follows:
1. k1 selected and old version rejected
2. l is promoted
3. m is promoted
4. l-2 is therefore selected
5. no packages are found for k (as k1-1 was rejected in step 1)
6. backtrack_selected calls resolve_rejected to reject the chain
7. rejection process rejects l, m, n
8. m-2 is selected because of step 3
End result: n is wrongly removed.
Therefore, when using --auto-select (with --split-length 1 --split-level 1 in
this small case, to force splitting) to trigger the upgrade, the early resolve
is done correctly, but the first splitted transaction ("rpms sorted by
dependencies" has k1 and m separately, so split is tried) tries to remove n and
URPM fallbacks to single big transaction.
In reverse, when using "urpmi k1" to trigger the upgrade, urpmi asks user
confirmation for n removal, but the transaction is created with both k1 and m
("rpms sorted by dependencies" has k1+m, so they are put in same transaction),
thus triggering the correct behaviour and n is not really removed after all,
even if user agreed to it.
Attached patch fixes this by switching backtrack_selected() to use
set_rejected_and_compute_diff_provides() for package removal instead of
resolve_rejected_(). The code already contained a comment indicating that
diff_provides code should be applied.
The patch introduces no regression in the urpmi and perl-URPM testsuites.
|
|
|
|
|
|
| |
that was added in 3.31 (Anssi Hannula). In a simple mistake, %options was
not passed to backtrack_selected.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
support
for using %distepoch i version comparisions yet...
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts the previous commit
only compute diff_provides when the package is newly rejected, in
set_rejected_and_compute_diff_provides
Try this incremental patch. It fixes
set_rejected_and_compute_diff_provides to
not compute diff_provides if package was already rejected (and thus the
dependencies properly handled already).
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Fixes bug #48100, patch from Anssi Hannula
Package A requires D and E.
Package B provides D and E.
Package C provides E.
If the require on E happens to be resolved first, then perl-URPM will
prompt the user, even though installing B is enough.
|
| |
|
| |
|
|
|
|
|
|
| |
(especially important for installer where there's no rpmdb in / (really
/var/lib/rpm) and thus no keys to check against)
|
| |
|