]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blame - src/patches/libsatsolver-Make-libsatsolver-ext-a-versioned-shared-lib.patch
Merge branch 'master' into next
[people/pmueller/ipfire-2.x.git] / src / patches / libsatsolver-Make-libsatsolver-ext-a-versioned-shared-lib.patch
CommitLineData
93aa811e
SS
1>From 1f9659b55013f222046b9d161fd5a0f2fc399cb8 Mon Sep 17 00:00:00 2001
2From: Michael Tremer <michael.tremer@ipfire.org>
3Date: Thu, 21 Apr 2011 12:48:41 +0200
4Subject: [PATCH] Make libsatsolver{,ext} a versioned shared lib.
5
6Most distributions only do accept shared libraries because of
7relro and hardening stuff.
8
9Previously, libsatsolver was statically compiled because the ABI
10was assumed to be changed from time to time but has now become
11very stable.
12
13Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
14---
15 ext/CMakeLists.txt | 6 +++++-
16 src/CMakeLists.txt | 6 +++++-
17 tools/CMakeLists.txt | 12 ++++++------
18 3 files changed, 16 insertions(+), 8 deletions(-)
19
20diff --git a/ext/CMakeLists.txt b/ext/CMakeLists.txt
21index 8e71eee..68e1c3c 100644
22--- a/ext/CMakeLists.txt
23+++ b/ext/CMakeLists.txt
24@@ -8,7 +8,11 @@ SET(libsatsolverext_SRCS
25 ${libsatsolverext_SRCS} pool_fileconflicts.c repo_rpmdb.c)
26 ENDIF (NOT DEBIAN)
27
28-ADD_LIBRARY(satsolverext STATIC ${libsatsolverext_SRCS})
29+ADD_LIBRARY(satsolverext SHARED ${libsatsolverext_SRCS})
30+SET_TARGET_PROPERTIES(satsolverext PROPERTIES
31+ VERSION "${LIBSATSOLVER_MAJOR}.${LIBSATSOLVER_MINOR}"
32+ SOVERSION "${LIBSATSOLVER_MAJOR}"
33+)
34
35 SET(libsatsolverext_HEADERS
36 pool_fileconflicts.h repo_content.h repo_deltainfoxml.h repo_helix.h repo_products.h
37diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
38index 9bd0fde..6a14d10 100644
39--- a/src/CMakeLists.txt
40+++ b/src/CMakeLists.txt
41@@ -6,7 +6,11 @@ SET(libsatsolver_SRCS
42 transaction.c rules.c problems.c
43 chksum.c md5.c sha1.c sha2.c satversion.c)
44
45-ADD_LIBRARY(satsolver STATIC ${libsatsolver_SRCS})
46+ADD_LIBRARY(satsolver SHARED ${libsatsolver_SRCS})
47+SET_TARGET_PROPERTIES(satsolver PROPERTIES
48+ VERSION "${LIBSATSOLVER_MAJOR}.${LIBSATSOLVER_MINOR}"
49+ SOVERSION "${LIBSATSOLVER_MAJOR}"
50+)
51
52 SET(libsatsolver_HEADERS
53 bitmap.h evr.h hash.h policy.h poolarch.h poolvendor.h pool.h
54diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
55index 79d4890..7696612 100644
56--- a/tools/CMakeLists.txt
57+++ b/tools/CMakeLists.txt
58@@ -20,19 +20,19 @@ ADD_EXECUTABLE(rpmmd2solv rpmmd2solv.c)
59 TARGET_LINK_LIBRARIES(rpmmd2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY})
60
61 ADD_EXECUTABLE(helix2solv helix2solv.c)
62-TARGET_LINK_LIBRARIES(helix2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY})
63+TARGET_LINK_LIBRARIES(helix2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY})
64
65 ADD_EXECUTABLE(susetags2solv susetags2solv.c)
66-TARGET_LINK_LIBRARIES(susetags2solv toolstuff satsolverext satsolver ${ZLIB_LIBRARY})
67+TARGET_LINK_LIBRARIES(susetags2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY})
68
69 ADD_EXECUTABLE(updateinfoxml2solv updateinfoxml2solv.c)
70-TARGET_LINK_LIBRARIES(updateinfoxml2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY})
71+TARGET_LINK_LIBRARIES(updateinfoxml2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY})
72
73 ADD_EXECUTABLE(deltainfoxml2solv deltainfoxml2solv.c)
74-TARGET_LINK_LIBRARIES(deltainfoxml2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY})
75+TARGET_LINK_LIBRARIES(deltainfoxml2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY})
76
77 ADD_EXECUTABLE(repomdxml2solv repomdxml2solv.c)
78-TARGET_LINK_LIBRARIES(repomdxml2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY})
79+TARGET_LINK_LIBRARIES(repomdxml2solv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY})
80
81 ADD_EXECUTABLE(installcheck installcheck.c)
82 TARGET_LINK_LIBRARIES(installcheck satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY})
83@@ -44,7 +44,7 @@ ADD_EXECUTABLE(dumpsolv dumpsolv.c )
84 TARGET_LINK_LIBRARIES(dumpsolv satsolver)
85
86 ADD_EXECUTABLE(mergesolv mergesolv.c )
87-TARGET_LINK_LIBRARIES(mergesolv toolstuff satsolverext satsolver)
88+TARGET_LINK_LIBRARIES(mergesolv toolstuff satsolverext satsolver ${EXPAT_LIBRARY} ${ZLIB_LIBRARY})
89
90 install(TARGETS
91 mergesolv
92--
931.7.4.4
94