summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended/sat-solver
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2011-01-15 22:05:29 -0600
committerSaul Wold <sgw@linux.intel.com>2011-01-30 12:09:52 -0800
commit2c32f494ccf1721d0888bde59be41ba05e221d33 (patch)
tree0c06ad95a0905a05eaaa7f82a3205f0c35a8d8c7 /meta/recipes-extended/sat-solver
parentffd12fc476d6061ba1e019a1e789cf1a2d3c82e6 (diff)
downloadpoky-2c32f494ccf1721d0888bde59be41ba05e221d33.tar.gz
sat-solver: upgrade to newer git version
This works with rpm 5.4.0 Signed-off-by: Qing He <qing.he@intel.com> Update the CMAKE configuration file to find the proper DB library as used by RPM5 within Poky. Disable checking for Fedora and Debian, as this might lead to incorrect results. Merge the dso_linking_change_build_fix with the other cmake changes. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Diffstat (limited to 'meta/recipes-extended/sat-solver')
-rw-r--r--meta/recipes-extended/sat-solver/sat-solver/cmake.patch43
-rw-r--r--meta/recipes-extended/sat-solver/sat-solver/db5.patch24
-rw-r--r--meta/recipes-extended/sat-solver/sat-solver/dso_linking_change_build_fix.patch31
-rw-r--r--meta/recipes-extended/sat-solver/sat-solver/rpm5.patch9
-rw-r--r--meta/recipes-extended/sat-solver/sat-solver_git.bb2
5 files changed, 70 insertions, 39 deletions
diff --git a/meta/recipes-extended/sat-solver/sat-solver/cmake.patch b/meta/recipes-extended/sat-solver/sat-solver/cmake.patch
index a69d82590e..d7b80b0846 100644
--- a/meta/recipes-extended/sat-solver/sat-solver/cmake.patch
+++ b/meta/recipes-extended/sat-solver/sat-solver/cmake.patch
@@ -2,23 +2,56 @@ check rpm
2not building docs (need oxygen) 2not building docs (need oxygen)
3 3
48/19/2010 - created by Qing He <qing.he@intel.com> 48/19/2010 - created by Qing He <qing.he@intel.com>
51/24/2011 - Disable Fedora/Debian checking/settings by Mark Hatle <mark.hatle@windriver.com>
5 6
6diff --git a/CMakeLists.txt b/CMakeLists.txt
7index 24234db..69413e4 100644
8--- a/CMakeLists.txt 7--- a/CMakeLists.txt
9+++ b/CMakeLists.txt 8+++ b/CMakeLists.txt
10@@ -50,6 +50,10 @@ MESSAGE(STATUS "Enabling multi dist support") 9@@ -35,22 +35,15 @@
10 FIND_PACKAGE(Check REQUIRED)
11 FIND_PACKAGE(ZLIB REQUIRED)
12
13-IF ( FEDORA )
14-MESSAGE(STATUS "Building for Fedora")
15-ADD_DEFINITIONS( -DFEDORA )
16-ENDIF ( FEDORA)
17-
18-IF ( DEBIAN )
19-MESSAGE(STATUS "Building for Debian")
20-ADD_DEFINITIONS( -DDEBIAN -DDEBIAN_SEMANTICS)
21-ENDIF ( DEBIAN )
22-
23 IF ( MULTI_SEMANTICS )
24 MESSAGE(STATUS "Enabling multi dist support")
11 ADD_DEFINITIONS( -DMULTI_SEMANTICS) 25 ADD_DEFINITIONS( -DMULTI_SEMANTICS)
12 ENDIF ( MULTI_SEMANTICS ) 26 ENDIF ( MULTI_SEMANTICS )
13 27
28-IF ( NOT DEBIAN )
14+FIND_PACKAGE(PkgConfig REQUIRED) 29+FIND_PACKAGE(PkgConfig REQUIRED)
15+PKG_CHECK_MODULES(RPM REQUIRED rpm) 30+PKG_CHECK_MODULES(RPM REQUIRED rpm)
16+INCLUDE_DIRECTORIES( ${RPM_INCLUDE_DIRS} ) 31+INCLUDE_DIRECTORIES( ${RPM_INCLUDE_DIRS} )
17+ 32+
18 IF ( NOT DEBIAN )
19 FIND_LIBRARY(RPMDB_LIBRARY NAMES rpmdb) 33 FIND_LIBRARY(RPMDB_LIBRARY NAMES rpmdb)
20 IF ( NOT RPMDB_LIBRARY ) 34 IF ( NOT RPMDB_LIBRARY )
21@@ -159,22 +163,7 @@ ADD_SUBDIRECTORY(tools) 35 FIND_LIBRARY(RPMDB_LIBRARY NAMES rpm)
36@@ -59,13 +52,14 @@
37 IF ( RPMIO_LIBRARY )
38 SET( RPMDB_LIBRARY ${RPMIO_LIBRARY} ${RPMDB_LIBRARY} )
39 ENDIF ( RPMIO_LIBRARY )
40-IF ( FEDORA )
41+FIND_LIBRARY(RPMMISC_LIBRARY NAMES rpmmisc)
42+IF ( RPMMISC_LIBRARY )
43+SET( RPMDB_LIBRARY ${RPMMISC_LIBRARY} ${RPMDB_LIBRARY} )
44+ENDIF ( RPMMISC_LIBRARY )
45 FIND_LIBRARY(DB_LIBRARY NAMES db)
46 IF ( DB_LIBRARY )
47 SET( RPMDB_LIBRARY ${DB_LIBRARY} ${RPMDB_LIBRARY} )
48 ENDIF ( DB_LIBRARY )
49-ENDIF ( FEDORA )
50-ENDIF ( NOT DEBIAN )
51
52 SET( PACKAGE "satsolver" )
53 SET( VERSION "${LIBSATSOLVER_MAJOR}.${LIBSATSOLVER_MINOR}.${LIBSATSOLVER_PATCH}" )
54@@ -159,22 +153,7 @@
22 ADD_SUBDIRECTORY(applayer) 55 ADD_SUBDIRECTORY(applayer)
23 ADD_SUBDIRECTORY(tests) 56 ADD_SUBDIRECTORY(tests)
24 ADD_SUBDIRECTORY(examples) 57 ADD_SUBDIRECTORY(examples)
diff --git a/meta/recipes-extended/sat-solver/sat-solver/db5.patch b/meta/recipes-extended/sat-solver/sat-solver/db5.patch
new file mode 100644
index 0000000000..98f322ffbb
--- /dev/null
+++ b/meta/recipes-extended/sat-solver/sat-solver/db5.patch
@@ -0,0 +1,24 @@
1RPM no longer includes an internal version of db, it now relies on the system
2version. The system version in Poky is available at /usr/include/db51
3
4Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
5
6rebased to sat-solver commit 9e1f2a097965debebc69cebf8ed73c6ff31a5220
7
8Signed-off-by: Qing He <qing.he@intel.com>
9
10--- git/ext/repo_rpmdb.c.orig 2011-01-06 10:46:37.369900542 -0600
11+++ git/ext/repo_rpmdb.c 2011-01-06 10:48:35.482919434 -0600
12@@ -29,11 +29,7 @@
13 #include <rpm/rpmdb.h>
14
15 #ifndef DB_CREATE
16-# ifdef FEDORA
17-# include <db.h>
18-# else
19-# include <rpm/db.h>
20-# endif
21+# include <db.h>
22 #endif
23
24 #include "pool.h"
diff --git a/meta/recipes-extended/sat-solver/sat-solver/dso_linking_change_build_fix.patch b/meta/recipes-extended/sat-solver/sat-solver/dso_linking_change_build_fix.patch
deleted file mode 100644
index 7aeee29c98..0000000000
--- a/meta/recipes-extended/sat-solver/sat-solver/dso_linking_change_build_fix.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1After adding dso patch to gcc, the linking of libraries has to be explicit.
2Following error caused by dso patch is fixed for this patch.
3
4| make[2]: Entering directory `/disk0/pokybuild/build1/tmp/work/i586-poky-linux/sat-solver-0.0-git0+aa799f7bae0ec055e0e527203635001bb7346dbc-r1/git'^M
5| Linking C executable findfileconflicts^M
6| cd /disk0/pokybuild/build1/tmp/work/i586-poky-linux/sat-solver-0.0-git0+aa799f7bae0ec055e0e527203635001bb7346dbc-r1/git/tools && /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/bin/cmake -E cmake_link_script CMakeFiles/findfileconflicts.dir/link.txt --verbose=1^M
7| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/bin/i586-poky-linux/i586-poky-linux-gcc -march=i586 --sysroot=/disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux -Werror -Wall -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed CMakeFiles/findfileconflicts.dir/findfileconflicts.o -o findfileconflicts -rdynamic ../ext/libsatsolverext.a ../src/libsatsolver.a -lrpmio -lrpmdb^M
8| /disk0/pokybuild/build1/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.5.1/ld: [: invalid DSO for symbol `db_env_create_rpmdb@@LIBRPMMISC_0' definition^M
9| /disk0/pokybuild/build1/tmp/sysroots/i586-poky-linux/usr/lib/librpmmisc-5.0.so: could not read symbols: Bad value^M
10| collect2: ld returned 1 exit status^M
11| make[2]: *** [tools/findfileconflicts] Error 1^M
12
13Nitin A Kamble <nitin.a.kamble@intel.com>
14Date: 2011/01/11
15
16
17Index: git/CMakeLists.txt
18===================================================================
19--- git.orig/CMakeLists.txt
20+++ git/CMakeLists.txt
21@@ -63,6 +63,10 @@ FIND_LIBRARY(RPMIO_LIBRARY NAMES rpmio)
22 IF ( RPMIO_LIBRARY )
23 SET( RPMDB_LIBRARY ${RPMIO_LIBRARY} ${RPMDB_LIBRARY} )
24 ENDIF ( RPMIO_LIBRARY )
25+FIND_LIBRARY(RPMMISC_LIBRARY NAMES rpmmisc)
26+IF ( RPMMISC_LIBRARY )
27+SET( RPMDB_LIBRARY ${RPMMISC_LIBRARY} ${RPMDB_LIBRARY} )
28+ENDIF ( RPMMISC_LIBRARY )
29 IF ( FEDORA )
30 FIND_LIBRARY(DB_LIBRARY NAMES db)
31 IF ( DB_LIBRARY )
diff --git a/meta/recipes-extended/sat-solver/sat-solver/rpm5.patch b/meta/recipes-extended/sat-solver/sat-solver/rpm5.patch
index a44a07deef..5ab632155d 100644
--- a/meta/recipes-extended/sat-solver/sat-solver/rpm5.patch
+++ b/meta/recipes-extended/sat-solver/sat-solver/rpm5.patch
@@ -2,6 +2,11 @@ fix rpm5 build
2 2
38/19/2010 - created by Qing He <qing.he@intel.com> 38/19/2010 - created by Qing He <qing.he@intel.com>
4 4
5
6pgpDigNew/pgpDigFree has changed in RPM 5.4.0
7
8Signed-off-by: Qing He <qing.he@intel.com>
9
5diff --git a/ext/repo_rpmdb.c b/ext/repo_rpmdb.c 10diff --git a/ext/repo_rpmdb.c b/ext/repo_rpmdb.c
6index 34f2b65..3c6ab9a 100644 11index 34f2b65..3c6ab9a 100644
7--- a/ext/repo_rpmdb.c 12--- a/ext/repo_rpmdb.c
@@ -33,7 +38,7 @@ index 34f2b65..3c6ab9a 100644
33 /* only rpm knows how to do the release calculation, we don't dare 38 /* only rpm knows how to do the release calculation, we don't dare
34 * to recreate all the bugs */ 39 * to recreate all the bugs */
35- dig = pgpNewDig(); 40- dig = pgpNewDig();
36+ dig = pgpDigNew(0); 41+ dig = pgpDigNew(RPMVSF_DEFAULT, 0);
37 (void) pgpPrtPkts(pkts, pktsl, dig, 0); 42 (void) pgpPrtPkts(pkts, pktsl, dig, 0);
38 btime = dig->pubkey.time[0] << 24 | dig->pubkey.time[1] << 16 | dig->pubkey.time[2] << 8 | dig->pubkey.signid[3]; 43 btime = dig->pubkey.time[0] << 24 | dig->pubkey.time[1] << 16 | dig->pubkey.time[2] << 8 | dig->pubkey.signid[3];
39 sprintf(evrbuf, "%02x%02x%02x%02x-%02x%02x%02x%02x", dig->pubkey.signid[4], dig->pubkey.signid[5], dig->pubkey.signid[6], dig->pubkey.signid[7], dig->pubkey.time[0], dig->pubkey.time[1], dig->pubkey.time[2], dig->pubkey.time[3]); 44 sprintf(evrbuf, "%02x%02x%02x%02x-%02x%02x%02x%02x", dig->pubkey.signid[4], dig->pubkey.signid[5], dig->pubkey.signid[6], dig->pubkey.signid[7], dig->pubkey.time[0], dig->pubkey.time[1], dig->pubkey.time[2], dig->pubkey.time[3]);
@@ -42,7 +47,7 @@ index 34f2b65..3c6ab9a 100644
42 if (dig->pubkey.userid) 47 if (dig->pubkey.userid)
43 setutf8string(data, s - s->repo->pool->solvables, SOLVABLE_SUMMARY, dig->pubkey.userid); 48 setutf8string(data, s - s->repo->pool->solvables, SOLVABLE_SUMMARY, dig->pubkey.userid);
44- pgpFreeDig(dig); 49- pgpFreeDig(dig);
45+ (void) pgpDigFree(dig, ""); 50+ (void) pgpDigFree(dig);
46 sat_free((void *)pkts); 51 sat_free((void *)pkts);
47 return 1; 52 return 1;
48 } 53 }
diff --git a/meta/recipes-extended/sat-solver/sat-solver_git.bb b/meta/recipes-extended/sat-solver/sat-solver_git.bb
index 8cf7eec94e..02b6c75507 100644
--- a/meta/recipes-extended/sat-solver/sat-solver_git.bb
+++ b/meta/recipes-extended/sat-solver/sat-solver_git.bb
@@ -12,7 +12,7 @@ PR = "r3"
12SRC_URI = "git://gitorious.org/opensuse/sat-solver.git;protocol=git \ 12SRC_URI = "git://gitorious.org/opensuse/sat-solver.git;protocol=git \
13 file://cmake.patch \ 13 file://cmake.patch \
14 file://rpm5.patch \ 14 file://rpm5.patch \
15 file://dso_linking_change_build_fix.patch" 15 file://db5.patch"
16 16
17S = "${WORKDIR}/git" 17S = "${WORKDIR}/git"
18 18