summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2019-04-01 12:22:21 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-04-02 15:24:11 +0100
commita4031efc0a4474a169d1b4f6be526383f0e02e60 (patch)
tree7f85c9b1187536baf1273eb57cb31b6c3a175e57 /meta
parent2ad84e1296520270caae776fac6f80a958171fa2 (diff)
downloadpoky-a4031efc0a4474a169d1b4f6be526383f0e02e60.tar.gz
libsolv: use GNUInstallDirs
Backport a patch from upstream to use GNUInstallDirs instead of hand-coded path logic, so we have proper control over where files end up. (From OE-Core rev: 7c7d8ce6fe54e239374a6a04c007b4aa0712ba33) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-extended/libsolv/libsolv/0001-build-use-GNUInstallDirs.patch188
-rw-r--r--meta/recipes-extended/libsolv/libsolv_0.7.3.bb3
2 files changed, 190 insertions, 1 deletions
diff --git a/meta/recipes-extended/libsolv/libsolv/0001-build-use-GNUInstallDirs.patch b/meta/recipes-extended/libsolv/libsolv/0001-build-use-GNUInstallDirs.patch
new file mode 100644
index 0000000000..75ef150052
--- /dev/null
+++ b/meta/recipes-extended/libsolv/libsolv/0001-build-use-GNUInstallDirs.patch
@@ -0,0 +1,188 @@
1Backport a patch from upstream to use GNUInstallDirs instead of
2hand-coded path logic, so we have proper control over where files end up.
3
4Upstream-Status: Backport
5Signed-off-by: Ross Burton <ross.burton@intel.com>
6
7From b6c9df4c686975ce5009d09dac706a4e83f02a31 Mon Sep 17 00:00:00 2001
8From: Igor Gnatenko <i.gnatenko.brain@gmail.com>
9Date: Mon, 2 Jul 2018 12:56:41 +0100
10Subject: [PATCH] build: use GNUInstallDirs
11
12Fixes: #128
13Signed-off-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
14---
15 CMakeLists.txt | 34 +++++++---------------------------
16 README | 2 +-
17 doc/CMakeLists.txt | 4 ++--
18 examples/solv/CMakeLists.txt | 2 +-
19 ext/CMakeLists.txt | 8 ++++----
20 libsolv.pc.in | 4 ++--
21 libsolvext.pc.in | 4 ++--
22 src/CMakeLists.txt | 8 ++++----
23 tools/CMakeLists.txt | 3 +--
24 9 files changed, 24 insertions(+), 45 deletions(-)
25
26diff --git a/CMakeLists.txt b/CMakeLists.txt
27index 1deef57d..7e9ffa9b 100644
28--- a/CMakeLists.txt
29+++ b/CMakeLists.txt
30@@ -1,6 +1,6 @@
31 PROJECT (libsolv)
32
33-CMAKE_MINIMUM_REQUIRED (VERSION 2.4)
34+CMAKE_MINIMUM_REQUIRED (VERSION 2.8.5)
35
36 OPTION (ENABLE_STATIC "Build a static version of the libraries?" OFF)
37 OPTION (DISABLE_SHARED "Do not build a shared version of the libraries?" OFF)
38@@ -38,34 +38,14 @@ OPTION (ENABLE_ZCHUNK_COMPRESSION "Build with zchunk compression support?" OFF)
39 OPTION (WITH_SYSTEM_ZCHUNK "Use system zchunk library?" OFF)
40 OPTION (WITH_LIBXML2 "Build with libxml2 instead of libexpat?" OFF)
41
42-# Library
43-IF (DEFINED LIB)
44- SET (LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${LIB}")
45-ELSE (DEFINED LIB)
46- IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
47- SET (LIB_SUFFIX "64")
48- ENDIF (CMAKE_SIZEOF_VOID_P MATCHES "8")
49- SET (LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}")
50-ENDIF (DEFINED LIB)
51-MESSAGE (STATUS "Libraries will be installed in ${LIB_INSTALL_DIR}")
52-# Library
53-IF (DEFINED INCLUDE)
54- SET (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${INCLUDE}")
55-else (DEFINED INCLUDE)
56- SET (INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include")
57-ENDIF (DEFINED INCLUDE)
58-MESSAGE (STATUS "Header files will be installed in ${INCLUDE_INSTALL_DIR}")
59-SET (BIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin")
60-IF (NOT MAN_INSTALL_DIR)
61-SET (MAN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/man")
62-IF (IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/man" AND NOT IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/share/man")
63- SET (MAN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/man")
64-ENDIF (IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/man" AND NOT IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/share/man")
65-ENDIF (NOT MAN_INSTALL_DIR)
66-MESSAGE(STATUS "Man pages will be installed in ${MAN_INSTALL_DIR}")
67+include (GNUInstallDirs)
68+message (STATUS "Libraries will be installed in ${CMAKE_INSTALL_FULL_LIBDIR}")
69+message (STATUS "Header files will be installed in ${CMAKE_INSTALL_FULL_INCLUDEDIR}")
70+message (STATUS "Binaries will be installed in ${CMAKE_INSTALL_FULL_BINDIR}")
71+message (STATUS "Man pages will be installed in ${CMAKE_INSTALL_FULL_MANDIR}")
72
73 IF (NOT PKGCONFIG_INSTALL_DIR)
74- SET (PKGCONFIG_INSTALL_DIR ${LIB_INSTALL_DIR}/pkgconfig)
75+ SET (PKGCONFIG_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
76 ENDIF (NOT PKGCONFIG_INSTALL_DIR)
77 ####################################################################
78 # CONFIGURATION #
79diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
80index 66011b48..ed38274e 100644
81--- a/doc/CMakeLists.txt
82+++ b/doc/CMakeLists.txt
83@@ -48,8 +48,8 @@ STRING(REGEX REPLACE "([^;]+)" "gen/\\1" libsolv_MANPAGES3 "${libsolv_MANPAGES3}
84
85 INSTALL(FILES
86 ${libsolv_MANPAGES3}
87- DESTINATION "${MAN_INSTALL_DIR}/man3")
88+ DESTINATION "${CMAKE_INSTALL_MANDIR}/man3")
89
90 INSTALL(FILES
91 ${libsolv_MANPAGES1}
92- DESTINATION "${MAN_INSTALL_DIR}/man1")
93+ DESTINATION "${CMAKE_INSTALL_MANDIR}/man1")
94diff --git a/examples/solv/CMakeLists.txt b/examples/solv/CMakeLists.txt
95index 41f45f74..0f3bd477 100644
96--- a/examples/solv/CMakeLists.txt
97+++ b/examples/solv/CMakeLists.txt
98@@ -25,5 +25,5 @@ TARGET_LINK_LIBRARIES (solv libsolvext libsolv ${SYSTEM_LIBRARIES})
99
100 INSTALL(TARGETS
101 solv
102- DESTINATION ${BIN_INSTALL_DIR})
103+ DESTINATION ${CMAKE_INSTALL_BINDIR})
104
105diff --git a/ext/CMakeLists.txt b/ext/CMakeLists.txt
106index edc2b9f9..6dd28b1a 100644
107--- a/ext/CMakeLists.txt
108+++ b/ext/CMakeLists.txt
109@@ -145,14 +145,14 @@ ENDIF (DISABLE_SHARED)
110
111 SET_TARGET_PROPERTIES(libsolvext PROPERTIES OUTPUT_NAME "solvext")
112 SET_TARGET_PROPERTIES(libsolvext PROPERTIES SOVERSION ${LIBSOLVEXT_SOVERSION})
113-SET_TARGET_PROPERTIES(libsolvext PROPERTIES INSTALL_NAME_DIR ${LIB_INSTALL_DIR})
114+SET_TARGET_PROPERTIES(libsolvext PROPERTIES INSTALL_NAME_DIR ${CMAKE_INSTALL_LIBDIR})
115
116-INSTALL (FILES ${libsolvext_HEADERS} DESTINATION "${INCLUDE_INSTALL_DIR}/solv")
117-INSTALL (TARGETS libsolvext LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR} RUNTIME DESTINATION bin)
118+INSTALL (FILES ${libsolvext_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/solv")
119+INSTALL (TARGETS libsolvext LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
120
121 IF (ENABLE_STATIC AND NOT DISABLE_SHARED)
122 ADD_LIBRARY (libsolvext_static STATIC ${libsolvext_SRCS})
123 SET_TARGET_PROPERTIES(libsolvext_static PROPERTIES OUTPUT_NAME "solvext")
124 SET_TARGET_PROPERTIES(libsolvext_static PROPERTIES SOVERSION ${LIBSOLVEXT_SOVERSION})
125-INSTALL (TARGETS libsolvext_static LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
126+INSTALL (TARGETS libsolvext_static LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
127 ENDIF (ENABLE_STATIC AND NOT DISABLE_SHARED)
128diff --git a/libsolv.pc.in b/libsolv.pc.in
129index 40a86230..766146c5 100644
130--- a/libsolv.pc.in
131+++ b/libsolv.pc.in
132@@ -1,5 +1,5 @@
133-libdir=@LIB_INSTALL_DIR@
134-includedir=@INCLUDE_INSTALL_DIR@
135+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
136+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
137
138 Name: libsolv
139 Description: Library for solving packages
140diff --git a/libsolvext.pc.in b/libsolvext.pc.in
141index d48b6fab..d0078461 100644
142--- a/libsolvext.pc.in
143+++ b/libsolvext.pc.in
144@@ -1,5 +1,5 @@
145-libdir=@LIB_INSTALL_DIR@
146-includedir=@INCLUDE_INSTALL_DIR@
147+libdir=@CMAKE_INSTALL_FULL_LIBDIR@
148+includedir=@CMAKE_INSTALL_FULL_INCLUDEDIR@
149
150 Name: libsolvext
151 Description: Library for reading repositories
152diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
153index 2e32968e..03ea9119 100644
154--- a/src/CMakeLists.txt
155+++ b/src/CMakeLists.txt
156@@ -42,14 +42,14 @@ ENDIF (DISABLE_SHARED)
157
158 SET_TARGET_PROPERTIES(libsolv PROPERTIES OUTPUT_NAME "solv")
159 SET_TARGET_PROPERTIES(libsolv PROPERTIES SOVERSION ${LIBSOLV_SOVERSION})
160-SET_TARGET_PROPERTIES(libsolv PROPERTIES INSTALL_NAME_DIR ${LIB_INSTALL_DIR})
161+SET_TARGET_PROPERTIES(libsolv PROPERTIES INSTALL_NAME_DIR ${CMAKE_INSTALL_LIBDIR})
162
163-INSTALL (FILES ${libsolv_HEADERS} DESTINATION "${INCLUDE_INSTALL_DIR}/solv")
164-INSTALL (TARGETS libsolv LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR} RUNTIME DESTINATION bin)
165+INSTALL (FILES ${libsolv_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/solv")
166+INSTALL (TARGETS libsolv LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
167
168 IF (ENABLE_STATIC AND NOT DISABLE_SHARED)
169 ADD_LIBRARY (libsolv_static STATIC ${libsolv_SRCS})
170 SET_TARGET_PROPERTIES(libsolv_static PROPERTIES OUTPUT_NAME "solv")
171 SET_TARGET_PROPERTIES(libsolv_static PROPERTIES SOVERSION ${LIBSOLV_SOVERSION})
172-INSTALL (TARGETS libsolv_static LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
173+INSTALL (TARGETS libsolv_static LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
174 ENDIF (ENABLE_STATIC AND NOT DISABLE_SHARED)
175diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
176index 802dc500..0d677f69 100644
177--- a/tools/CMakeLists.txt
178+++ b/tools/CMakeLists.txt
179@@ -110,5 +110,4 @@ TARGET_LINK_LIBRARIES (testsolv libsolvext libsolv ${SYSTEM_LIBRARIES})
180 ADD_EXECUTABLE (repo2solv repo2solv.c )
181 TARGET_LINK_LIBRARIES (repo2solv toolstuff libsolvext libsolv ${SYSTEM_LIBRARIES})
182
183-INSTALL (TARGETS ${tools_list} DESTINATION ${BIN_INSTALL_DIR})
184-
185+INSTALL (TARGETS ${tools_list} DESTINATION ${CMAKE_INSTALL_BINDIR})
186--
1872.11.0
188
diff --git a/meta/recipes-extended/libsolv/libsolv_0.7.3.bb b/meta/recipes-extended/libsolv/libsolv_0.7.3.bb
index 3fe6f2c20a..70c8dbc2e3 100644
--- a/meta/recipes-extended/libsolv/libsolv_0.7.3.bb
+++ b/meta/recipes-extended/libsolv/libsolv_0.7.3.bb
@@ -9,6 +9,7 @@ DEPENDS = "expat zlib"
9 9
10SRC_URI = "git://github.com/openSUSE/libsolv.git \ 10SRC_URI = "git://github.com/openSUSE/libsolv.git \
11 file://0001-solver_solve-only-disfavor-recommends-if-there-are-a.patch \ 11 file://0001-solver_solve-only-disfavor-recommends-if-there-are-a.patch \
12 file://0001-build-use-GNUInstallDirs.patch \
12" 13"
13 14
14SRCREV = "dc7d0f1c3113f2c8217563166906bef3eb5d1ee1" 15SRCREV = "dc7d0f1c3113f2c8217563166906bef3eb5d1ee1"
@@ -21,7 +22,7 @@ inherit cmake
21PACKAGECONFIG ??= "rpm" 22PACKAGECONFIG ??= "rpm"
22PACKAGECONFIG[rpm] = "-DENABLE_RPMMD=ON -DENABLE_RPMDB=ON,,rpm" 23PACKAGECONFIG[rpm] = "-DENABLE_RPMMD=ON -DENABLE_RPMDB=ON,,rpm"
23 24
24EXTRA_OECMAKE = "-DLIB=${baselib} -DMULTI_SEMANTICS=ON -DENABLE_COMPLEX_DEPS=ON" 25EXTRA_OECMAKE = "-DMULTI_SEMANTICS=ON -DENABLE_COMPLEX_DEPS=ON"
25 26
26PACKAGES =+ "${PN}-tools ${PN}ext" 27PACKAGES =+ "${PN}-tools ${PN}ext"
27 28