Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/Makefile.am6
-rw-r--r--lib/libalpm/db.c6
-rw-r--r--test/pacman/tests/sync305.py67
-rw-r--r--test/pacman/tests/sync306.py63
4 files changed, 136 insertions, 6 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 2c6cc50f..a2018c71 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -120,7 +120,7 @@ A2X_OPTS = \
--destination-dir='./'
# These rules are due to the includes and files of the asciidoc text
-$(ASCIIDOC_MANS): asciidoc.conf footer.txt Makefile
+$(ASCIIDOC_MANS): asciidoc.conf footer.txt Makefile.am
$(AM_V_GEN)a2x $(A2X_OPTS) --asciidoc-opts="$(ASCIIDOC_OPTS) --out-file=./$@.xml" $(srcdir)/$@.txt
%.html: %.txt
@@ -132,8 +132,8 @@ HACKING.html: ../HACKING
sed -e 's/\r$$//' > $@
# Customizations for certain HTML docs
-$(HTML_MANPAGES): asciidoc.conf footer.txt Makefile
-$(HTML_OTHER): asciidoc.conf Makefile
+$(HTML_MANPAGES): asciidoc.conf footer.txt Makefile.am
+$(HTML_OTHER): asciidoc.conf Makefile.am
%.html: ASCIIDOC_OPTS += -a linkcss -a toc -a icons -a max-width=960px -a stylesheet=asciidoc-override.css
%.8.html: ASCIIDOC_OPTS += -d manpage
%.5.html: ASCIIDOC_OPTS += -d manpage
diff --git a/lib/libalpm/db.c b/lib/libalpm/db.c
index 3e534358..6492a9b9 100644
--- a/lib/libalpm/db.c
+++ b/lib/libalpm/db.c
@@ -427,7 +427,7 @@ alpm_list_t *_alpm_db_search(alpm_db_t *db, const alpm_list_t *needles)
for(k = alpm_pkg_get_provides(pkg); k; k = k->next) {
alpm_depend_t *provide = k->data;
if(regexec(&reg, provide->name, 0, 0, 0) == 0) {
- matched = k->data;
+ matched = provide->name;
break;
}
}
@@ -443,8 +443,8 @@ alpm_list_t *_alpm_db_search(alpm_db_t *db, const alpm_list_t *needles)
}
if(matched != NULL) {
- _alpm_log(db->handle, ALPM_LOG_DEBUG, " search target '%s' matched '%s'\n",
- targ, matched);
+ _alpm_log(db->handle, ALPM_LOG_DEBUG,
+ "search target '%s' matched '%s'\n", targ, matched);
ret = alpm_list_add(ret, pkg);
}
}
diff --git a/test/pacman/tests/sync305.py b/test/pacman/tests/sync305.py
new file mode 100644
index 00000000..24fcee48
--- /dev/null
+++ b/test/pacman/tests/sync305.py
@@ -0,0 +1,67 @@
+self.description = "Sysupgrade: syncfirst with recursive/cascading deps"
+
+sp = pmpkg("pacman", "4.0.1-2")
+sp.depends = ["glibc>=2.15", "curl"]
+self.addpkg2db("sync", sp)
+
+glibcdep = pmpkg("glibc", "2.15-1")
+self.addpkg2db("sync", glibcdep)
+
+gcldep = pmpkg("gcc-libs", "4.6.2-5")
+gcldep.depends = ["glibc>=2.14"]
+self.addpkg2db("sync", gcldep)
+
+curldep = pmpkg("curl", "7.23.1-2")
+curldep.depends = ["openssl"]
+self.addpkg2db("sync", curldep)
+
+openssldep = pmpkg("openssl", "1.0.0.e-1")
+openssldep.depends = ["perl"]
+self.addpkg2db("sync", openssldep)
+
+gccdep = pmpkg("gcc", "4.6.2-5")
+gccdep.depends = ["gcc-libs=4.6.2-5"]
+self.addpkg2db("sync", gccdep)
+
+perldep = pmpkg("perl", "5.14.2-5")
+perldep.depends = ["db"]
+self.addpkg2db("sync", perldep)
+
+dbdep = pmpkg("db", "5.2.36-2")
+dbdep.depends = ["gcc-libs"]
+self.addpkg2db("sync", dbdep)
+
+
+lp = pmpkg("pacman", "4.0.1-1")
+lp.depends = ["glibc>=2.14", "curl"]
+self.addpkg2db("local", lp)
+
+lp2 = pmpkg("glibc", "2.14-2")
+self.addpkg2db("local", lp2)
+
+lp3 = pmpkg("curl", "7.23.1-2")
+self.addpkg2db("local", lp3)
+
+lp4 = pmpkg("gcc-libs", "4.6.2-3")
+self.addpkg2db("local", lp4)
+
+lp5 = pmpkg("gcc", "4.6.2-3")
+lp5.depends = ["gcc-libs=4.6.2-3"]
+self.addpkg2db("local", lp5)
+
+lp6 = pmpkg("perl", "5.14.2-5")
+lp6.depends = ["db"]
+self.addpkg2db("local", lp6)
+
+lp7 = pmpkg("db", "5.2.36-2")
+lp7.depends = ["gcc-libs"]
+self.addpkg2db("local", lp7)
+
+self.option["SyncFirst"] = ["pacman"]
+
+self.args = "-Su"
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("PKG_EXIST=pacman")
+self.addrule("PKG_VERSION=pacman|4.0.1-2")
+
+self.expectfailure = True
diff --git a/test/pacman/tests/sync306.py b/test/pacman/tests/sync306.py
new file mode 100644
index 00000000..ca7a547e
--- /dev/null
+++ b/test/pacman/tests/sync306.py
@@ -0,0 +1,63 @@
+self.description = "install with recursive/cascading deps"
+
+sp = pmpkg("pacman", "4.0.1-2")
+sp.depends = ["glibc>=2.15", "curl"]
+self.addpkg2db("sync", sp)
+
+glibcdep = pmpkg("glibc", "2.15-1")
+self.addpkg2db("sync", glibcdep)
+
+gcldep = pmpkg("gcc-libs", "4.6.2-5")
+gcldep.depends = ["glibc>=2.14"]
+self.addpkg2db("sync", gcldep)
+
+curldep = pmpkg("curl", "7.23.1-2")
+curldep.depends = ["openssl"]
+self.addpkg2db("sync", curldep)
+
+openssldep = pmpkg("openssl", "1.0.0.e-1")
+openssldep.depends = ["perl"]
+self.addpkg2db("sync", openssldep)
+
+gccdep = pmpkg("gcc", "4.6.2-5")
+gccdep.depends = ["gcc-libs=4.6.2-5"]
+self.addpkg2db("sync", gccdep)
+
+perldep = pmpkg("perl", "5.14.2-5")
+perldep.depends = ["db"]
+self.addpkg2db("sync", perldep)
+
+dbdep = pmpkg("db", "5.2.36-2")
+dbdep.depends = ["gcc-libs"]
+self.addpkg2db("sync", dbdep)
+
+
+lp = pmpkg("pacman", "4.0.1-1")
+lp.depends = ["glibc>=2.14", "curl"]
+self.addpkg2db("local", lp)
+
+lp2 = pmpkg("glibc", "2.14-2")
+self.addpkg2db("local", lp2)
+
+lp3 = pmpkg("curl", "7.23.1-2")
+self.addpkg2db("local", lp3)
+
+lp4 = pmpkg("gcc-libs", "4.6.2-3")
+self.addpkg2db("local", lp4)
+
+lp5 = pmpkg("gcc", "4.6.2-3")
+lp5.depends = ["gcc-libs=4.6.2-3"]
+self.addpkg2db("local", lp5)
+
+lp6 = pmpkg("perl", "5.14.2-5")
+lp6.depends = ["db"]
+self.addpkg2db("local", lp6)
+
+lp7 = pmpkg("db", "5.2.36-2")
+lp7.depends = ["gcc-libs"]
+self.addpkg2db("local", lp7)
+
+self.args = "-S pacman"
+self.addrule("PACMAN_RETCODE=0")
+self.addrule("PKG_EXIST=pacman")
+self.addrule("PKG_VERSION=pacman|4.0.1-2")