Status Berkeley DB in openSUSE
Could it be I have missed an announcement that Berkeley DB support has to be removed from packages submitted to Factory? Or is there a mailinglist I failed to subscribe to where this was posted?
Hi, On 24 Dec 11:05 2020, Arjen de Korte wrote:
Could it be I have missed an announcement that Berkeley DB support has to be removed from packages submitted to Factory? Or is there a mailinglist I failed to subscribe to where this was posted?
There is no such rule or discussion. There is some work underway to make it optional which comes from SLE side. So, nothing is being removed. Regards, ismail -- There is a cult of ignorance in the United States, and there has always been. The strain of anti-intellectualism has been a constant thread winding its way through our political and cultural life, nurtured by the false notion that democracy means that my ignorance is just as good as your knowledge. — Isaac Asimov SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany GF: Felix Imendörffer (HRB 36809, AG Nürnberg)
On 24 Dec 11:28 2020, İsmail Dönmez wrote:
Hi,
On 24 Dec 11:05 2020, Arjen de Korte wrote:
Could it be I have missed an announcement that Berkeley DB support has to be removed from packages submitted to Factory? Or is there a mailinglist I failed to subscribe to where this was posted?
There is no such rule or discussion. There is some work underway to make it optional which comes from SLE side. So, nothing is being removed.
Btw so far I saw it's being replaced by lmdb, which should be much much faster. ismail -- Never attribute to malice that which is adequately explained by stupidity. — Hanlon's razor SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany GF: Felix Imendörffer (HRB 36809, AG Nürnberg)
On Thursday 2020-12-24 11:33, İsmail Dönmez wrote:
On 24 Dec 11:28 2020, İsmail Dönmez wrote:
On 24 Dec 11:05 2020, Arjen de Korte wrote:
Could it be I have missed an announcement that Berkeley DB support has to be removed from packages submitted to Factory? Or is there a mailinglist I failed to subscribe to where this was posted?
There is no such rule or discussion. There is some work underway to make it optional which comes from SLE side. So, nothing is being removed.
Btw so far I saw it's being replaced by lmdb, [...]
I like to think of it as "no, not really". A completely unscientific method grepping for BuildRequires shows: # timespan of about 6½ years Leap 13.2: db 56, lmdb 2, sqlite 66 Leap 42.1: db 54, lmdb 4, sqlite 65 Leap 15.1: db 47, lmdb 7, sqlite 73 Factory today: db 44, lmdb 13, sqlite 79 Which would suggest to me that the replacement is perhaps statistically random with no specific preference for lmdb. And rpm has been vocal about the lmdb shortcomings too. commit 7de982ac0957c42f228b43685d9f486e55eac331 Author: Panu Matilainen Date: Thu Mar 19 10:25:11 2020 +0200 Drop the experimental LMDB backend In the three years that LMDB support has been in the tree, and four since upstream promised 1.0.0 in a couple of months, there have been no upstream changes towards eliminating the key size limitations that we need. And in the meanwhile it has become clearer that LMDB is not the promised land it seemed on the outset, instead it has issues like requiring the database size to be pre-determined (#902). Drop support for LMDB, there's active development going on in the [rpm] area of database backends and we cannot afford to drag along an experimental backend that is blocked on upstream design limitations and shows no signs of moving forward. We can always bring it back if the upstream situation changes.
On Thu, Dec 24, 2020 at 6:30 AM Jan Engelhardt <jengelh@inai.de> wrote:
On Thursday 2020-12-24 11:33, İsmail Dönmez wrote:
On 24 Dec 11:28 2020, İsmail Dönmez wrote:
On 24 Dec 11:05 2020, Arjen de Korte wrote:
Could it be I have missed an announcement that Berkeley DB support has to be removed from packages submitted to Factory? Or is there a mailinglist I failed to subscribe to where this was posted?
There is no such rule or discussion. There is some work underway to make it optional which comes from SLE side. So, nothing is being removed.
Btw so far I saw it's being replaced by lmdb, [...]
I like to think of it as "no, not really". A completely unscientific method grepping for BuildRequires shows:
# timespan of about 6½ years Leap 13.2: db 56, lmdb 2, sqlite 66 Leap 42.1: db 54, lmdb 4, sqlite 65 Leap 15.1: db 47, lmdb 7, sqlite 73 Factory today: db 44, lmdb 13, sqlite 79
Which would suggest to me that the replacement is perhaps statistically random with no specific preference for lmdb. And rpm has been vocal about the lmdb shortcomings too.
It was a shame about LMDB because I advocated for it in RPM upstream and shepherded its integration. But LMDB upstream was simply not interested in addressing our concerns after we integrated it. That said, Berkeley DB in openSUSE is old even by most distributions' standards. Unlike everyone else shipping BDB, openSUSE never pulled in BDB 5, and stayed at BDB 4.8. I'm not sure if RPM was the reason why it was held back (which was still not a good reason since RPM itself works with BDB 5 and most distributions were using BDB 5.3 with RPM), but now that it isn't using BDB, if someone cares about BDB in openSUSE, they can upgrade it. Now, insofar as BDB's removal in distributions, Fedora marked BDB as deprecated in Fedora 33[1], switched RPM to use SQLite[2], and is slowly getting the rest of the distribution ported away from BDB. [1]: https://fedoraproject.org/wiki/Changes/Libdb_deprecated [2]: https://fedoraproject.org/wiki/Changes/Sqlite_Rpmdb -- 真実はいつも一つ!/ Always, there's only one truth!
On Thursday 2020-12-24 13:56, Neal Gompa wrote:
That [all] said, Berkeley DB in openSUSE is old even by most distributions' standards. Unlike everyone else shipping BDB, openSUSE never pulled in BDB 5, and stayed at BDB 4.8. I'm not sure if RPM was the reason why it was held back
db5 debuted in 2011, a time when, I would speculate, openSUSE was fresh out of the project oven and had other issues to focus on. The bdb project was not very vocal about its releases either. The mailing list announcements go like 5.1.25, 5.2.28, 5.2.36, 5.3.15, 5.3.21, 6.0.19, 6.1 .. Interim releases existed, but unless you visited the homepage regularly, you would not know. db 6.0.19 (announced 2013-06-10) was noticed. Packages like python-bsddb, clisp, etc. quickly gained patches to support the DB5/DB6 API at my hands. Many packages did not need change, which was nice. By 2013-06-16, db6 itself made an appearance in a develprj (following all the db6-enablement elsewhere). 6.0.21, the first AGPL version, soon followed (something like July) and following up felt unrewarding, so no one did the final switch of the BuildRequires. Which is to say: If the 10-year vintage of db 4.8.30 is a problem to you, we do have the option to switch to the not-quite-so-old 7-year vintage 6.0.19. ;-) Besides, wouldn't bdb fall under the System Library provision anyway?
On Thu, Dec 24, 2020 at 9:34 AM Jan Engelhardt <jengelh@inai.de> wrote:
On Thursday 2020-12-24 13:56, Neal Gompa wrote:
That [all] said, Berkeley DB in openSUSE is old even by most distributions' standards. Unlike everyone else shipping BDB, openSUSE never pulled in BDB 5, and stayed at BDB 4.8. I'm not sure if RPM was the reason why it was held back
db5 debuted in 2011, a time when, I would speculate, openSUSE was fresh out of the project oven and had other issues to focus on.
The bdb project was not very vocal about its releases either. The mailing list announcements go like 5.1.25, 5.2.28, 5.2.36, 5.3.15, 5.3.21, 6.0.19, 6.1 .. Interim releases existed, but unless you visited the homepage regularly, you would not know.
db 6.0.19 (announced 2013-06-10) was noticed. Packages like python-bsddb, clisp, etc. quickly gained patches to support the DB5/DB6 API at my hands. Many packages did not need change, which was nice. By 2013-06-16, db6 itself made an appearance in a develprj (following all the db6-enablement elsewhere).
6.0.21, the first AGPL version, soon followed (something like July) and following up felt unrewarding, so no one did the final switch of the BuildRequires.
Which is to say: If the 10-year vintage of db 4.8.30 is a problem to you, we do have the option to switch to the not-quite-so-old 7-year vintage 6.0.19. ;-)
Besides, wouldn't bdb fall under the System Library provision anyway?
For RPM systems, yes. For everyone else, no. :) -- 真実はいつも一つ!/ Always, there's only one truth!
On Thu, Dec 24, 2020 at 9:37 AM Jan Engelhardt <jengelh@inai.de> wrote:
On Thursday 2020-12-24 15:35, Neal Gompa wrote:
Besides, wouldn't bdb fall under the System Library provision anyway?
For RPM systems, yes. For everyone else, no. :)
Why would that be limited to RPM-based systems?
It's pretty hard to argue BDB is critical for a functioning system when the base system itself doesn't require it. That's the advice I got, anyway. -- 真実はいつも一つ!/ Always, there's only one truth!
On Thu, Dec 24, Arjen de Korte wrote:
Could it be I have missed an announcement that Berkeley DB support has to be removed from packages submitted to Factory? Or is there a mailinglist I failed to subscribe to where this was posted?
Since the from a license point of view newest useable Berkeley DB version is meanwhile pretty old (10 years) and does not see upstream patches nor support and other distributions are meanwhile switching to alternatives, too, it is a very good idea to not introduce new usages of Berkeley DB and replace it in current packages. Independent of an enforcement or not. Thorsten -- Thorsten Kukuk, Distinguished Engineer, Senior Architect SLES & MicroOS SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nuernberg, Germany Managing Director: Felix Imendoerffer (HRB 36809, AG Nürnberg)
On Thu, Dec 24, 2020 at 7:06 AM Arjen de Korte <suse+factory@de-korte.org> wrote:
Could it be I have missed an announcement that Berkeley DB support has to be removed from packages submitted to Factory? Or is there a mailinglist I failed to subscribe to where this was posted?
It should be removed, buut.. some packages only support that backend.. or is it not apparent how to export their database and load it on a different database ..(and that will need automation requiring the very tools we want to get rid of)
On Thursday 2020-12-24 15:05, Cristian Rodríguez wrote:
On Thu, Dec 24, 2020 at 7:06 AM Arjen de Korte <suse+factory@de-korte.org> wrote:
Could it be I have missed an announcement that Berkeley DB support has to be removed from packages submitted to Factory? Or is there a mailinglist I failed to subscribe to where this was posted?
It should be removed, buut.. some packages only support that backend..
You just answeerd it yourself.
participants (6)
-
Arjen de Korte
-
Cristian Rodríguez
-
İsmail Dönmez
-
Jan Engelhardt
-
Neal Gompa
-
Thorsten Kukuk