]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - src/patches/libsatsolver-Make-libsatsolver-ext-a-versioned-shared-lib.patch
libsatsolver: New package.
[people/pmueller/ipfire-2.x.git] / src / patches / libsatsolver-Make-libsatsolver-ext-a-versioned-shared-lib.patch
1 >From 1f9659b55013f222046b9d161fd5a0f2fc399cb8 Mon Sep 17 00:00:00 2001
2 From: Michael Tremer <michael.tremer@ipfire.org>
3 Date: Thu, 21 Apr 2011 12:48:41 +0200
4 Subject: [PATCH] Make libsatsolver{,ext} a versioned shared lib.
5
6 Most distributions only do accept shared libraries because of
7 relro and hardening stuff.
8
9 Previously, libsatsolver was statically compiled because the ABI
10 was assumed to be changed from time to time but has now become
11 very stable.
12
13 Signed-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
20 diff --git a/ext/CMakeLists.txt b/ext/CMakeLists.txt
21 index 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
37 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
38 index 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
54 diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
55 index 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 --
93 1.7.4.4
94