summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-extended/sat-solver/sat-solver/rpm5-solvdb.patch30
-rw-r--r--meta/recipes-extended/sat-solver/sat-solver_git.bb3
2 files changed, 32 insertions, 1 deletions
diff --git a/meta/recipes-extended/sat-solver/sat-solver/rpm5-solvdb.patch b/meta/recipes-extended/sat-solver/sat-solver/rpm5-solvdb.patch
new file mode 100644
index 000000000..8ce1b150c
--- /dev/null
+++ b/meta/recipes-extended/sat-solver/sat-solver/rpm5-solvdb.patch
@@ -0,0 +1,30 @@
+sat-solver rpmdb based solv database construction
+
+The first time the database is created on an RPM5 system it works
+correctly. However any subsequent rebuilds cause an empty database to
+occur.
+
+The following is from Michael Schroeder <mls@suse.de>:
+> rpmdb2solv contains a hack that makes it use the unchanged already
+> converted packages. To do this, it needs to get the database id
+> for every installed packages by reading the "Name" index. This
+> somehow doesn't seem to work with rpm5.
+>
+> As a workaround you can add a "ref = 0;" line at the top of the
+> repo_add_rpmdb() function in ext/repo_rpmdb.c.
+
+Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
+
+diff -ur git.orig/ext/repo_rpmdb.c git/ext/repo_rpmdb.c
+--- git.orig/ext/repo_rpmdb.c 2011-03-16 09:43:50.470008215 -0500
++++ git/ext/repo_rpmdb.c 2011-03-16 09:47:55.503989694 -0500
+@@ -1344,6 +1344,9 @@
+ memset(&dbkey, 0, sizeof(dbkey));
+ memset(&dbdata, 0, sizeof(dbdata));
+
++ /* Workaround for RPM 5 database construction */
++ ref = 0;
++
+ if (!rootdir)
+ rootdir = "";
+
diff --git a/meta/recipes-extended/sat-solver/sat-solver_git.bb b/meta/recipes-extended/sat-solver/sat-solver_git.bb
index 54420cd15..a6519d592 100644
--- a/meta/recipes-extended/sat-solver/sat-solver_git.bb
+++ b/meta/recipes-extended/sat-solver/sat-solver_git.bb
@@ -7,11 +7,12 @@ LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8"
DEPENDS = "libcheck rpm zlib expat db"
PV = "0.0-git${SRCPV}"
-PR = "r4"
+PR = "r5"
SRC_URI = "git://gitorious.org/opensuse/sat-solver.git;protocol=git \
file://cmake.patch \
file://rpm5.patch \
+ file://rpm5-solvdb.patch \
file://db5.patch \
file://builtin-arch.patch;apply=no \
file://no-builtin-arch.patch;apply=no \