Re: [Rpm-maint] [rpm-software-management/rpm] Add LMDB backend for RPMDB to RPM (from @n3npq in #281) (#291)

2017-07-29 Thread Jeff Johnson
The last patch to RPM_CHECK_LIB is appropriate for "opt-out" builds (i.e. --without-lmdb). Leave "no" if willing to explicitly "opt-in" by passing --with-lmdb to configure. For a serious test in CI, arrange for the macro %_db_backend lmdb to be set by default. Almost certainly you will also

Re: [Rpm-maint] [rpm-software-management/rpm] hdrNum should be stored in big-endian, not native endian, for btree retrieval (#287)

2017-07-29 Thread Jeff Johnson
NDB appears to not deal with database portability between LE and BE machines. So I'll leave that patch for NDB to implement. The change from native -> big endian is likely a noop anyways because NDB is based on hashed access of hdrNum primary keys. -- You are receiving this because you are

Re: [Rpm-maint] [rpm-software-management/rpm] Add LMDB backend for RPMDB to RPM (#291)

2017-07-29 Thread ニール・ゴンパ
@Conan-Kudo pushed 1 commit. b7c5b2a Add comment that lmdb is an option for %_db_backend -- You are receiving this because you are subscribed to this thread. View it on GitHub:

[Rpm-maint] [rpm-software-management/rpm] Add LMDB backend for RPMDB to RPM (#291)

2017-07-29 Thread ニール・ゴンパ
This PR implements an LMDB-based rpmdb for RPM. Closes #281 Fixes #128 You can view, comment on, or merge this pull request online at: https://github.com/rpm-software-management/rpm/pull/291 -- Commit Summary -- * Add acinclude.m4 with RPM_CHECK_LIB m4 macro * Add LMDB backend to RPM

Re: [Rpm-maint] [rpm-software-management/rpm] RFE: Offer LMDB as an alternative engine to BDB for rpmdb (#128)

2017-07-29 Thread Jeff Johnson
Google Translate works just fine: time to become pluralistic even if you can't crack a joke in Russian. -- You are receiving this because you commented. Reply to this email directly or view it on GitHub:

Re: [Rpm-maint] [rpm-software-management/rpm] RFE: Offer LMDB as an alternative engine to BDB for rpmdb (#128)

2017-07-29 Thread Igor Gnatenko
@Conan-Kudo time to learn russian ;) -- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/issues/128#issuecomment-318854552___ Rpm-maint mailing list

Re: [Rpm-maint] [rpm-software-management/rpm] RFE: Offer LMDB as an alternative engine to BDB for rpmdb (#128)

2017-07-29 Thread ニール・ゴンパ
@leo-yuriev Would you please translate the documentation into English? It's a bit hard for me to understand it, as I don't know Russian. :) -- You are receiving this because you commented. Reply to this email directly or view it on GitHub:

Re: [Rpm-maint] [rpm-software-management/rpm] RFE: Offer LMDB as an alternative engine to BDB for rpmdb (#128)

2017-07-29 Thread Leonid Yuriev
@n3npq, be free to ask me for any related improvements in libmdbx. Additionally, I am glad to boast about new major feature of libdmbx, which is relevant to rpmdb: - In comparison with LMDB, nowadays liblmdb provide automatic dynamic sizing of database file, in both directions - growth and

[Rpm-maint] [rpm-software-management/rpm] RPM backend performance is limited by arrays of hdrNum's (#290)

2017-07-29 Thread Jeff Johnson
The following callgraphs for BDB/LMDB/NDB all show a common hotspot retrieving arrays of hdrNum's from indices. The performance problem shows up worst on add/del operations, where a RMW loop has to be performed to add/del a hdrNum item to an array. The array is then sorted (and perhaps

Re: [Rpm-maint] [rpm-software-management/rpm] RFE: Offer LMDB as an alternative engine to BDB for rpmdb (#128)

2017-07-29 Thread Jeff Johnson
@leo-yuriev: libmdbx looks very nice, but there are several issues that need to be fixed in an rpmdb schema before attempting better back ends. See other issues I have reported against RPM ... -- You are receiving this because you commented. Reply to this email directly or view it on GitHub:

[Rpm-maint] [rpm-software-management/rpm] RPM+NDB should implement ndb_dump/ndb_load/ndb_stat for database dumps. (#289)

2017-07-29 Thread Jeff Johnson
Converting databases is painful, particularly if both forward/backward conversions are desired. BerkeleyDB has a set of utilities to do this conversion, LMDB uses an almost identical set of utilities. While rpmdb --importdb/--exportdb are a high performing KISS improvement on the BDB-style

Re: [Rpm-maint] [rpm-software-management/rpm] RPM+NDB doesn't implement rpmpkgSetFsync() (#288)

2017-07-29 Thread Jeff Johnson
Changing nab_SetFsync() to do the obvious (but perhaps naive) passing: ``` static void ndb_SetFSync(rpmdb rdb, int enable) { struct ndbEnv_s *ndbenv = rdb->db_dbenv; if (ndbenv->xdb) rpmxdbSetFsync(ndbenv->xdb, enable); if (ndbenv->pkgdb) rpmpkgSetFsync(ndbenv->pkgdb,

Re: [Rpm-maint] [rpm-software-management/rpm] RFC Merge RPM 4.13 OS/2 code changes (#260)

2017-07-29 Thread Yuri Dario
No, there is other work which is not ready for merging, see https://github.com/bitwiseworks/rpm/tree/master-os2-dev; but these patches are addressing major OS/2 differences. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub:

[Rpm-maint] [rpm-software-management/rpm] hdrNum should be stored in big-endian, not native endian, for btree retrieval (#287)

2017-07-29 Thread Jeff Johnson
Question #5 in the Berkeley DB Access Method FAQ says this: ``` I'm using integers as keys for a Btree database, and even though the key/data pairs are entered in sorted order, the page-fill factor is low. This is usually the result of using integer keys on little-endian architectures such as

Re: [Rpm-maint] [rpm-software-management/rpm] RFC Merge RPM 4.13 OS/2 code changes (#260)

2017-07-29 Thread Igor Gnatenko
ignatenkobrain commented on this pull request. generally this looks good, is it everything what needs to be done to make RPM to compile and work on OS/2? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub:

Re: [Rpm-maint] [rpm-software-management/rpm] add brp helper scripts from mandriva's spec-helper (#122)

2017-07-29 Thread Igor Gnatenko
ignatenkobrain commented on this pull request. brp-remove-libtool-files feels useless because some packages might need it (there are such packages in fedora), so asking packagers to remove libtool files is my preference here -- You are receiving this because you are subscribed to this

Re: [Rpm-maint] [rpm-software-management/rpm] add brp helper scripts from mandriva's spec-helper (#122)

2017-07-29 Thread Igor Gnatenko
ignatenkobrain commented on this pull request. brp-relink-symlinks seems too magic and I prefer users to explicitly do the right thing. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub:

Re: [Rpm-maint] [rpm-software-management/rpm] add brp helper scripts from mandriva's spec-helper (#122)

2017-07-29 Thread Igor Gnatenko
ignatenkobrain commented on this pull request. brp-remove-info-dir looks useful, although I don't see why we need to be able to turn it off -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub:

Re: [Rpm-maint] [rpm-software-management/rpm] add brp helper scripts from mandriva's spec-helper (#122)

2017-07-29 Thread Igor Gnatenko
ignatenkobrain commented on this pull request. brp-clean-files seems useless to me and might break something. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub:

Re: [Rpm-maint] [rpm-software-management/rpm] _debuginfo_subpackages doesn't play well with perl (#278)

2017-07-29 Thread Igor Gnatenko
Closed #278. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/issues/278#event-1184451466___ Rpm-maint mailing list

Re: [Rpm-maint] [rpm-software-management/rpm] _debuginfo_subpackages doesn't play well with perl (#278)

2017-07-29 Thread Igor Gnatenko
it seems to be just duplicate of #284 -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/issues/278#issuecomment-318813939___ Rpm-maint

Re: [Rpm-maint] [rpm-software-management/rpm] Adding an LMDB backend to RPM (#281)

2017-07-29 Thread Jeff Johnson
Ah, I missed this comment in lmdb.h (and the order of mdb_txn_commit() and mdb_cursor_close() are incorrectly reversed in lmdb_dbiCursorFree()) ``` /** @brief Close a cursor handle. * * The cursor handle will be freed and must not be used again after this call.

Re: [Rpm-maint] [rpm-software-management/rpm] _debuginfo_subpackages breaks build for packages which use RemovePathPostfixes (#280)

2017-07-29 Thread Florian Festi
Closed #280 via 98efb7f6dc222ed175516298a34e807053d125f4. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub:

Re: [Rpm-maint] [rpm-software-management/rpm] Couple fixes for debuginfo subpackages (#286)

2017-07-29 Thread Florian Festi
Merged #286. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/rpm-software-management/rpm/pull/286#event-1184445867___ Rpm-maint mailing list

Re: [Rpm-maint] [rpm-software-management/rpm] Adding an LMDB backend to RPM (#281)

2017-07-29 Thread Jeff Johnson
After adding equivalent disabling of fsync and its ilk to mdb_env_open(): ``` eflags |= MDB_FIXEDMAP; #ifndef HACK eflags |= MDB_WRITEMAP; eflags |= MDB_NOMETASYNC; eflags |= MDB_MAPASYNC; eflags |= MDB_NOSYNC; eflags |= MDB_NOTLS; eflags |=