summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan McRae <allan@archlinux.org>2016-03-29 16:36:59 +1000
committerAllan McRae <allan@archlinux.org>2016-05-05 13:52:23 +1000
commit3ed57be450e35c3a3aaa99af722b615a989027c7 (patch)
treec11081bfe1a7c47bc59796cd616d012a00544c4e
parent4960be7764678783c1ac81e884ad34a535769ad1 (diff)
downloadpacman-3ed57be450e35c3a3aaa99af722b615a989027c7.tar.gz
pacman-3ed57be450e35c3a3aaa99af722b615a989027c7.zip
Print replacements when using -Sup
When printing a list of URLs of packages to be updated, pacman was ignoring any replacements that would be made in the update process. Fixes FS#35812 Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r--src/pacman/callback.c12
-rw-r--r--test/pacman/tests/TESTS1
-rw-r--r--test/pacman/tests/sync-sysupgrade-print-replaced-packages.py14
3 files changed, 23 insertions, 4 deletions
diff --git a/src/pacman/callback.c b/src/pacman/callback.c
index 1e1a4cd9..ab3e14f2 100644
--- a/src/pacman/callback.c
+++ b/src/pacman/callback.c
@@ -375,10 +375,14 @@ void cb_event(alpm_event_t *event)
void cb_question(alpm_question_t *question)
{
if(config->print) {
- if(question->type == ALPM_QUESTION_INSTALL_IGNOREPKG) {
- question->any.answer = 1;
- } else {
- question->any.answer = 0;
+ switch(question->type) {
+ case ALPM_QUESTION_INSTALL_IGNOREPKG:
+ case ALPM_QUESTION_REPLACE_PKG:
+ question->any.answer = 1;
+ break;
+ default:
+ question->any.answer = 0;
+ break;
}
return;
}
diff --git a/test/pacman/tests/TESTS b/test/pacman/tests/TESTS
index 9c330203..62d1f2ae 100644
--- a/test/pacman/tests/TESTS
+++ b/test/pacman/tests/TESTS
@@ -161,6 +161,7 @@ TESTS += test/pacman/tests/sync-nodepversion03.py
TESTS += test/pacman/tests/sync-nodepversion04.py
TESTS += test/pacman/tests/sync-nodepversion05.py
TESTS += test/pacman/tests/sync-nodepversion06.py
+TESTS += test/pacman/tests/sync-sysupgrade-print-replaced-packages.py
TESTS += test/pacman/tests/sync-update-assumeinstalled.py
TESTS += test/pacman/tests/sync-update-package-removing-required-provides.py
TESTS += test/pacman/tests/sync001.py
diff --git a/test/pacman/tests/sync-sysupgrade-print-replaced-packages.py b/test/pacman/tests/sync-sysupgrade-print-replaced-packages.py
new file mode 100644
index 00000000..1325c6c3
--- /dev/null
+++ b/test/pacman/tests/sync-sysupgrade-print-replaced-packages.py
@@ -0,0 +1,14 @@
+self.description = "Print replacements when using -Sup"
+
+
+lp = pmpkg("a", "1-1")
+self.addpkg2db("local", lp)
+
+sp = pmpkg("b", "2-2")
+sp.replaces = ["a"]
+self.addpkg2db("sync", sp)
+
+self.args = "-Sup"
+
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("PACMAN_OUTPUT=%s-%s" % (sp.name, sp.version))