Browse code

Revert "switch rpmdb to lmdb"

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>

Anish Swaminathan authored on 2018/03/20 06:06:08
Showing 18 changed files
... ...
@@ -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