diff options
author | Mark Hatle <mark.hatle@windriver.com> | 2011-01-15 22:05:29 -0600 |
---|---|---|
committer | Saul Wold <sgw@linux.intel.com> | 2011-01-30 12:09:52 -0800 |
commit | 2c32f494ccf1721d0888bde59be41ba05e221d33 (patch) | |
tree | 0c06ad95a0905a05eaaa7f82a3205f0c35a8d8c7 /meta/recipes-extended/sat-solver | |
parent | ffd12fc476d6061ba1e019a1e789cf1a2d3c82e6 (diff) | |
download | poky-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')
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 | |||
2 | not building docs (need oxygen) | 2 | not building docs (need oxygen) |
3 | 3 | ||
4 | 8/19/2010 - created by Qing He <qing.he@intel.com> | 4 | 8/19/2010 - created by Qing He <qing.he@intel.com> |
5 | 1/24/2011 - Disable Fedora/Debian checking/settings by Mark Hatle <mark.hatle@windriver.com> | ||
5 | 6 | ||
6 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
7 | index 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 @@ | |||
1 | RPM no longer includes an internal version of db, it now relies on the system | ||
2 | version. The system version in Poky is available at /usr/include/db51 | ||
3 | |||
4 | Signed-off-by: Mark Hatle <mark.hatle@windriver.com> | ||
5 | |||
6 | rebased to sat-solver commit 9e1f2a097965debebc69cebf8ed73c6ff31a5220 | ||
7 | |||
8 | Signed-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 @@ | |||
1 | After adding dso patch to gcc, the linking of libraries has to be explicit. | ||
2 | Following 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 | |||
13 | Nitin A Kamble <nitin.a.kamble@intel.com> | ||
14 | Date: 2011/01/11 | ||
15 | |||
16 | |||
17 | Index: 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 | ||
3 | 8/19/2010 - created by Qing He <qing.he@intel.com> | 3 | 8/19/2010 - created by Qing He <qing.he@intel.com> |
4 | 4 | ||
5 | |||
6 | pgpDigNew/pgpDigFree has changed in RPM 5.4.0 | ||
7 | |||
8 | Signed-off-by: Qing He <qing.he@intel.com> | ||
9 | |||
5 | diff --git a/ext/repo_rpmdb.c b/ext/repo_rpmdb.c | 10 | diff --git a/ext/repo_rpmdb.c b/ext/repo_rpmdb.c |
6 | index 34f2b65..3c6ab9a 100644 | 11 | index 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" | |||
12 | SRC_URI = "git://gitorious.org/opensuse/sat-solver.git;protocol=git \ | 12 | SRC_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 | ||
17 | S = "${WORKDIR}/git" | 17 | S = "${WORKDIR}/git" |
18 | 18 | ||