diff options
author | Ross Burton <ross.burton@intel.com> | 2019-04-01 12:22:21 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-04-02 15:24:11 +0100 |
commit | a4031efc0a4474a169d1b4f6be526383f0e02e60 (patch) | |
tree | 7f85c9b1187536baf1273eb57cb31b6c3a175e57 /meta | |
parent | 2ad84e1296520270caae776fac6f80a958171fa2 (diff) | |
download | poky-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.patch | 188 | ||||
-rw-r--r-- | meta/recipes-extended/libsolv/libsolv_0.7.3.bb | 3 |
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 @@ | |||
1 | Backport a patch from upstream to use GNUInstallDirs instead of | ||
2 | hand-coded path logic, so we have proper control over where files end up. | ||
3 | |||
4 | Upstream-Status: Backport | ||
5 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
6 | |||
7 | From b6c9df4c686975ce5009d09dac706a4e83f02a31 Mon Sep 17 00:00:00 2001 | ||
8 | From: Igor Gnatenko <i.gnatenko.brain@gmail.com> | ||
9 | Date: Mon, 2 Jul 2018 12:56:41 +0100 | ||
10 | Subject: [PATCH] build: use GNUInstallDirs | ||
11 | |||
12 | Fixes: #128 | ||
13 | Signed-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 | |||
26 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
27 | index 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 # | ||
79 | diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt | ||
80 | index 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") | ||
94 | diff --git a/examples/solv/CMakeLists.txt b/examples/solv/CMakeLists.txt | ||
95 | index 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 | |||
105 | diff --git a/ext/CMakeLists.txt b/ext/CMakeLists.txt | ||
106 | index 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) | ||
128 | diff --git a/libsolv.pc.in b/libsolv.pc.in | ||
129 | index 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 | ||
140 | diff --git a/libsolvext.pc.in b/libsolvext.pc.in | ||
141 | index 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 | ||
152 | diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt | ||
153 | index 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) | ||
175 | diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt | ||
176 | index 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 | -- | ||
187 | 2.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 | ||
10 | SRC_URI = "git://github.com/openSUSE/libsolv.git \ | 10 | SRC_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 | ||
14 | SRCREV = "dc7d0f1c3113f2c8217563166906bef3eb5d1ee1" | 15 | SRCREV = "dc7d0f1c3113f2c8217563166906bef3eb5d1ee1" |
@@ -21,7 +22,7 @@ inherit cmake | |||
21 | PACKAGECONFIG ??= "rpm" | 22 | PACKAGECONFIG ??= "rpm" |
22 | PACKAGECONFIG[rpm] = "-DENABLE_RPMMD=ON -DENABLE_RPMDB=ON,,rpm" | 23 | PACKAGECONFIG[rpm] = "-DENABLE_RPMMD=ON -DENABLE_RPMDB=ON,,rpm" |
23 | 24 | ||
24 | EXTRA_OECMAKE = "-DLIB=${baselib} -DMULTI_SEMANTICS=ON -DENABLE_COMPLEX_DEPS=ON" | 25 | EXTRA_OECMAKE = "-DMULTI_SEMANTICS=ON -DENABLE_COMPLEX_DEPS=ON" |
25 | 26 | ||
26 | PACKAGES =+ "${PN}-tools ${PN}ext" | 27 | PACKAGES =+ "${PN}-tools ${PN}ext" |
27 | 28 | ||