diff options
| -rw-r--r-- | apt-pkg/edsp.cc | 4 | ||||
| -rwxr-xr-x | test/integration/test-external-dependency-solver-protocol | 37 |
2 files changed, 41 insertions, 0 deletions
diff --git a/apt-pkg/edsp.cc b/apt-pkg/edsp.cc index 196f9d307..88569d3c4 100644 --- a/apt-pkg/edsp.cc +++ b/apt-pkg/edsp.cc @@ -373,8 +373,12 @@ bool EDSP::WriteRequest(pkgDepCache &Cache, FileFd &output, } if (flags & Request::FORBID_NEW_INSTALL) WriteOkay(Okay, output, "Forbid-New-Install: yes\n"); + else if (flags & Request::FORBID_REMOVE) + WriteOkay(Okay, output, "Forbid-New-Install: no\n"); if (flags & Request::FORBID_REMOVE) WriteOkay(Okay, output, "Forbid-Remove: yes\n"); + else if (flags & Request::FORBID_NEW_INSTALL) + WriteOkay(Okay, output, "Forbid-Remove: no\n"); auto const solver = _config->Find("APT::Solver", "internal"); WriteOkay(Okay, output, "Solver: ", solver, "\n"); if (_config->FindB("APT::Solver::Strict-Pinning", true) == false) diff --git a/test/integration/test-external-dependency-solver-protocol b/test/integration/test-external-dependency-solver-protocol index bc32886c5..cbfd7b739 100755 --- a/test/integration/test-external-dependency-solver-protocol +++ b/test/integration/test-external-dependency-solver-protocol @@ -136,6 +136,43 @@ testsuccess test -s "$APT_EDSP_DUMP_FILENAME" testequal 'Install: awesomecoolstuff:i386' grep :i386 "$APT_EDSP_DUMP_FILENAME" testfailure grep -e ':amd64' -e 'Architecture: any' "$APT_EDSP_DUMP_FILENAME" +rm -f "$APT_EDSP_DUMP_FILENAME" +testfailure apt upgrade --solver dump +testsuccess test -s "$APT_EDSP_DUMP_FILENAME" +testsuccessequal "Request: EDSP 0.5 +Architecture: amd64 +Architectures: amd64 i386 +Machine-ID: 912e43bd1c1d4ba481f9f8ccab25f9ee +Upgrade-All: yes +Upgrade: yes +Forbid-New-Install: no +Forbid-Remove: yes +Solver: dump" awk '/^$/ {exit} {print}' "$APT_EDSP_DUMP_FILENAME" + +rm -f "$APT_EDSP_DUMP_FILENAME" +testfailure aptget upgrade --solver dump +testsuccess test -s "$APT_EDSP_DUMP_FILENAME" +testsuccessequal "Request: EDSP 0.5 +Architecture: amd64 +Architectures: amd64 i386 +Machine-ID: 912e43bd1c1d4ba481f9f8ccab25f9ee +Upgrade-All: yes +Upgrade: yes +Forbid-New-Install: yes +Forbid-Remove: yes +Solver: dump" awk '/^$/ {exit} {print}' "$APT_EDSP_DUMP_FILENAME" + +rm -f "$APT_EDSP_DUMP_FILENAME" +testfailure aptget dist-upgrade --solver dump +testsuccess test -s "$APT_EDSP_DUMP_FILENAME" +testsuccessequal "Request: EDSP 0.5 +Architecture: amd64 +Architectures: amd64 i386 +Machine-ID: 912e43bd1c1d4ba481f9f8ccab25f9ee +Upgrade-All: yes +Dist-Upgrade: yes +Solver: dump" awk '/^$/ {exit} {print}' "$APT_EDSP_DUMP_FILENAME" + testsuccess aptget dist-upgrade -s testsuccess aptget dist-upgrade -s --solver apt |
