diff options
author | David Kalnischkies <david@kalnischkies.de> | 2020-04-27 13:49:19 +0200 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2020-04-27 13:49:19 +0200 |
commit | f76a8d331a81bc7b102bdd4e0f8363e8a59f64f6 (patch) | |
tree | b89adccf5e9cfc80d72cd64113dcb73803f99534 /test/integration/test-multiarch-allowed | |
parent | 347ea3f76ab263c729468e07b910ae027b66c9d8 (diff) |
Propagate Protected flag to single-option dependencies
If a package is protected and has a dependency satisfied only by a single
package (or conflicts with a package) this package must be part of the
solution and so we can help later actions not exploring dead ends by
propagating the protected flag to these "pseudo-protected" packages.
An (obscure) bug this can help prevent (to some extend) is shown in
test-apt-never-markauto-sections by not causing irreversible autobit
transfers.
As a sideeffect it seems also to help our crude ShowBroken to display
slightly more helpful messages involving the packages which are actually
in conflict.
Diffstat (limited to 'test/integration/test-multiarch-allowed')
-rwxr-xr-x | test/integration/test-multiarch-allowed | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/test/integration/test-multiarch-allowed b/test/integration/test-multiarch-allowed index 98555bc73..b74853993 100755 --- a/test/integration/test-multiarch-allowed +++ b/test/integration/test-multiarch-allowed @@ -64,12 +64,15 @@ Conf foo:i386 (1 unstable [i386]) Conf needsfoo:i386 (1 unstable [i386])' aptget install needsfoo:i386 -s testfailureequal "$BADPREFIX The following packages have unmet dependencies: - needsfoo:i386 : Depends: foo:i386 but it is not going to be installed -E: Unable to correct problems, you have held broken packages." aptget install needsfoo:i386 foo:amd64 -s + foo : Conflicts: foo:i386 but 1 is to be installed + foo:i386 : Conflicts: foo but 1 is to be installed +E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages." aptget install needsfoo:i386 foo:amd64 -s testfailureequal "$BADPREFIX The following packages have unmet dependencies: - needsfoo : Depends: foo but it is not going to be installed -E: Unable to correct problems, you have held broken packages." aptget install needsfoo foo:i386 -s + foo : Conflicts: foo:i386 but 1 is to be installed + foo:i386 : Conflicts: foo but 1 is to be installed +E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages." aptget install needsfoo foo:i386 -s +exit solveableinsinglearch1() { testsuccessequal "Reading package lists... |