[Rpm-ecosystem] Using RPM with NDB on macOS

Panu Matilainen pmatilai at redhat.com
Mon Oct 21 09:43:49 UTC 2019

On 10/20/19 3:47 AM, Neal Gompa wrote:
> Hey all,
> As I had alluded to in the pull request adding the SQLite rpmdb
> backend[1], I have been doing some work every once in a while for the
> past few years on rpm for macOS.
> A point of frustration has been having a working bdb package, and
> maintaining bdb is functionally impossible for me, as I have no
> capability to fix bugs there.
> I had been experimenting with LMDB since it was introduced.
> Unfortunately, it turned out to be more problematic than I expected.
> Originally, NDB didn't work on macOS because of its usage of mremap()
> (which does not exist on macOS)[2]. Thankfully, Michael Schroeder
> recently fixed this in git master[3], so I gave it another try.
> After a minor issue[4] and a backport of the ndb fixes to rpm 4.15[5],
> I was able to transition to ndb and start trying it.
> I've gotten rpm itself working with ndb, and it seems like all the
> basic actions work perfectly fine with ndb. I'm working on building up
> a package manager stack so that I can start doing some more
> interesting tests, but there are issues with libsolv where it makes
> the assumption about where the rpmdb path is and what type of rpmdb it
> is...
> My current plan is to at least get to the point where I can try
> working with the solv(1) demo program included in libsolv, and then
> proceed from there. At least with the DNF stack, there's still the
> problem that it assumes bdb[6] and specific rpmdb paths. I'd like to
> get to the point that I could use MicroDNF[7]...
> [1]: https://github.com/rpm-software-management/rpm/pull/899#issuecomment-543129651
> [2]: https://github.com/rpm-software-management/rpm/issues/334
> [3]: https://github.com/rpm-software-management/rpm/commit/3625ca14c752fa229c79891fcc6374df40b5b588
> [4]: https://github.com/rpm-software-management/rpm/pull/907
> [5]: https://github.com/rpm-software-management/rpm/compare/rpm-4.15.x...Conan-Kudo:rpm-4.15.0-osx-ndb
> [6]: https://github.com/rpm-software-management/libdnf/issues/362
> [7]: https://github.com/rpm-software-management/microdnf

Add https://github.com/openSUSE/libsolv/issues/354 to the list, it's 
essentially the very same thing as libdnf ticket #362.

	- Panu -

More information about the Rpm-ecosystem mailing list