From Fedora Project Wiki

Revision as of 14:28, 30 March 2020 by Bcotton (talk | contribs) (Announcing the change proposal)

Mark libdb as deprecated

Summary

This change should inform maintainers and developers about effort to remove libdb in future.

Owner

Current status

  • Targeted release: Fedora 33
  • Last updated: 2020-03-30
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

We would like to remove libdb from Fedora in future, because BerkeleyDB 6.x has a more restrictive license than the previous versions (AGPLv3 vs. LGPLv2) and due many projects can't use it. Nowadays Fedora uses the old version (5.3.28) and we can't update to newer. Due to many projects have libdb dependency, we propose few steps to complete removal. First step would mark libdb as deprecated package in Fedora 33. Next steps in Fedora 35 would provide converting tool for existing databases and mark libdb as orphaned.

Benefit to Fedora

We would like to have most recent releases of components in Fedora, which are supported by upstreams. But due to licence of BerkeleyDB we need to hold old BerkeleyDB version in Fedora.

Scope

  • Proposal owners: Not needed for this change - only deprecation
  • Other developers: Developers should prepare own projects(scripts, programs, packages, ...) for the next change and for the complete libdb removal.
  • Policies and guidelines: Not needed for this change - only deprecation
  • Trademark approval: Not needed for this change - only deprecation

Upgrade/compatibility impact

This change hasn't direct impact onto actual dependencies. Purpose of this change is inform and prepare people to future change which will affect many components.

Here is short discussion from Fedora-devel list.

As I mentioned above we would like to remove libdb in the best case in Fedora 35. And time between F33 and F35 we would like to use for discussion about solution, which could transfer existing libdb databases to other and try to find solution for components which supports only libdb.

User Experience

There is no change for users. Package is marked only as deprecated package and behaves as before.

Dependencies

  • Libdb has many dependencies:
  • 389-ds-base
  • apr-util-bdb
  • bind-sdb
  • bogofilter
  • cld
  • clisp
  • cyrus-sasl-lib
  • dsniff
  • evolution-data-server
  • exim
  • heimdal
  • iproute
  • ipv6calc
  • isync
  • jabberd
  • jigdo
  • jigdo-gui
  • kdesvn
  • libetpan
  • libopendkim
  • libserf
  • lizardfs-master
  • mesos
  • mod_dav_svn
  • mod_perl
  • mod_qos
  • mod_security
  • netatalk
  • nmh
  • nss_updatedb
  • nvi
  • opendkim
  • openldap-servers
  • opensips-db_berkeley
  • opensmtpd
  • pam
  • pam_abl
  • pam_ccreds
  • perdition
  • perl-BDB
  • perl-BerkeleyDB
  • perl-DB_File
  • perl-eperl
  • php-dba
  • pl
  • postfix
  • python3-bsddb3
  • rapidsvn
  • redland
  • reprepro
  • rpm
  • rsvndump
  • sendmail
  • sks
  • spamprobe
  • squid
  • squidGuard
  • subversion
  • tqsllib
  • trustedqsl
  • webalizer
  • xemacs

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? No
  • Blocks product? None

Documentation

There is no upstream documentation, but here is a list of dependencies with some useful comments and here some possible alternatives.

Release Notes