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 fi

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

2017-07-30 Thread Robert Scheck
Is it intended, that it's called `/data.mdb` rather `/Packages.mdb`? -- 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/291#issuecomment-318894429__

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

2017-07-30 Thread Jeff Johnson
BDB and LMDB have always had the ability to have mutable databases (actually tables) in a single file. So actually there is a "Packages" (sub-)database/table in data.mdb. Since 2 of 3 backend now have sub-databases in a single file, its likely time to do the same with BDB. I've never bothered t

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

2017-07-30 Thread Jeff Johnson
Here are lib/rpmdb.c and lib/backend/dbi.c replacements. IIRC, rpmdb.c should now be unchanged. dbi.c needed some more anal retentive sanity checks. [rpmdb.c.gz](https://github.com/rpm-software-management/rpm/files/1185904/rpmdb.c.gz) [dbi.c.gz](https://github.com/rpm-software-management/rpm/fi

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

2017-07-30 Thread Igor Gnatenko
@n3npq why don't you send Pull Requests on your own. finding this attachments and converting them to real commits is painful and doesn't lead anywhere... -- 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

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

2017-07-30 Thread Jeff Johnson
See also comments at issue #281 about removing MDB_FIXEDMAP. Just delete the line that looks like `eflags |= MDB_FIXEDMAP` -- 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/2

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

2017-07-30 Thread Jeff Johnson
At some point, "chmod 0666 lock.mdb" needs to be automated. ATM its unclear where that chmod should be planted likely in rpmdb.c, but perhaps as silent hack in lib/backend/lmdb.c). Dunno yet ... -- You are receiving this because you are subscribed to this thread. Reply to this email directly or

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

2017-07-30 Thread ニール・ゴンパ
@Conan-Kudo pushed 1 commit. c2cad9d Remove MDB_FIXEDMAP flag to prevent portability issues -- You are receiving this because you are subscribed to this thread. View it on GitHub: https://github.com/rpm-software-management/rpm/pull/291/files/2864bc4a3cb8905abbed1e833e50e03a6aded5d3..c2cad9da9e

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

2017-07-30 Thread ニール・ゴンパ
@n3npq @hyc @ignatenkobrain This should be fully rebased now. -- 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/291#issuecomment-318926969_

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

2017-07-30 Thread Jeff Johnson
@ignatenkobrain : I don't send PR's because I don't have the time/energy/resources to wait months for review, updating the PR with zero feedback other than "Why don't you send PR's?". That's why. -- You are receiving this because you are subscribed to this thread. Reply to this email directly o

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

2017-07-30 Thread Jeff Johnson
@Conan-Kudo : if using RPM_CHECK_LIB w internal, its a bit trickier than just adding a checkout. So you likely want to remove "internal" as the 1st thing to try in "[yes,internal:external:none]" FYI, removing "none" as in (yes,external) will fail to configure if not found (i.e. mandatory) And

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

2017-07-31 Thread Michael Schroeder
Please remove the part that patches ndb/glue.c from this commit. -- 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/291#issuecomment-319020600__

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

2017-07-31 Thread ニール・ゴンパ
@mlschroe Fixed. -- 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/291#issuecomment-319041353___ Rpm-maint mailing list Rpm-maint@l

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

2017-08-17 Thread Panu Matilainen
@n3npq : well this is a pleasant surprise. Thank you! @Conan-Kudo : testing for Packages.mdb existence doesn't make LMDB create it. AFAICS the "data.mdb" name is hardwired in LMDB unless MDB_NOSUBDIR is used, and using that would introduce other unnecessary complications. I can fix that when co

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

2017-08-17 Thread Panu Matilainen
Closed #291. -- 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/291#event-1209933863___ Rpm-maint mailing list Rpm-maint@lists.rpm.o

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

2017-08-17 Thread Panu Matilainen
Merged manually as of commit ed9de1992f5e1c23e8d8dbd61325a1e0070f2c72 Again, thank you @n3npq for the backend and @Conan-Kudo for the final tweaks! -- 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-softw

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

2017-08-17 Thread ニール・ゴンパ
@pmatilai Thank you for reviewing it! -- 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/291#issuecomment-323041501___ Rpm-maint mai

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

2017-08-17 Thread Jeff Johnson
Code duplication (and refactoring) are the least of the problems with the current RPM backend. There is no concept of a "transaction" or "durability" in the current RPM backend. And the existing INIT_CDB Berkeley DB model implemented has been tortured beyond belief or reason. Anything that LM

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

2017-08-17 Thread Jeff Johnson
FWIW, "data.mdb" can be renamed to "Packages.mdb" in LMDB by adding a flag and passing the file path, not the directory path, when opening. Not worth the effort (and adds confusion: "Packages" is the name of a database/table within "data.mdb" not the name of the file). Note that Berkeley DB al