aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2011-03-16 10:28:08 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-03-16 16:41:47 +0000
commit3db47b9c2a40db8e94c30dca601b0ab82920c14f (patch)
tree4fbe77465d496456efbb245875c43b15b0ec7e33 /meta/recipes-extended
parent04da04e371da12815e176c96d852e6bd6afc2b34 (diff)
downloadopenembedded-core-contrib-3db47b9c2a40db8e94c30dca601b0ab82920c14f.tar.gz
sat-solver: Add workaround for RPM 5 db 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>
Diffstat (limited to 'meta/recipes-extended')
-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 0000000000..8ce1b150c5
--- /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 54420cd154..a6519d5921 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 \