This reverts commit 2d24f0bef8897ba6285f9294955cfaaaf6122ce7.
Change-Id: Ibcb316e22d39ad70741488e80d7e404b91ce81ec
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/4905
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Xiaolin Li <xiaolinl@vmware.com>
... | ... |
@@ -1,7 +1,7 @@ |
1 | 1 |
Summary: The Berkley DB database library for C |
2 | 2 |
Name: libdb |
3 | 3 |
Version: 5.3.28 |
4 |
-Release: 3%{?dist} |
|
4 |
+Release: 2%{?dist} |
|
5 | 5 |
License: BSD and LGPLv2 and Sleepycat |
6 | 6 |
URL: https://oss.oracle.com/berkeley-db.html |
7 | 7 |
Source0: http://download.oracle.com/berkeley-db/db-%{version}.tar.gz |
... | ... |
@@ -13,12 +13,6 @@ Obsoletes: db |
13 | 13 |
%description |
14 | 14 |
The Berkeley DB package contains libraries used by many other applications for database related functions. |
15 | 15 |
|
16 |
-%package utils |
|
17 |
-Summary: Header and development files |
|
18 |
-Requires: %{name} = %{version} |
|
19 |
-%description utils |
|
20 |
-db dump utility |
|
21 |
- |
|
22 | 16 |
%package devel |
23 | 17 |
Summary: Header and development files |
24 | 18 |
Requires: %{name} = %{version} |
... | ... |
@@ -62,10 +56,6 @@ rm -rf %{buildroot} |
62 | 62 |
%{_libdir}/*.so |
63 | 63 |
%{_datadir}/licenses/* |
64 | 64 |
|
65 |
-%files utils |
|
66 |
-%defattr(-,root,root) |
|
67 |
-%{_bindir}/db_dump |
|
68 |
- |
|
69 | 65 |
%files docs |
70 | 66 |
%defattr(-,root,root) |
71 | 67 |
%{_docdir}/%{name}-%{version}/* |
... | ... |
@@ -76,8 +66,6 @@ rm -rf %{buildroot} |
76 | 76 |
%{_includedir}/* |
77 | 77 |
|
78 | 78 |
%changelog |
79 |
-* Wed Jan 17 2018 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 5.3.28-3 |
|
80 |
-- add libdb-utils for db_dump |
|
81 | 79 |
* Tue Nov 14 2017 Alexey Makhalov <amakhalov@vmware.com> 5.3.28-2 |
82 | 80 |
- Aarch64 support |
83 | 81 |
* Thu Oct 27 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 5.3.28-1 |
... | ... |
@@ -89,7 +89,7 @@ rm -rf $RPM_BUILD_ROOT |
89 | 89 |
* Thu Nov 24 2016 Alexey Makhalov <amakhalov@vmware.com> 2015.1-4 |
90 | 90 |
- BuildRequired attr-devel. |
91 | 91 |
* Thu Nov 17 2016 Alexey Makhalov <amakhalov@vmware.com> 2015.1-3 |
92 |
-- Use setup instead of autosetup |
|
92 |
+- Use %setup instead of %autosetup |
|
93 | 93 |
* Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 2015.1-2 |
94 | 94 |
- GA - Bump release of all rpms |
95 | 95 |
* Mon Nov 24 2014 Divya Thaluru <dthaluru@vmware.com> 2014.2-1 |
... | ... |
@@ -1,7 +1,7 @@ |
1 | 1 |
Summary: Simple package manager built on top of hawkey and librepo |
2 | 2 |
Name: libhif |
3 | 3 |
Version: 0.2.3 |
4 |
-Release: 2%{?dist} |
|
4 |
+Release: 1%{?dist} |
|
5 | 5 |
License: LGPLv2+ |
6 | 6 |
URL: https://github.com/hughsie/libhif |
7 | 7 |
Source0: http://people.freedesktop.org/~hughsient/releases/%{name}-%{version}.tar.xz |
... | ... |
@@ -23,7 +23,6 @@ BuildRequires: python2-libs |
23 | 23 |
BuildRequires: python2 |
24 | 24 |
BuildRequires: gobject-introspection-python |
25 | 25 |
BuildRequires: openssl-devel |
26 |
-BuildRequires: lmdb-devel |
|
27 | 26 |
|
28 | 27 |
Requires: openssl |
29 | 28 |
Requires: librepo |
... | ... |
@@ -84,8 +83,6 @@ make check |
84 | 84 |
%{_datadir}/gir-1.0/*.gir |
85 | 85 |
|
86 | 86 |
%changelog |
87 |
-* Sun Mar 04 2018 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 0.2.3-2 |
|
88 |
-- added build requires lmdb-devel |
|
89 | 87 |
* Thu Aug 19 2017 Chang Lee <changlee@vmware.com> 0.2.3-1 |
90 | 88 |
- Updated to 0.2.3 |
91 | 89 |
- Disabled GLib-GObject-CRITICAL tests due to Segmentation fault in all tests |
92 | 90 |
deleted file mode 100644 |
... | ... |
@@ -1,490 +0,0 @@ |
1 |
-diff --git a/CMakeLists.txt b/CMakeLists.txt |
|
2 |
-index 605ab76..7fad325 100644 |
|
3 |
-+++ b/CMakeLists.txt |
|
4 |
-@@ -12,6 +12,7 @@ OPTION (ENABLE_TCL "Build the Tcl bindings?" OFF) |
|
5 |
- |
|
6 |
- OPTION (USE_VENDORDIRS "Install the bindings in vendor directories?" OFF) |
|
7 |
- |
|
8 |
-+OPTION (ENABLE_RPMDB_LMDB "Build with rpm db as lmdb?" OFF) |
|
9 |
- OPTION (ENABLE_RPMDB "Build with rpm database support?" OFF) |
|
10 |
- OPTION (ENABLE_RPMPKG "Build with rpm package support?" OFF) |
|
11 |
- OPTION (ENABLE_PUBKEY "Build with pubkey support?" OFF) |
|
12 |
-@@ -83,6 +84,17 @@ INCLUDE (${CMAKE_SOURCE_DIR}/VERSION.cmake) |
|
13 |
- |
|
14 |
- SET (have_system x) |
|
15 |
- |
|
16 |
-+IF (PHOTON) |
|
17 |
-+MESSAGE(STATUS "Building for Photon") |
|
18 |
-+ADD_DEFINITIONS (-DPHOTON) |
|
19 |
-+SET (RPM5 ON) |
|
20 |
-+SET (ENABLE_RPMDB ON) |
|
21 |
-+SET (ENABLE_RPMMD ON) |
|
22 |
-+SET (ENABLE_RPMDB_LMDB ON) |
|
23 |
-+SET (ENABLE_COMPLEX_DEPS ON) |
|
24 |
-+SET (have_system ${have_system}x) |
|
25 |
-+ENDIF (PHOTON) |
|
26 |
-+ |
|
27 |
- IF (FEDORA) |
|
28 |
- MESSAGE(STATUS "Building for Fedora") |
|
29 |
- ADD_DEFINITIONS (-DFEDORA) |
|
30 |
-@@ -220,17 +232,25 @@ IF (ENABLE_RPMDB) |
|
31 |
- ENDIF (RPMMISC_LIBRARY) |
|
32 |
- ENDIF (RPM5) |
|
33 |
- |
|
34 |
-- # check if rpm contains a bundled berkeley db |
|
35 |
-- CHECK_INCLUDE_FILE(rpm/db.h HAVE_RPM_DB_H) |
|
36 |
-- IF (NOT HAVE_RPM_DB_H) |
|
37 |
-- FIND_LIBRARY (DB_LIBRARY NAMES db) |
|
38 |
-+ IF (NOT ENABLE_RPMDB_LMDB) |
|
39 |
-+ # check if rpm contains a bundled berkeley db |
|
40 |
-+ CHECK_INCLUDE_FILE(rpm/db.h HAVE_RPM_DB_H) |
|
41 |
-+ IF (NOT HAVE_RPM_DB_H) |
|
42 |
-+ FIND_LIBRARY (DB_LIBRARY NAMES db) |
|
43 |
-+ IF (DB_LIBRARY) |
|
44 |
-+ SET (RPMDB_LIBRARY ${DB_LIBRARY} ${RPMDB_LIBRARY}) |
|
45 |
-+ ENDIF (DB_LIBRARY) |
|
46 |
-+ IF (DB_INCLUDE_DIR) |
|
47 |
-+ INCLUDE_DIRECTORIES (${DB_INCLUDE_DIR}) |
|
48 |
-+ ENDIF (DB_INCLUDE_DIR) |
|
49 |
-+ ENDIF (NOT HAVE_RPM_DB_H) |
|
50 |
-+ ELSE (NOT ENABLE_RPMDB_LMDB) |
|
51 |
-+ FIND_LIBRARY (DB_LIBRARY NAMES lmdb) |
|
52 |
- IF (DB_LIBRARY) |
|
53 |
- SET (RPMDB_LIBRARY ${DB_LIBRARY} ${RPMDB_LIBRARY}) |
|
54 |
- ENDIF (DB_LIBRARY) |
|
55 |
-- IF (DB_INCLUDE_DIR) |
|
56 |
-- INCLUDE_DIRECTORIES (${DB_INCLUDE_DIR}) |
|
57 |
-- ENDIF (DB_INCLUDE_DIR) |
|
58 |
-- ENDIF (NOT HAVE_RPM_DB_H) |
|
59 |
-+ ENDIF (NOT ENABLE_RPMDB_LMDB) |
|
60 |
-+ |
|
61 |
- INCLUDE (CheckLibraryExists) |
|
62 |
- CHECK_LIBRARY_EXISTS(rpmio pgpDigGetParams "" HAVE_PGPDIGGETPARAMS) |
|
63 |
- ENDIF (ENABLE_RPMDB) |
|
64 |
-diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt |
|
65 |
-index 703796c..d56184f 100644 |
|
66 |
-+++ b/examples/CMakeLists.txt |
|
67 |
-@@ -1,5 +1,5 @@ |
|
68 |
--IF (SUSE OR FEDORA OR DEBIAN OR MANDRIVA OR MAGEIA) |
|
69 |
-+IF (PHOTON OR SUSE OR FEDORA OR DEBIAN OR MANDRIVA OR MAGEIA) |
|
70 |
- |
|
71 |
- ADD_SUBDIRECTORY (solv) |
|
72 |
- |
|
73 |
--ENDIF (SUSE OR FEDORA OR DEBIAN OR MANDRIVA OR MAGEIA) |
|
74 |
-+ENDIF (PHOTON OR SUSE OR FEDORA OR DEBIAN OR MANDRIVA OR MAGEIA) |
|
75 |
-diff --git a/ext/CMakeLists.txt b/ext/CMakeLists.txt |
|
76 |
-index b8917a2..5d75c3f 100644 |
|
77 |
-+++ b/ext/CMakeLists.txt |
|
78 |
-@@ -11,6 +11,13 @@ IF (ENABLE_RPMDB OR ENABLE_RPMPKG) |
|
79 |
- pool_fileconflicts.h repo_rpmdb.h) |
|
80 |
- ENDIF (ENABLE_RPMDB OR ENABLE_RPMPKG) |
|
81 |
- |
|
82 |
-+IF (ENABLE_RPMDB_LMDB) |
|
83 |
-+ SET (libsolvext_SRCS ${libsolvext_SRCS} |
|
84 |
-+ db_lmdb.c) |
|
85 |
-+ SET (libsolvext_HEADERS ${libsolvext_HEADERS} |
|
86 |
-+ db_lmdb.h) |
|
87 |
-+ENDIF (ENABLE_RPMDB_LMDB) |
|
88 |
-+ |
|
89 |
- IF (ENABLE_PUBKEY) |
|
90 |
- SET (libsolvext_SRCS ${libsolvext_SRCS} |
|
91 |
- repo_pubkey.c) |
|
92 |
-diff --git a/ext/db_lmdb.c b/ext/db_lmdb.c |
|
93 |
-new file mode 100644 |
|
94 |
-index 0000000..c3941b0 |
|
95 |
-+++ b/ext/db_lmdb.c |
|
96 |
-@@ -0,0 +1,258 @@ |
|
97 |
-+/* |
|
98 |
-+ * Copyright (c) 2007-2012, Novell Inc. |
|
99 |
-+ * |
|
100 |
-+ * This program is licensed under the BSD license, read LICENSE.BSD |
|
101 |
-+ * for further information |
|
102 |
-+ */ |
|
103 |
-+ |
|
104 |
-+/* |
|
105 |
-+ * db_lmdb |
|
106 |
-+ * |
|
107 |
-+ * bridge for db to lmdb calls |
|
108 |
-+ * |
|
109 |
-+ */ |
|
110 |
-+ |
|
111 |
-+#include <sys/types.h> |
|
112 |
-+#include <sys/stat.h> |
|
113 |
-+#include <limits.h> |
|
114 |
-+#include <fcntl.h> |
|
115 |
-+#include <stdio.h> |
|
116 |
-+#include <stdlib.h> |
|
117 |
-+#include <string.h> |
|
118 |
-+#include <unistd.h> |
|
119 |
-+#include <assert.h> |
|
120 |
-+#include <stdint.h> |
|
121 |
-+#include <errno.h> |
|
122 |
-+ |
|
123 |
-+#include "db_lmdb.h" |
|
124 |
-+#include "util.h" |
|
125 |
-+ |
|
126 |
-+int db_env_open(struct _DB_ENV_ *dbenv, const char *dbpath, u_int32_t flags, int naccess) |
|
127 |
-+{ |
|
128 |
-+ int err = 0; |
|
129 |
-+ |
|
130 |
-+ err = mdb_env_open(dbenv->env, dbpath, 0, naccess); |
|
131 |
-+ bail_on_error(err); |
|
132 |
-+ |
|
133 |
-+error: |
|
134 |
-+ return err; |
|
135 |
-+} |
|
136 |
-+ |
|
137 |
-+int db_env_close(struct _DB_ENV_ *dbenv, u_int32_t flags) |
|
138 |
-+{ |
|
139 |
-+ int err = 0; |
|
140 |
-+ |
|
141 |
-+ if(dbenv && dbenv->env) |
|
142 |
-+ mdb_env_close(dbenv->env); |
|
143 |
-+ |
|
144 |
-+ return err; |
|
145 |
-+} |
|
146 |
-+ |
|
147 |
-+int db_env_get_open_flags(struct _DB_ENV_ *dbenv, u_int32_t *flags) |
|
148 |
-+{ |
|
149 |
-+ *flags = 0; |
|
150 |
-+ return 0; |
|
151 |
-+} |
|
152 |
-+ |
|
153 |
-+int db_env_create (DB_ENV **dbenvp, u_int32_t flags) |
|
154 |
-+{ |
|
155 |
-+ DB_ENV *dbenv = NULL; |
|
156 |
-+ MDB_env *mdbenv = NULL; |
|
157 |
-+ int err = 0; |
|
158 |
-+ |
|
159 |
-+ dbenv = solv_malloc(sizeof(DB_ENV)); |
|
160 |
-+ if(!dbenv) |
|
161 |
-+ err = ENOMEM; |
|
162 |
-+ bail_on_error(err); |
|
163 |
-+ |
|
164 |
-+ err = mdb_env_create(&mdbenv); |
|
165 |
-+ bail_on_error(err); |
|
166 |
-+ |
|
167 |
-+ err = mdb_env_set_maxreaders(mdbenv, 16); |
|
168 |
-+ bail_on_error(err); |
|
169 |
-+ |
|
170 |
-+ err = mdb_env_set_maxdbs(mdbenv, 32); |
|
171 |
-+ bail_on_error(err); |
|
172 |
-+ |
|
173 |
-+ err = mdb_env_set_mapsize(mdbenv, 50*1024*1024); |
|
174 |
-+ bail_on_error(err); |
|
175 |
-+ |
|
176 |
-+ dbenv->env = mdbenv; |
|
177 |
-+ dbenv->open = db_env_open; |
|
178 |
-+ dbenv->close = db_env_close; |
|
179 |
-+ dbenv->get_open_flags = db_env_get_open_flags; |
|
180 |
-+ |
|
181 |
-+ *dbenvp = dbenv; |
|
182 |
-+cleanup: |
|
183 |
-+ return err; |
|
184 |
-+ |
|
185 |
-+error: |
|
186 |
-+ if(mdbenv) |
|
187 |
-+ mdb_env_close(mdbenv); |
|
188 |
-+ solv_free(dbenv); |
|
189 |
-+ goto cleanup; |
|
190 |
-+} |
|
191 |
-+ |
|
192 |
-+//db |
|
193 |
-+int db_close(struct _DB_ *db, u_int32_t flags) |
|
194 |
-+{ |
|
195 |
-+ return 0; |
|
196 |
-+} |
|
197 |
-+ |
|
198 |
-+int dbc_close(struct _DBC_ *dbc) |
|
199 |
-+{ |
|
200 |
-+/* |
|
201 |
-+ if(dbc->txn) |
|
202 |
-+ { |
|
203 |
-+ if(dbc->txn->txn) |
|
204 |
-+ mdb_txn_abort(dbc->txn->txn); |
|
205 |
-+ dbc->txn->txn = NULL; |
|
206 |
-+ solv_free(dbc->txn); |
|
207 |
-+ } |
|
208 |
-+ dbc->txn = NULL; |
|
209 |
-+*/ |
|
210 |
-+ return 0; |
|
211 |
-+} |
|
212 |
-+ |
|
213 |
-+int dbc_c_close(struct _DBC_ *dbc) |
|
214 |
-+{ |
|
215 |
-+ if(dbc->cursor) |
|
216 |
-+ mdb_cursor_close(dbc->cursor); |
|
217 |
-+ dbc->cursor = NULL; |
|
218 |
-+ return 0; |
|
219 |
-+} |
|
220 |
-+ |
|
221 |
-+int dbc_c_get(struct _DBC_ *dbc, struct _DBT_ *key, struct _DBT_ *value, u_int32_t flags) |
|
222 |
-+{ |
|
223 |
-+ int err = 0; |
|
224 |
-+ u_int32_t flagsin = flags == DB_SET ? MDB_SET : MDB_NEXT; |
|
225 |
-+ MDB_val mkey, mval; |
|
226 |
-+ |
|
227 |
-+ if(flagsin == MDB_SET) |
|
228 |
-+ { |
|
229 |
-+ mkey.mv_size = key->size; |
|
230 |
-+ mkey.mv_data = key->data; |
|
231 |
-+ } |
|
232 |
-+ |
|
233 |
-+ err = mdb_cursor_get(dbc->cursor, &mkey, &mval, flagsin); |
|
234 |
-+ bail_on_error(err); |
|
235 |
-+ |
|
236 |
-+ if(flagsin == MDB_NEXT) |
|
237 |
-+ { |
|
238 |
-+ key->size = mkey.mv_size; |
|
239 |
-+ key->data = mkey.mv_data; |
|
240 |
-+ } |
|
241 |
-+ value->size = mval.mv_size; |
|
242 |
-+ value->data = mval.mv_data; |
|
243 |
-+ |
|
244 |
-+cleanup: |
|
245 |
-+ return err; |
|
246 |
-+error: |
|
247 |
-+ goto cleanup; |
|
248 |
-+} |
|
249 |
-+ |
|
250 |
-+int db_cursor(struct _DB_ *db, struct _DB_TXN_ *txn, |
|
251 |
-+ struct _DBC_ **dbcp, u_int32_t flags) |
|
252 |
-+{ |
|
253 |
-+ int err = 0; |
|
254 |
-+ DBC *dbc = NULL; |
|
255 |
-+ |
|
256 |
-+ DB_TXN *txncurrent = txn ? txn : db->txn; |
|
257 |
-+ |
|
258 |
-+ if(!txncurrent || !txncurrent->txn) |
|
259 |
-+ err = EINVAL; |
|
260 |
-+ bail_on_error(err); |
|
261 |
-+ |
|
262 |
-+ dbc = solv_malloc(sizeof(DBC)); |
|
263 |
-+ if(!dbc) |
|
264 |
-+ err = ENOMEM; |
|
265 |
-+ bail_on_error(err); |
|
266 |
-+ |
|
267 |
-+ err = mdb_cursor_open(txncurrent->txn, db->db, &dbc->cursor); |
|
268 |
-+ bail_on_error(err); |
|
269 |
-+ |
|
270 |
-+ dbc->close = dbc_close; |
|
271 |
-+ dbc->c_close = dbc_c_close; |
|
272 |
-+ dbc->c_get = dbc_c_get; |
|
273 |
-+ |
|
274 |
-+ *dbcp = dbc; |
|
275 |
-+cleanup: |
|
276 |
-+ return err; |
|
277 |
-+error: |
|
278 |
-+ solv_free(dbc); |
|
279 |
-+ goto cleanup; |
|
280 |
-+} |
|
281 |
-+ |
|
282 |
-+int db_get(struct _DB_ *db, struct _DB_TXN_ *txn, |
|
283 |
-+ struct _DBT_ *key, struct _DBT_ *value, u_int32_t flags) |
|
284 |
-+{ |
|
285 |
-+ return 0; |
|
286 |
-+} |
|
287 |
-+ |
|
288 |
-+int db_open(struct _DB_ *db, struct _DB_TXN_ *txn, |
|
289 |
-+ const char *file, const char *database, |
|
290 |
-+ DBTYPE dbtype, u_int32_t flags, int mode) |
|
291 |
-+{ |
|
292 |
-+ int err = 0; |
|
293 |
-+ DB_TXN *txnp = NULL; |
|
294 |
-+ MDB_dbi dbi = -1; |
|
295 |
-+ DB_TXN *txncurrent = txn; |
|
296 |
-+ |
|
297 |
-+ if(!txn) |
|
298 |
-+ { |
|
299 |
-+ u_int32_t txnflags = flags & DB_RDONLY ? MDB_RDONLY : 0; |
|
300 |
-+ txnp = solv_malloc(sizeof(DB_TXN)); |
|
301 |
-+ if(!txnp) |
|
302 |
-+ err = ENOMEM; |
|
303 |
-+ bail_on_error(err); |
|
304 |
-+ |
|
305 |
-+ err = mdb_txn_begin(db->env, NULL, txnflags, &txnp->txn); |
|
306 |
-+ bail_on_error(err); |
|
307 |
-+ |
|
308 |
-+ txncurrent = txnp; |
|
309 |
-+ } |
|
310 |
-+ |
|
311 |
-+ err = mdb_dbi_open(txncurrent->txn, file, 0, &dbi); |
|
312 |
-+ bail_on_error(err); |
|
313 |
-+ |
|
314 |
-+ db->txn = txnp; |
|
315 |
-+ db->db = dbi; |
|
316 |
-+ |
|
317 |
-+cleanup: |
|
318 |
-+ return err; |
|
319 |
-+error: |
|
320 |
-+ solv_free(txnp); |
|
321 |
-+ goto cleanup; |
|
322 |
-+} |
|
323 |
-+ |
|
324 |
-+int db_get_byteswapped(struct _DB_ *db, int *byteswapped) |
|
325 |
-+{ |
|
326 |
-+ *byteswapped = 0; |
|
327 |
-+ return 0; |
|
328 |
-+} |
|
329 |
-+ |
|
330 |
-+int db_create (DB **db, DB_ENV *dbenv, u_int32_t flags) |
|
331 |
-+{ |
|
332 |
-+ int err = 0; |
|
333 |
-+ DB *dbp = NULL; |
|
334 |
-+ |
|
335 |
-+ dbp = solv_malloc(sizeof(DB)); |
|
336 |
-+ if(!dbp) |
|
337 |
-+ err = ENOMEM; |
|
338 |
-+ bail_on_error(err); |
|
339 |
-+ |
|
340 |
-+ |
|
341 |
-+ dbp->env = dbenv->env; |
|
342 |
-+ dbp->close = db_close; |
|
343 |
-+ dbp->cursor = db_cursor; |
|
344 |
-+ dbp->get = db_get; |
|
345 |
-+ dbp->get_byteswapped = db_get_byteswapped; |
|
346 |
-+ dbp->open = db_open; |
|
347 |
-+ *db = dbp; |
|
348 |
-+ |
|
349 |
-+cleanup: |
|
350 |
-+ return err; |
|
351 |
-+error: |
|
352 |
-+ solv_free(dbp); |
|
353 |
-+ goto cleanup; |
|
354 |
-+} |
|
355 |
-diff --git a/ext/db_lmdb.h b/ext/db_lmdb.h |
|
356 |
-new file mode 100644 |
|
357 |
-index 0000000..4eb197d |
|
358 |
-+++ b/ext/db_lmdb.h |
|
359 |
-@@ -0,0 +1,83 @@ |
|
360 |
-+/* |
|
361 |
-+ * Copyright (c) 2007-2008, Novell Inc. |
|
362 |
-+ * |
|
363 |
-+ * This program is licensed under the BSD license, read LICENSE.BSD |
|
364 |
-+ * for further information |
|
365 |
-+ */ |
|
366 |
-+ |
|
367 |
-+#ifndef RPM_LMDB_H |
|
368 |
-+#define RPM_LMDB_H |
|
369 |
-+ |
|
370 |
-+#include <lmdb.h> |
|
371 |
-+ |
|
372 |
-+typedef enum |
|
373 |
-+{ |
|
374 |
-+ DB_UNKNOWN=5 |
|
375 |
-+} DBTYPE; |
|
376 |
-+ |
|
377 |
-+typedef struct _DB_ENV_ |
|
378 |
-+{ |
|
379 |
-+ MDB_env *env; |
|
380 |
-+ int (*get_open_flags) (struct _DB_ENV_ *, u_int32_t *); |
|
381 |
-+ int (*open) (struct _DB_ENV_ *, const char *, u_int32_t, int); |
|
382 |
-+ int (*close) (struct _DB_ENV_ *, u_int32_t); |
|
383 |
-+}DB_ENV; |
|
384 |
-+ |
|
385 |
-+typedef struct _DB_TXN_ |
|
386 |
-+{ |
|
387 |
-+ MDB_txn *txn; |
|
388 |
-+}DB_TXN; |
|
389 |
-+ |
|
390 |
-+typedef struct _DBT_ |
|
391 |
-+{ |
|
392 |
-+ void *data; |
|
393 |
-+ u_int32_t size; |
|
394 |
-+}DBT; |
|
395 |
-+ |
|
396 |
-+typedef struct _DBC_ |
|
397 |
-+{ |
|
398 |
-+ MDB_cursor *cursor; |
|
399 |
-+ int (*close) (struct _DBC_ *); |
|
400 |
-+ int (*c_close) (struct _DBC_ *); |
|
401 |
-+ int (*c_get) (struct _DBC_ *, struct _DBT_ *, struct _DBT_ *, u_int32_t); |
|
402 |
-+}DBC; |
|
403 |
-+ |
|
404 |
-+typedef struct _DB_ |
|
405 |
-+{ |
|
406 |
-+ DB_TXN *txn; |
|
407 |
-+ MDB_dbi db; |
|
408 |
-+ MDB_env *env; |
|
409 |
-+ int (*close) (struct _DB_ *, u_int32_t); |
|
410 |
-+ int (*cursor)(struct _DB_ *, struct _DB_TXN_ *, struct _DBC_ **, u_int32_t); |
|
411 |
-+ int (*get) (struct _DB_ *, struct _DB_TXN_ *, struct _DBT_ *, struct _DBT_ *, u_int32_t); |
|
412 |
-+ int (*get_byteswapped) (struct _DB_ *, int *); |
|
413 |
-+ int (*open) (struct _DB_ *, |
|
414 |
-+ struct _DB_TXN_ *, |
|
415 |
-+ const char *, |
|
416 |
-+ const char *, |
|
417 |
-+ DBTYPE, |
|
418 |
-+ u_int32_t, |
|
419 |
-+ int); |
|
420 |
-+}DB; |
|
421 |
-+ |
|
422 |
-+//definitions from db.h |
|
423 |
-+#define DB_CREATE 0x00000001 |
|
424 |
-+#define DB_INIT_CDB 0x00000080 |
|
425 |
-+#define DB_INIT_MPOOL 0x00000400 |
|
426 |
-+#define DB_PRIVATE 0x00010000 |
|
427 |
-+#define DB_RDONLY 0x00000400 |
|
428 |
-+ |
|
429 |
-+#define DB_NEXT 16 |
|
430 |
-+#define DB_SET 26 |
|
431 |
-+ |
|
432 |
-+int db_env_create (DB_ENV **, u_int32_t); |
|
433 |
-+int db_create (DB **, DB_ENV *, u_int32_t); |
|
434 |
-+ |
|
435 |
-+#define bail_on_error(nerror) \ |
|
436 |
-+ do { \ |
|
437 |
-+ if (nerror) \ |
|
438 |
-+ { \ |
|
439 |
-+ goto error; \ |
|
440 |
-+ } \ |
|
441 |
-+ } while(0) |
|
442 |
-+#endif//RPM_LMDB_H |
|
443 |
-diff --git a/ext/repo_rpmdb.c b/ext/repo_rpmdb.c |
|
444 |
-index fe05bec..9f4ad31 100644 |
|
445 |
-+++ b/ext/repo_rpmdb.c |
|
446 |
-@@ -25,6 +25,7 @@ |
|
447 |
- #include <errno.h> |
|
448 |
- |
|
449 |
- #ifdef ENABLE_RPMDB |
|
450 |
-+#define ENABLE_RPMDB_LMDB |
|
451 |
- |
|
452 |
- #include <rpm/rpmio.h> |
|
453 |
- #include <rpm/rpmpgp.h> |
|
454 |
-@@ -37,7 +38,11 @@ |
|
455 |
- # if defined(SUSE) || defined(HAVE_RPM_DB_H) |
|
456 |
- # include <rpm/db.h> |
|
457 |
- # else |
|
458 |
--# include <db.h> |
|
459 |
-+# ifdef ENABLE_RPMDB_LMDB |
|
460 |
-+# include "db_lmdb.h" |
|
461 |
-+# else |
|
462 |
-+# include <db.h> |
|
463 |
-+# endif |
|
464 |
- # endif |
|
465 |
- #endif |
|
466 |
- |
|
467 |
-@@ -1515,7 +1520,7 @@ count_headers(struct rpmdbstate *state) |
|
468 |
- DBT dbkey; |
|
469 |
- DBT dbdata; |
|
470 |
- |
|
471 |
-- snprintf(dbpath, PATH_MAX, "%s%s/Name", state->rootdir ? state->rootdir : "", state->is_ostree ? "/usr/share/rpm" : "/var/lib/rpm"); |
|
472 |
-+ snprintf(dbpath, PATH_MAX, "%s%s/data.mdb", state->rootdir ? state->rootdir : "", state->is_ostree ? "/usr/share/rpm" : "/var/lib/rpm"); |
|
473 |
- if (stat(dbpath, &statbuf)) |
|
474 |
- return 0; |
|
475 |
- memset(&dbkey, 0, sizeof(dbkey)); |
|
476 |
-@@ -1841,7 +1846,7 @@ repo_add_rpmdb(Repo *repo, Repo *ref, int flags) |
|
477 |
- } |
|
478 |
- |
|
479 |
- /* XXX: should get ro lock of Packages database! */ |
|
480 |
-- snprintf(dbpath, PATH_MAX, "%s%s/Packages", state.rootdir ? state.rootdir : "", state.is_ostree ? "/usr/share/rpm" : "/var/lib/rpm"); |
|
481 |
-+ snprintf(dbpath, PATH_MAX, "%s%s/data.mdb", state.rootdir ? state.rootdir : "", state.is_ostree ? "/usr/share/rpm" : "/var/lib/rpm"); |
|
482 |
- if (stat(dbpath, &packagesstat)) |
|
483 |
- { |
|
484 |
- pool_error(pool, -1, "%s: %s", dbpath, strerror(errno)); |
... | ... |
@@ -6,14 +6,14 @@ License: BSD |
6 | 6 |
URL: https://github.com/openSUSE/libsolv |
7 | 7 |
Source0: https://github.com/openSUSE/libsolv/archive/%{name}-%{version}.tar.gz |
8 | 8 |
%define sha1 libsolv=7699af00e648bf3e631246559c48ceb7f3f544b9 |
9 |
-Patch0: libsolv-lmdb.patch |
|
10 | 9 |
Group: Development/Tools |
11 | 10 |
Vendor: VMware, Inc. |
12 | 11 |
Distribution: Photon |
13 |
-Requires: lmdb |
|
12 |
+Requires: libdb |
|
14 | 13 |
Requires: expat-libs |
15 |
-BuildRequires: lmdb-devel |
|
14 |
+BuildRequires: libdb-devel |
|
16 | 15 |
BuildRequires: cmake |
16 |
+BuildRequires: rpm-devel |
|
17 | 17 |
BuildRequires: expat-devel |
18 | 18 |
Provides: pkgconfig(libsolv) |
19 | 19 |
%description |
... | ... |
@@ -30,19 +30,16 @@ for developing applications that use libsolv. |
30 | 30 |
|
31 | 31 |
%prep |
32 | 32 |
%setup -q |
33 |
-%patch0 -p1 |
|
34 |
- |
|
35 | 33 |
%build |
36 | 34 |
cmake \ |
37 | 35 |
-DCMAKE_INSTALL_PREFIX=%{_prefix} \ |
38 |
- -DPHOTON=ON |
|
36 |
+ -DRPM5=ON \ |
|
37 |
+ -DENABLE_RPMDB=ON \ |
|
38 |
+ -DENABLE_COMPLEX_DEPS=ON |
|
39 | 39 |
make %{?_smp_mflags} |
40 |
- |
|
41 | 40 |
%install |
42 | 41 |
make DESTDIR=%{buildroot} install |
43 | 42 |
find %{buildroot} -name '*.la' -delete |
44 |
-#cp ext/repo_*.h %{buildroot}%{_includedir}/solv |
|
45 |
- |
|
46 | 43 |
|
47 | 44 |
%check |
48 | 45 |
make %{?_smp_mflags} test |
49 | 46 |
deleted file mode 100644 |
... | ... |
@@ -1,10 +0,0 @@ |
1 |
-prefix=/usr |
|
2 |
-exec_prefix=${prefix} |
|
3 |
-libdir=${exec_prefix}/lib |
|
4 |
-includedir=${prefix}/include |
|
5 |
- |
|
6 |
-Name: lmdb |
|
7 |
-Description: Lightning memory-mapped database manager |
|
8 |
-Version: 0.9.21 |
|
9 |
-Libs: -L${libdir} -llmdb |
|
10 |
-Cflags: -I${includedir} |
11 | 1 |
deleted file mode 100644 |
... | ... |
@@ -1,70 +0,0 @@ |
1 |
-Summary: Lightning memory-mapped database manager |
|
2 |
-Name: lmdb |
|
3 |
-Version: 0.9.21 |
|
4 |
-Release: 1%{?dist} |
|
5 |
-Group: System/Libraries |
|
6 |
-Vendor: VMware, Inc. |
|
7 |
-License: OpenLDAP |
|
8 |
-URL: https://github.com/LMDB/lmdb |
|
9 |
-Source0: https://github.com/LMDB/lmdb/archive/LMDB_%{version}.tar.gz |
|
10 |
-%define sha1 LMDB=54d10ee9afaba8db75c8c73832da10b0a47e5807 |
|
11 |
-Source1: %{name}.pc |
|
12 |
-Distribution: Photon |
|
13 |
- |
|
14 |
-%description |
|
15 |
-Lightning memory-mapped database manager |
|
16 |
- |
|
17 |
-%package devel |
|
18 |
-Summary: Development files for lmdb |
|
19 |
-Group: Development/Libraries |
|
20 |
-Requires: lmdb = %{version}-%{release} |
|
21 |
- |
|
22 |
-%description devel |
|
23 |
-Development files for lmdb |
|
24 |
- |
|
25 |
-%prep |
|
26 |
-%setup -qn lmdb-LMDB_%{version} |
|
27 |
- |
|
28 |
-%build |
|
29 |
-cd libraries/liblmdb |
|
30 |
-make |
|
31 |
- |
|
32 |
-%install |
|
33 |
-%define relpath %{_builddir}/%{buildsubdir}/libraries/liblmdb |
|
34 |
-mkdir -p %{buildroot}%{_libdir} |
|
35 |
-mkdir -p %{buildroot}%{_libdir}/pkgconfig |
|
36 |
-mkdir -p %{buildroot}%{_bindir} |
|
37 |
-mkdir -p %{buildroot}%{_includedir} |
|
38 |
-mkdir -p %{buildroot}%{_docdir}/%{name}-%{version} |
|
39 |
- |
|
40 |
-install -m0755 %{relpath}/liblmdb.so %{buildroot}%{_libdir} |
|
41 |
-install -m0755 %{SOURCE1} %{buildroot}%{_libdir}/pkgconfig |
|
42 |
-install -m0755 %{relpath}/mdb_copy %{buildroot}%{_bindir} |
|
43 |
-install -m0755 %{relpath}/mdb_dump %{buildroot}%{_bindir} |
|
44 |
-install -m0755 %{relpath}/mdb_load %{buildroot}%{_bindir} |
|
45 |
-install -m0755 %{relpath}/mdb_stat %{buildroot}%{_bindir} |
|
46 |
-install -m0644 %{relpath}/lmdb.h %{buildroot}%{_includedir} |
|
47 |
-install -m0644 %{relpath}/{CHANGES,LICENSE,intro.doc} %{buildroot}%{_docdir}/%{name}-%{version} |
|
48 |
- |
|
49 |
-%post |
|
50 |
- |
|
51 |
- /sbin/ldconfig |
|
52 |
- |
|
53 |
- # First argument is 1 => New Installation |
|
54 |
- # First argument is 2 => Upgrade |
|
55 |
- |
|
56 |
-%clean |
|
57 |
-rm -rf %{buildroot}/* |
|
58 |
- |
|
59 |
-%files |
|
60 |
-%{_docdir}/* |
|
61 |
-%{_libdir}/*.so |
|
62 |
-%{_bindir}/* |
|
63 |
- |
|
64 |
-%files devel |
|
65 |
-%{_includedir}/* |
|
66 |
-%{_libdir}/pkgconfig/%{name}.pc |
|
67 |
- |
|
68 |
-%changelog |
|
69 |
-* Wed Dec 13 2017 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 0.9.21-1 |
|
70 |
-- Initial |
... | ... |
@@ -2,7 +2,7 @@ |
2 | 2 |
Summary: Net-SNMP is a suite of applications used to implement SNMP v1, SNMP v2c and SNMP v3 using both IPv4 and IPv6. |
3 | 3 |
Name: net-snmp |
4 | 4 |
Version: 5.7.3 |
5 |
-Release: 8%{?dist} |
|
5 |
+Release: 7%{?dist} |
|
6 | 6 |
License: BSD (like) |
7 | 7 |
URL: http://net-snmp.sourceforge.net/ |
8 | 8 |
Group: Productivity/Networking/Other |
... | ... |
@@ -48,8 +48,7 @@ The net-snmp-devel package contains headers and libraries for building SNMP appl |
48 | 48 |
--with-systemd \ |
49 | 49 |
--disable-static \ |
50 | 50 |
--with-x=no \ |
51 |
- --enable-as-needed \ |
|
52 |
- --without-rpm |
|
51 |
+ --enable-as-needed |
|
53 | 52 |
make |
54 | 53 |
|
55 | 54 |
%install |
... | ... |
@@ -97,8 +96,6 @@ rm -rf %{buildroot}/* |
97 | 97 |
%exclude /usr/lib/perl5/5.22.1/x86_64-linux-thread-multi/perllocal.pod |
98 | 98 |
|
99 | 99 |
%changelog |
100 |
-* Wed Jan 31 2018 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 5.7.3-8 |
|
101 |
-- build without rpm support |
|
102 | 100 |
* Mon Jul 24 2017 Dheeraj Shetty <dheerajs@vmware.com> 5.7.3-7 |
103 | 101 |
- Make service file a different source |
104 | 102 |
* Tue Apr 04 2017 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 5.7.3-6 |
... | ... |
@@ -1,7 +1,7 @@ |
1 | 1 |
Summary: Open Source Security Compliance Solution |
2 | 2 |
Name: openscap |
3 | 3 |
Version: 1.2.14 |
4 |
-Release: 4%{?dist} |
|
4 |
+Release: 3%{?dist} |
|
5 | 5 |
License: GPL2+ |
6 | 6 |
URL: https://www.open-scap.org |
7 | 7 |
Source0: https://github.com/OpenSCAP/openscap/releases/download/%{version}/openscap-%{version}.tar.gz |
... | ... |
@@ -20,7 +20,6 @@ BuildRequires: bzip2-devel |
20 | 20 |
BuildRequires: curl-devel |
21 | 21 |
BuildRequires: popt-devel |
22 | 22 |
BuildRequires: python2-devel |
23 |
-BuildRequires: lmdb-devel |
|
24 | 23 |
Requires: curl |
25 | 24 |
Requires: popt |
26 | 25 |
%description |
... | ... |
@@ -96,8 +95,6 @@ find %{buildroot} -name '*.la' -delete |
96 | 96 |
%{_libdir}/python2.7/* |
97 | 97 |
|
98 | 98 |
%changelog |
99 |
-* Sun Mar 04 2018 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 1.2.14-4 |
|
100 |
-- added build requires lmdb-devel |
|
101 | 99 |
* Thu Aug 10 2017 Rongrong Qiu <rqiu@vmware.com> 1.2.14-3 |
102 | 100 |
- Disable make check which need per-XML-XPATH for bug 1900358 |
103 | 101 |
* Fri May 5 2017 Alexey Makhalov <amakhalov@vmware.com> 1.2.14-2 |
... | ... |
@@ -148,7 +148,7 @@ rm -rf %{buildroot} |
148 | 148 |
* Fri Nov 18 2016 Anish Swaminathan <anishs@vmware.com> 2015.7-8 |
149 | 149 |
- Change systemd dependency |
150 | 150 |
* Thu Nov 17 2016 Alexey Makhalov <amakhalov@vmware.com> 2015.7-7 |
151 |
-- Use setup instead of autosetup |
|
151 |
+- Use %setup instead of %autosetup |
|
152 | 152 |
* Fri Oct 07 2016 ChangLee <changlee@vmware.com> 2015.7-6 |
153 | 153 |
- Modified %check |
154 | 154 |
* Thu May 26 2016 Divya Thaluru <dthaluru@vmware.com> 2015.7-5 |
... | ... |
@@ -1,7 +1,7 @@ |
1 | 1 |
Summary: Commit RPMs to an OSTree repository |
2 | 2 |
Name: rpm-ostree |
3 | 3 |
Version: 2017.4 |
4 |
-Release: 8%{?dist} |
|
4 |
+Release: 7%{?dist} |
|
5 | 5 |
Source0: rpm-ostree-%{version}.tar.gz |
6 | 6 |
%define sha1 rpm-ostree=d34882a455afbf0b57617c0962725276967e838a |
7 | 7 |
Source1: libglnx-0c52d85.tar.gz |
... | ... |
@@ -52,7 +52,6 @@ BuildRequires: photon-release |
52 | 52 |
BuildRequires: photon-repos |
53 | 53 |
BuildRequires: bubblewrap |
54 | 54 |
BuildRequires: dbus |
55 |
-BuildRequires: lmdb-devel |
|
56 | 55 |
|
57 | 56 |
Requires: libcap |
58 | 57 |
Requires: librepo |
... | ... |
@@ -129,8 +128,6 @@ make check |
129 | 129 |
%{_bindir}/rpm-ostree-host/function.inc |
130 | 130 |
|
131 | 131 |
%changelog |
132 |
-* Sun Mar 04 2018 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 2017.4-8 |
|
133 |
-- added build requires lmdb-devel |
|
134 | 132 |
* Tue Oct 03 2017 Dheeraj Shetty <dheerajs@vmware.com> 2017.4-7 |
135 | 133 |
- Remove hardcoded /dev/loop0 |
136 | 134 |
* Tue Sep 26 2017 Dheeraj Shetty <dheerajs@vmware.com> 2017.4-6 |
137 | 135 |
deleted file mode 100755 |
... | ... |
@@ -1,124 +0,0 @@ |
1 |
-#!/bin/sh |
|
2 |
- |
|
3 |
-#please see https://github.com/rpm-software-management/rpm/issues/281 |
|
4 |
-#uses code from bdbexport.sh and lmdbimport.sh posted in the discussion. |
|
5 |
- |
|
6 |
-#Use: tool to convert bdb to lmdb and replace existing bdb. |
|
7 |
- |
|
8 |
-#running rpm --rebuilddb is recommended after conversion |
|
9 |
-#for scenarios like docker, photon-micro etc |
|
10 |
-#rpm might not be installed as just rpm-libs is enough. |
|
11 |
-#a warning is issued in this case. |
|
12 |
- |
|
13 |
-#not designed to run multiple times without doing manual |
|
14 |
-#maintenance in between (move backup folders etc) |
|
15 |
- |
|
16 |
-LMDB=/var/lib/rpmdb-lmdb |
|
17 |
-BDB=/var/lib/rpm |
|
18 |
-DUMPDIR=DUMP |
|
19 |
- |
|
20 |
-#bdb database file names |
|
21 |
-TAGS=" |
|
22 |
-Packages |
|
23 |
-Name |
|
24 |
-Basenames |
|
25 |
-Group |
|
26 |
-Requirename |
|
27 |
-Providename |
|
28 |
-Conflictname |
|
29 |
-Obsoletename |
|
30 |
-Triggername |
|
31 |
-Dirnames |
|
32 |
-Installtid |
|
33 |
-Sigmd5 |
|
34 |
-Sha1header |
|
35 |
-Filetriggername |
|
36 |
-Transfiletriggername |
|
37 |
-Recommendname |
|
38 |
-Suggestname |
|
39 |
-Supplementname |
|
40 |
-Enhancename |
|
41 |
-" |
|
42 |
- |
|
43 |
-#backup existing bdb to /var/lib/rpm-bdb-backup |
|
44 |
-function backup_and_replace_rpmdb() { |
|
45 |
- echo "backed up existing bdb to $BDB-bdb-backup" |
|
46 |
- mv $BDB $BDB-bdb-backup |
|
47 |
- mv $LMDB $BDB |
|
48 |
- if [ -x /usr/bin/rpm ]; then |
|
49 |
- rpm --rebuilddb |
|
50 |
- else |
|
51 |
- echo 'rpm binary not found. not running rebuilddb. please install rpm and run rpm --rebuilddb.' |
|
52 |
- fi |
|
53 |
-} |
|
54 |
- |
|
55 |
-function export_from_bdb() { |
|
56 |
- |
|
57 |
- rm -rf $DUMPDIR |
|
58 |
- mkdir -p $DUMPDIR |
|
59 |
- |
|
60 |
- # --- export all the databases |
|
61 |
- for TAG in $TAGS; do |
|
62 |
- echo "-- $TAG --" |
|
63 |
- [ -f $BDB/$TAG ] || continue |
|
64 |
- # --- change from hash -> btree, including swabbing integer keys |
|
65 |
- db_dump $BDB/$TAG | \ |
|
66 |
- sed -e's,^type=hash,type=btree,' -e'/^h_nelem=/d' -e'/^db_pagesize=/d' \ |
|
67 |
- -e's,^ \(..\)\(..\)\(..\)\(..\)$, \4\3\2\1,' \ |
|
68 |
- > $DUMPDIR/$TAG.btree |
|
69 |
- done |
|
70 |
-} |
|
71 |
- |
|
72 |
-function import_to_lmdb() { |
|
73 |
- rm -rf $LMDB |
|
74 |
- mkdir -p $LMDB |
|
75 |
- |
|
76 |
- # --- initialize the lmdb parameters (mapsize MUST be sufficiently large) |
|
77 |
- cat << EOF | mdb_load $LMDB |
|
78 |
-VERSION=3 |
|
79 |
-format=bytevalue |
|
80 |
-type=btree |
|
81 |
-mapsize=1048576000 |
|
82 |
-maxreaders=64 |
|
83 |
-HEADER=END |
|
84 |
-DATA=END |
|
85 |
-EOF |
|
86 |
- |
|
87 |
- # --- import the rpmdb dumps, creating empty indices (unused on RHEL7) as needed |
|
88 |
- for TAG in $TAGS; do |
|
89 |
- echo "-- $TAG --" |
|
90 |
- case $TAG in |
|
91 |
- Enhance*|Filetrigger*|Recommend*|Suggest*|Supplement*|Transfiletrigge*) |
|
92 |
- mdb_load -s $TAG -T $LMDB < /dev/null |
|
93 |
- ;; |
|
94 |
- *) |
|
95 |
- mdb_load -f $DUMPDIR/$TAG.btree -s $TAG $LMDB |
|
96 |
- ;; |
|
97 |
- esac |
|
98 |
- done |
|
99 |
- |
|
100 |
- mdb_stat -a $LMDB |
|
101 |
-} |
|
102 |
- |
|
103 |
-function make_lmdb_from_bdb() { |
|
104 |
- export_from_bdb |
|
105 |
- import_to_lmdb |
|
106 |
-} |
|
107 |
- |
|
108 |
-#check and convert |
|
109 |
-function check_and_convert() { |
|
110 |
- if [ ! -x /usr/bin/db_dump ]; then |
|
111 |
- echo 'libdb-utils is required to do bdb export. please install libdb-utils and try again.' |
|
112 |
- return 1 |
|
113 |
- fi |
|
114 |
- echo 'checking if rpmdb needs conversion' |
|
115 |
- if [ -f $BDB/Packages ]; then |
|
116 |
- echo 'making lmdb from mdb' |
|
117 |
- make_lmdb_from_bdb |
|
118 |
- echo 'backing up and replacing bdb with lmdb' |
|
119 |
- backup_and_replace_rpmdb |
|
120 |
- fi |
|
121 |
-} |
|
122 |
- |
|
123 |
-#convert if required. |
|
124 |
-check_and_convert |
125 | 1 |
deleted file mode 100644 |
... | ... |
@@ -1,108 +0,0 @@ |
1 |
-diff --git a/autogen.sh b/autogen.sh.1 |
|
2 |
-index f7ea2cf..efabeef 100755 |
|
3 |
-+++ b/autogen.sh.1 |
|
4 |
-@@ -4,7 +4,7 @@ export CPPFLAGS |
|
5 |
- export CFLAGS |
|
6 |
- export LDFLAGS |
|
7 |
- |
|
8 |
--autoreconf -i |
|
9 |
-+autoreconf -mif |
|
10 |
- |
|
11 |
- case "$1" in |
|
12 |
- "--noconfigure") |
|
13 |
-diff --git a/configure.ac b/configure.ac.1 |
|
14 |
-index 373d694..b562e94 100644 |
|
15 |
-+++ b/configure.ac.1 |
|
16 |
-@@ -509,6 +509,19 @@ AM_CONDITIONAL(LIBDW,[test "$WITH_LIBDW" = yes]) |
|
17 |
- AM_CONDITIONAL(HAVE_LIBDW_STRTAB,[test "$HAVE_LIBDW_STRTAB" = yes]) |
|
18 |
- |
|
19 |
- #================= |
|
20 |
-+# control bdb defaulting |
|
21 |
-+AC_ARG_ENABLE([bdb], |
|
22 |
-+ [AS_HELP_STRING([--enable-bdb=@<:@yes/no@:>@] |
|
23 |
-+, |
|
24 |
-+ [build with default bdb rpm database format support (default=yes)])], |
|
25 |
-+ [enable_bdb="$enableval"], |
|
26 |
-+ [enable_bdb=yes]) |
|
27 |
-+ |
|
28 |
-+AS_IF([test "$enable_bdb" = "yes"], [ |
|
29 |
-+ |
|
30 |
-+ AC_DEFINE([ENABLE_BDB], [], [engage bdb code paths]) |
|
31 |
-+ |
|
32 |
-+#================= |
|
33 |
- # Process --with/without-external-db |
|
34 |
- AC_ARG_WITH(external_db, [AS_HELP_STRING([--with-external-db],[build against an external Berkeley db])], |
|
35 |
- [case "$with_external_db" in |
|
36 |
-@@ -566,6 +579,8 @@ no|maybe ) |
|
37 |
- esac |
|
38 |
- |
|
39 |
- AC_SUBST([WITH_DB_LIB]) |
|
40 |
-+]) |
|
41 |
-+AM_CONDITIONAL([BDB], [test "$enable_bdb" = yes]) |
|
42 |
- |
|
43 |
- #================= |
|
44 |
- # Process --enable-ndb |
|
45 |
-diff --git a/lib/Makefile.am b/lib/Makefile.am.1 |
|
46 |
-index baf3238..8ab4f1e 100644 |
|
47 |
-+++ b/lib/Makefile.am.1 |
|
48 |
-@@ -24,7 +24,7 @@ EXTRA_PROGRAMS = |
|
49 |
- |
|
50 |
- usrlib_LTLIBRARIES = librpm.la |
|
51 |
- librpm_la_SOURCES = \ |
|
52 |
-- backend/db3.c backend/dbi.c backend/dbi.h \ |
|
53 |
-+ backend/dbi.c backend/dbi.h \ |
|
54 |
- backend/dbiset.c backend/dbiset.h \ |
|
55 |
- headerutil.c header.c headerfmt.c header_internal.h \ |
|
56 |
- rpmdb.c rpmdb_internal.h \ |
|
57 |
-@@ -59,11 +59,15 @@ librpm_la_LIBADD += @LUA_LIBS@ |
|
58 |
- librpm_la_SOURCES += rpmliblua.c rpmliblua.h |
|
59 |
- endif |
|
60 |
- |
|
61 |
-+if BDB |
|
62 |
-+librpm_la_SOURCES += \ |
|
63 |
-+ backend/db3.c |
|
64 |
- if WITH_INTERNAL_DB |
|
65 |
- librpm_la_LIBADD += $(libdb_la) |
|
66 |
- else |
|
67 |
- librpm_la_LIBADD += @WITH_DB_LIB@ |
|
68 |
- endif |
|
69 |
-+endif |
|
70 |
- |
|
71 |
- if NDB |
|
72 |
- librpm_la_SOURCES += \ |
|
73 |
-diff --git a/lib/backend/dbi.c b/lib/backend/dbi.c.1 |
|
74 |
-index e99a5f2..d212881 100644 |
|
75 |
-+++ b/lib/backend/dbi.c.1 |
|
76 |
-@@ -50,11 +50,13 @@ dbDetectBackend(rpmdb rdb) |
|
77 |
- } else |
|
78 |
- #endif |
|
79 |
- { |
|
80 |
-+#ifdef ENABLE_BDB |
|
81 |
- rdb->db_ops = &db3_dbops; |
|
82 |
- if (*db_backend == '\0') { |
|
83 |
- free(db_backend); |
|
84 |
- db_backend = xstrdup("bdb"); |
|
85 |
- } |
|
86 |
-+#endif |
|
87 |
- } |
|
88 |
- |
|
89 |
- #if defined(WITH_LMDB) |
|
90 |
-@@ -75,12 +77,14 @@ dbDetectBackend(rpmdb rdb) |
|
91 |
- free(path); |
|
92 |
- #endif |
|
93 |
- |
|
94 |
-+#ifdef ENABLE_BDB |
|
95 |
- path = rstrscat(NULL, dbhome, "/Packages", NULL); |
|
96 |
- if (access(path, F_OK) == 0 && rdb->db_ops != &db3_dbops) { |
|
97 |
- rdb->db_ops = &db3_dbops; |
|
98 |
- rpmlog(RPMLOG_WARNING, _("Found BDB Packages database while attempting %s backend: using bdb backend.\n"), db_backend); |
|
99 |
- } |
|
100 |
- free(path); |
|
101 |
-+#endif |
|
102 |
- |
|
103 |
- if (db_backend) |
|
104 |
- free(db_backend); |
... | ... |
@@ -3,26 +3,27 @@ |
3 | 3 |
|
4 | 4 |
Summary: Package manager |
5 | 5 |
Name: rpm |
6 |
-Version: 4.14.0 |
|
7 |
-Release: 1%{?dist} |
|
6 |
+Version: 4.13.0.1 |
|
7 |
+Release: 7%{?dist} |
|
8 | 8 |
License: GPLv2+ |
9 | 9 |
URL: http://rpm.org |
10 | 10 |
Group: Applications/System |
11 | 11 |
Vendor: VMware, Inc. |
12 | 12 |
Distribution: Photon |
13 |
-Source0: https://github.com/rpm-software-management/rpm/archive/%{name}-%{version}.tar.bz2 |
|
14 |
-%define sha1 rpm=b15344d67b1bf4b15498efa3667f2ad5de40623f |
|
13 |
+Source0: https://github.com/rpm-software-management/rpm/archive/%{name}-%{version}-release.tar.gz |
|
14 |
+%define sha1 rpm=2119489397d7e4da19320ef9330ab717ac05587d |
|
15 | 15 |
Source1: macros |
16 | 16 |
Source2: brp-strip-debug-symbols |
17 | 17 |
Source3: brp-strip-unneeded |
18 |
-Source4: convert_bdb_to_lmdb.sh |
|
19 |
-Patch0: find-debuginfo-do-not-generate-dir-entries.patch |
|
20 |
-Patch1: rpm-use-lmdb.patch |
|
18 |
+Patch0: find-debuginfo-do-not-generate-non-existing-build-id.patch |
|
19 |
+Patch1: find-debuginfo-do-not-generate-dir-entries.patch |
|
20 |
+Patch2: rpm-CVE-2017-7501.patch |
|
21 | 21 |
Requires: bash |
22 |
+Requires: libdb |
|
22 | 23 |
Requires: rpm-libs = %{version}-%{release} |
23 | 24 |
Requires: libarchive |
24 | 25 |
BuildRequires: libarchive-devel |
25 |
-BuildRequires: lmdb-devel |
|
26 |
+BuildRequires: libdb-devel |
|
26 | 27 |
BuildRequires: popt-devel |
27 | 28 |
BuildRequires: nss-devel |
28 | 29 |
BuildRequires: elfutils-devel |
... | ... |
@@ -37,7 +38,6 @@ RPM package manager |
37 | 37 |
Summary: Libraries and header files for rpm |
38 | 38 |
Provides: pkgconfig(rpm) |
39 | 39 |
Requires: %{name} = %{version}-%{release} |
40 |
-Requires: lmdb-devel |
|
41 | 40 |
%description devel |
42 | 41 |
Static libraries and header files for the support library for rpm |
43 | 42 |
|
... | ... |
@@ -51,7 +51,6 @@ Requires: zlib |
51 | 51 |
Requires: bzip2-libs |
52 | 52 |
Requires: elfutils-libelf |
53 | 53 |
Requires: xz-libs |
54 |
-Requires: lmdb |
|
55 | 54 |
%description libs |
56 | 55 |
Shared libraries librpm and librpmio |
57 | 56 |
|
... | ... |
@@ -86,25 +85,17 @@ Requires: python3 |
86 | 86 |
%description -n python3-rpm |
87 | 87 |
Python3 rpm. |
88 | 88 |
|
89 |
-%package convert-db |
|
90 |
-Summary: Tools to convert bdb to lmdb |
|
91 |
-Group: Applications/Utilities |
|
92 |
-Requires: libdb-utils |
|
93 |
-Requires: lmdb |
|
94 |
-%description convert-db |
|
95 |
-Tools to convert existing rpm db from bdb to lmdb. |
|
96 |
- |
|
97 | 89 |
%prep |
98 |
-%setup -n %{name}-%{version} |
|
90 |
+%setup -n rpm-%{name}-%{version}-release |
|
99 | 91 |
%patch0 -p1 |
100 | 92 |
%patch1 -p1 |
93 |
+%patch2 -p1 |
|
101 | 94 |
|
102 | 95 |
%build |
103 | 96 |
sed -i '/define _GNU_SOURCE/a #include "../config.h"' tools/sepdebugcrcfix.c |
104 | 97 |
# pass -L opts to gcc as well to prioritize it over standard libs |
105 | 98 |
sed -i 's/-Wl,-L//g' python/setup.py.in |
106 | 99 |
sed -i 's/extra_link_args/library_dirs/g' python/setup.py.in |
107 |
-sed -i 's/_db_backend\s*bdb/_db_backend lmdb/' macros.in |
|
108 | 100 |
|
109 | 101 |
./autogen.sh --noconfigure |
110 | 102 |
./configure \ |
... | ... |
@@ -129,8 +120,7 @@ sed -i 's/_db_backend\s*bdb/_db_backend lmdb/' macros.in |
129 | 129 |
--with-cap \ |
130 | 130 |
--without-lua \ |
131 | 131 |
--disable-silent-rules \ |
132 |
- --disable-bdb \ |
|
133 |
- --enable-lmdb |
|
132 |
+ --with-external-db |
|
134 | 133 |
make %{?_smp_mflags} |
135 | 134 |
|
136 | 135 |
pushd python |
... | ... |
@@ -150,7 +140,6 @@ install -dm 755 %{buildroot}%{_sysconfdir}/rpm |
150 | 150 |
install -vm644 %{SOURCE1} %{buildroot}%{_sysconfdir}/rpm/ |
151 | 151 |
install -vm755 %{SOURCE2} %{buildroot}%{_libdir}/rpm/ |
152 | 152 |
install -vm755 %{SOURCE3} %{buildroot}%{_libdir}/rpm/ |
153 |
-install -vm744 %{SOURCE4} %{buildroot}%{_bindir} |
|
154 | 153 |
|
155 | 154 |
pushd python |
156 | 155 |
python2 setup.py install --skip-build --prefix=%{_prefix} --root=%{buildroot} |
... | ... |
@@ -165,7 +154,7 @@ rm -rf %{buildroot} |
165 | 165 |
|
166 | 166 |
%files |
167 | 167 |
%defattr(-,root,root) |
168 |
-%{_bindir}/rpm |
|
168 |
+/bin/rpm |
|
169 | 169 |
%{_bindir}/gendiff |
170 | 170 |
%{_bindir}/rpm2archive |
171 | 171 |
%{_bindir}/rpm2cpio |
... | ... |
@@ -243,15 +232,12 @@ rm -rf %{buildroot} |
243 | 243 |
|
244 | 244 |
%{_libdir}/rpm/pythondeps.sh |
245 | 245 |
%{_libdir}/rpm/rpmdeps |
246 |
-%{_libdir}/rpm/pythondistdeps.py |
|
247 | 246 |
|
248 | 247 |
%{_mandir}/man1/gendiff.1* |
249 | 248 |
%{_mandir}/man8/rpmbuild.8* |
250 | 249 |
%{_mandir}/man8/rpmdeps.8* |
251 | 250 |
%{_mandir}/man8/rpmspec.8* |
252 | 251 |
%{_mandir}/man8/rpmsign.8.gz |
253 |
-%{_mandir}/man8/rpm-misc.8.gz |
|
254 |
-%{_mandir}/man8/rpm-plugin-systemd-inhibit.8.gz |
|
255 | 252 |
|
256 | 253 |
%files devel |
257 | 254 |
%defattr(-,root,root) |
... | ... |
@@ -273,13 +259,9 @@ rm -rf %{buildroot} |
273 | 273 |
%defattr(-,root,root) |
274 | 274 |
%{python3_sitelib}/* |
275 | 275 |
|
276 |
-%files convert-db |
|
277 |
-%defattr(-,root,root) |
|
278 |
-%{_bindir}/convert_bdb_to_lmdb.sh |
|
279 |
- |
|
280 | 276 |
%changelog |
281 |
-* Fri Dec 15 2017 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 4.14.0-1 |
|
282 |
-- Update to 4.14.0, remove bdb dependences and use lmdb. |
|
277 |
+* Thu Dec 21 2017 Xiaolin Li <xiaolinl@vmware.com> 4.13.0.1-7 |
|
278 |
+- Fix CVE-2017-7501 |
|
283 | 279 |
* Wed Oct 04 2017 Alexey Makhalov <amakhalov@vmware.com> 4.13.0.1-6 |
284 | 280 |
- make python{,3}-rpm depend on current version of librpm |
285 | 281 |
* Wed Jun 28 2017 Xiaolin Li <xiaolinl@vmware.com> 4.13.0.1-5 |
... | ... |
@@ -692,11 +692,3 @@ class PackageUtils(object): |
692 | 692 |
# self.logger.error("Building rpm failed for " + specFile) |
693 | 693 |
# raise Exception("RPM Build failed") |
694 | 694 |
return listRPMFiles, listSRPMFiles |
695 |
- |
|
696 |
- #run db conversion. needs to be run in chroot. |
|
697 |
- #its important to do this after rpm operations from |
|
698 |
- #outside chroot is done. |
|
699 |
- def ensureLMDBForRPMDB(self, chrootID, logFile): |
|
700 |
- convertCmd= "convert_bdb_to_lmdb.sh" |
|
701 |
- chrootCmd=self.runInChrootCommand+" "+chrootID |
|
702 |
- CommandUtils().runCommandInShell(convertCmd, logFile, chrootCmd) |
... | ... |
@@ -160,11 +160,6 @@ class ToolChainUtils(object): |
160 | 160 |
print(constants.perPackageToolChain[packageName]) |
161 | 161 |
self.installCustomToolChainRPMS(chrootID, constants.perPackageToolChain[packageName], |
162 | 162 |
packageName) |
163 |
- #convert rpm db to lmdb (if required) |
|
164 |
- convertLogFile = self.logPath+"/rpmdbconvert.log" |
|
165 |
- pkgUtilsConvert=PackageUtils(self.logName,self.logPath) |
|
166 |
- pkgUtilsConvert.ensureLMDBForRPMDB(chrootID, convertLogFile) |
|
167 |
- |
|
168 | 163 |
|
169 | 164 |
def installCustomToolChainRPMS(self, chrootID, listOfToolChainPkgs, packageName): |
170 | 165 |
self.logger.info("Installing package specific tool chain RPMs for " + packageName + |
... | ... |
@@ -111,11 +111,11 @@ class constants(object): |
111 | 111 |
"openssl", |
112 | 112 |
"openssl-devel", |
113 | 113 |
"python2", |
114 |
+ "libdb", |
|
114 | 115 |
"rpm", |
115 | 116 |
"groff", |
116 | 117 |
"man-pages", |
117 |
- "cpio", |
|
118 |
- "lmdb"] |
|
118 |
+ "cpio"] |
|
119 | 119 |
|
120 | 120 |
# List or RPMS that will be installed in a chroot prior to build each |
121 | 121 |
# package. This list should be ordered by install order. On a stage1 |
... | ... |
@@ -214,13 +214,10 @@ class constants(object): |
214 | 214 |
"rpm-build", |
215 | 215 |
"rpm-devel", |
216 | 216 |
"rpm-libs", |
217 |
- "rpm-convert-db", |
|
218 | 217 |
"groff", |
219 | 218 |
"man-pages", |
220 | 219 |
"cpio", |
221 |
- "go", |
|
222 |
- "lmdb", |
|
223 |
- "libdb-utils"] |
|
220 |
+ "go"] |
|
224 | 221 |
|
225 | 222 |
perPackageToolChain = dict.fromkeys( |
226 | 223 |
["openjdk8", |
... | ... |
@@ -3,8 +3,8 @@ noarch/man-pages-3.59-1.ph1.noarch.rpm |
3 | 3 |
noarch/apache-maven-3.3.9-4.ph1.noarch.rpm |
4 | 4 |
x86_64/python2-devel-2.7.11-1.ph1.x86_64.rpm |
5 | 5 |
x86_64/nspr-4.11-1.ph1.x86_64.rpm |
6 |
-x86_64/rpm-4.14.0-1.ph2.x86_64.rpm |
|
7 |
-x86_64/rpm-libs-4.14.0-1.ph2.x86_64.rpm |
|
6 |
+x86_64/rpm-4.13.0.1-5.ph2.x86_64.rpm |
|
7 |
+x86_64/rpm-libs-4.13.0.1-5.ph2.x86_64.rpm |
|
8 | 8 |
x86_64/binutils-devel-2.25.1-1.ph1.x86_64.rpm |
9 | 9 |
x86_64/nss-3.21-1.ph1.x86_64.rpm |
10 | 10 |
x86_64/mpfr-devel-3.1.3-1.ph1.x86_64.rpm |
... | ... |
@@ -21,10 +21,10 @@ x86_64/readline-7.0-1.ph1.x86_64.rpm |
21 | 21 |
x86_64/gettext-0.19.5.1-1.ph1.x86_64.rpm |
22 | 22 |
x86_64/perl-5.22.1-2.ph1.x86_64.rpm |
23 | 23 |
x86_64/man-db-2.7.5-1.ph1.x86_64.rpm |
24 |
-x86_64/elfutils-libelf-0.169-2.ph2.x86_64.rpm |
|
24 |
+x86_64/elfutils-libelf-0.165-1.ph1.x86_64.rpm |
|
25 | 25 |
x86_64/gdbm-1.11-1.ph1.x86_64.rpm |
26 | 26 |
x86_64/autoconf-2.69-3.ph1.x86_64.rpm |
27 |
-x86_64/rpm-devel-4.14.0-1.ph2.x86_64.rpm |
|
27 |
+x86_64/rpm-devel-4.13.0.1-5.ph2.x86_64.rpm |
|
28 | 28 |
x86_64/file-5.24-1.ph1.x86_64.rpm |
29 | 29 |
x86_64/mpfr-3.1.3-1.ph1.x86_64.rpm |
30 | 30 |
x86_64/zlib-devel-1.2.8-2.ph1.x86_64.rpm |
... | ... |
@@ -32,7 +32,7 @@ x86_64/libgcc-devel-5.3.0-1.ph1.x86_64.rpm |
32 | 32 |
x86_64/bison-3.0.4-1.ph1.x86_64.rpm |
33 | 33 |
x86_64/lua-5.3.2-1.ph1.x86_64.rpm |
34 | 34 |
x86_64/util-linux-2.27.1-1.ph1.x86_64.rpm |
35 |
-x86_64/rpm-build-4.14.0-1.ph2.x86_64.rpm |
|
35 |
+x86_64/rpm-build-4.13.0.1-5.ph2.x86_64.rpm |
|
36 | 36 |
x86_64/procps-ng-3.3.11-1.ph1.x86_64.rpm |
37 | 37 |
x86_64/coreutils-8.24-1.ph1.x86_64.rpm |
38 | 38 |
x86_64/util-linux-devel-2.27.1-1.ph1.x86_64.rpm |
... | ... |
@@ -51,14 +51,14 @@ x86_64/sqlite-autoconf-3.11.0-1.ph1.x86_64.rpm |
51 | 51 |
x86_64/flex-2.5.39-1.ph1.x86_64.rpm |
52 | 52 |
x86_64/libstdc++-devel-5.3.0-1.ph1.x86_64.rpm |
53 | 53 |
x86_64/openssl-1.0.2g-1.ph1.x86_64.rpm |
54 |
-x86_64/elfutils-0.169-2.ph2.x86_64.rpm |
|
54 |
+x86_64/elfutils-0.165-1.ph1.x86_64.rpm |
|
55 | 55 |
x86_64/expat-2.1.0-1.ph1.x86_64.rpm |
56 | 56 |
x86_64/popt-1.16-1.ph1.x86_64.rpm |
57 | 57 |
x86_64/mpc-1.0.3-1.ph1.x86_64.rpm |
58 | 58 |
x86_64/bzip2-1.0.6-4.ph1.x86_64.rpm |
59 | 59 |
x86_64/glibc-2.22-3.ph1.x86_64.rpm |
60 | 60 |
x86_64/python2-2.7.11-1.ph1.x86_64.rpm |
61 |
-x86_64/elfutils-devel-0.169-2.ph2.x86_64.rpm |
|
61 |
+x86_64/elfutils-devel-0.165-1.ph1.x86_64.rpm |
|
62 | 62 |
x86_64/patch-2.7.5-1.ph1.x86_64.rpm |
63 | 63 |
x86_64/xz-5.2.2-1.ph1.x86_64.rpm |
64 | 64 |
x86_64/binutils-2.25.1-1.ph1.x86_64.rpm |
... | ... |
@@ -66,7 +66,7 @@ x86_64/libgomp-devel-5.3.0-1.ph1.x86_64.rpm |
66 | 66 |
x86_64/bzip2-devel-1.0.6-4.ph1.x86_64.rpm |
67 | 67 |
x86_64/libgcc-5.3.0-1.ph1.x86_64.rpm |
68 | 68 |
x86_64/gzip-1.6-1.ph1.x86_64.rpm |
69 |
-x86_64/elfutils-libelf-devel-0.169-2.ph2.x86_64.rpm |
|
69 |
+x86_64/elfutils-libelf-devel-0.165-1.ph1.x86_64.rpm |
|
70 | 70 |
x86_64/openssl-devel-1.0.2g-1.ph1.x86_64.rpm |
71 | 71 |
x86_64/pkg-config-0.28-1.ph1.x86_64.rpm |
72 | 72 |
x86_64/popt-devel-1.16-1.ph1.x86_64.rpm |
... | ... |
@@ -85,7 +85,3 @@ x86_64/go-1.4.2-5.ph1.x86_64.rpm |
85 | 85 |
x86_64/filesystem-1.0-7.ph1.x86_64.rpm |
86 | 86 |
x86_64/libdb-5.3.28-1.ph2dev.x86_64.rpm |
87 | 87 |
x86_64/libdb-devel-5.3.28-1.ph2dev.x86_64.rpm |
88 |
-x86_64/libdb-utils-5.3.28-3.ph2.x86_64.rpm |
|
89 |
-x86_64/rpm-convert-db-4.14.0-1.ph2.x86_64.rpm |
|
90 |
-x86_64/lmdb-0.9.21-1.ph2.x86_64.rpm |
|
91 |
-x86_64/lmdb-devel-0.9.21-1.ph2.x86_64.rpm |