From Fedora Project Wiki
(Change Proposal ready for 2014-04-23 FESCo meeting (#1291))
(Moving to ChangePageIncomplete category as this proposal was withdrawed by the owners)
 
(7 intermediate revisions by 3 users not shown)
Line 45: Line 45:
== Current status ==
== Current status ==
* Targeted release: [[Releases/21 | Fedora 21]]  
* Targeted release: [[Releases/21 | Fedora 21]]  
* Last updated: 2014-04-16
* Last updated: 2014-04-25
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
Bugzilla states meaning as usual:
Bugzilla states meaning as usual:
Line 60: Line 60:


Target of this change is to create new set of packages from current {{package|libdb}}, which contains the v5 version, and keep it alongside the latest BerkeleyDB.
Target of this change is to create new set of packages from current {{package|libdb}}, which contains the v5 version, and keep it alongside the latest BerkeleyDB.
As simple mass rebuild with v6 would very likely introduce license incompatibilities, it will be necessary to update and verify all dependent packages to make sure they use the legally compatible version.


== Benefit to Fedora ==
== Benefit to Fedora ==
Line 68: Line 70:
<!-- What work do the developers have to accomplish to complete the change in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do the developers have to accomplish to complete the change in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->


* Proposal owners: Create new set of packages and introduce proper versioning in order to not confuse the dynamic linker.
* Proposal owners: Create new set of packages and introduce proper versioning in order to not confuse the dynamic linker. Supervise verification of proper version linking against other packages.


* Other developers: Packages dependent on libdb would have to specify which version they want to use (specify version in the spec <code>Requires:</code> field). Rebuilds of dependent packages will be necessary.
* Other developers: Packages dependent on libdb would have to specify which version they want to use (specify version in the spec <code>Requires:</code> field). They need to make sure their package links against the version with license compatible with their package. Rebuilds of dependent packages will be necessary.


* Release engineering: None
* Release engineering: None
Line 105: Line 107:


<pre>
<pre>
$ repoquery --disablerepo='*' --enablerepo=fedora --enablerepo=updates --whatrequires 'libdb-5.3.so()(64bit)'
$ repoquery --disablerepo='*' --enablerepo=fedora --enablerepo=updates --whatrequires 'libdb-5.3.so()(64bit)' --qf '%{base_package_name}'  | sort | uniq
</pre>
</pre>


{{hidden|header=Current output of the above command|content=
{{hidden|header=Current output of the above command|content=
<pre>
<pre>
389-ds-base-0:1.3.2.7-1.fc20.x86_64
389-ds-base
389-ds-base-0:1.3.2.16-1.fc20.x86_64
apr-util
apr-util-0:1.5.2-4.fc20.x86_64
claws-mail
apr-util-0:1.5.3-1.fc20.x86_64
clisp
claws-mail-0:3.9.2-7.fc20.x86_64
cyrus-imapd
claws-mail-0:3.9.3-1.fc20.x86_64
cyrus-sasl
claws-mail-plugins-acpi-notifier-0:3.9.2-7.fc20.x86_64
dsniff
claws-mail-plugins-acpi-notifier-0:3.9.3-1.fc20.x86_64
evolution-data-server
claws-mail-plugins-address-keeper-0:3.9.2-7.fc20.x86_64
exim
claws-mail-plugins-address-keeper-0:3.9.3-1.fc20.x86_64
hail
claws-mail-plugins-archive-0:3.9.2-7.fc20.x86_64
httpd
claws-mail-plugins-archive-0:3.9.3-1.fc20.x86_64
httpd-itk
claws-mail-plugins-att-remover-0:3.9.2-7.fc20.x86_64
iproute
claws-mail-plugins-att-remover-0:3.9.3-1.fc20.x86_64
isync
claws-mail-plugins-attachwarner-0:3.9.2-7.fc20.x86_64
jigdo
claws-mail-plugins-attachwarner-0:3.9.3-1.fc20.x86_64
kdesvn
claws-mail-plugins-bogofilter-0:3.9.2-7.fc20.x86_64
libapreq2
claws-mail-plugins-bogofilter-0:3.9.3-1.fc20.x86_64
libdb
claws-mail-plugins-bsfilter-0:3.9.2-7.fc20.x86_64
libetpan
claws-mail-plugins-bsfilter-0:3.9.3-1.fc20.x86_64
libpinyin
claws-mail-plugins-clamd-0:3.9.2-7.fc20.x86_64
libserf
claws-mail-plugins-clamd-0:3.9.3-1.fc20.x86_64
libsolv
claws-mail-plugins-fancy-0:3.9.2-7.fc20.x86_64
libzhuyin
claws-mail-plugins-fancy-0:3.9.3-1.fc20.x86_64
log4cxx
claws-mail-plugins-fetchinfo-0:3.9.2-7.fc20.x86_64
mod_gnutls
claws-mail-plugins-fetchinfo-0:3.9.3-1.fc20.x86_64
mod_security
claws-mail-plugins-gdata-0:3.9.2-7.fc20.x86_64
nmh
claws-mail-plugins-gdata-0:3.9.3-1.fc20.x86_64
nss_updatedb
claws-mail-plugins-mailmbox-0:3.9.2-7.fc20.x86_64
nvi
claws-mail-plugins-mailmbox-0:3.9.3-1.fc20.x86_64
open-cobol
claws-mail-plugins-newmail-0:3.9.2-7.fc20.x86_64
opendkim
claws-mail-plugins-newmail-0:3.9.3-1.fc20.x86_64
openldap
claws-mail-plugins-notification-0:3.9.2-7.fc20.x86_64
openser
claws-mail-plugins-notification-0:3.9.3-1.fc20.x86_64
opensips
claws-mail-plugins-pdf-viewer-0:3.9.2-7.fc20.x86_64
pam
claws-mail-plugins-pdf-viewer-0:3.9.3-1.fc20.x86_64
pam_abl
claws-mail-plugins-perl-0:3.9.2-7.fc20.x86_64
pam_ccreds
claws-mail-plugins-perl-0:3.9.3-1.fc20.x86_64
perdition
claws-mail-plugins-pgp-0:3.9.2-7.fc20.x86_64
perl-BDB
claws-mail-plugins-pgp-0:3.9.3-1.fc20.x86_64
perl-BerkeleyDB
claws-mail-plugins-python-0:3.9.2-7.fc20.x86_64
perl-DB_File
claws-mail-plugins-python-0:3.9.3-1.fc20.x86_64
perl-eperl
claws-mail-plugins-rssyl-0:3.9.2-7.fc20.x86_64
perl-Qt
claws-mail-plugins-rssyl-0:3.9.3-1.fc20.x86_64
perl-XML-LibXSLT
claws-mail-plugins-smime-0:3.9.2-7.fc20.x86_64
php
claws-mail-plugins-smime-0:3.9.3-1.fc20.x86_64
postfix
claws-mail-plugins-spam-report-0:3.9.2-7.fc20.x86_64
postler
claws-mail-plugins-spam-report-0:3.9.3-1.fc20.x86_64
python
claws-mail-plugins-spamassassin-0:3.9.2-7.fc20.x86_64
python3-bsddb3
claws-mail-plugins-spamassassin-0:3.9.3-1.fc20.x86_64
rapidsvn
claws-mail-plugins-tnef-0:3.9.2-7.fc20.x86_64
redland
claws-mail-plugins-tnef-0:3.9.3-1.fc20.x86_64
rpm
claws-mail-plugins-vcalendar-0:3.9.2-7.fc20.x86_64
rsvndump
claws-mail-plugins-vcalendar-0:3.9.3-1.fc20.x86_64
ruby
cld-0:0.8-0.14.gf9c5b967.fc20.x86_64
sendmail
clisp-0:2.49-12.20130208hg.fc20.x86_64
sks
cyrus-imapd-0:2.4.17-6.fc20.x86_64
spamprobe
cyrus-imapd-utils-0:2.4.17-6.fc20.x86_64
squid
cyrus-sasl-0:2.1.26-14.fc20.x86_64
squidGuard
cyrus-sasl-lib-0:2.1.26-14.fc20.x86_64
subversion
dsniff-0:2.4-0.16.b1.fc20.x86_64
tabled
dsniff-0:2.4-0.17.b1.fc20.x86_64
trustedqsl
evolution-data-server-0:3.10.2-2.fc20.x86_64
webalizer
evolution-data-server-0:3.10.4-3.fc20.x86_64
xemacs
exim-0:4.80.1-6.fc20.x86_64
httpd-0:2.4.6-6.fc20.x86_64
httpd-0:2.4.9-2.fc20.x86_64
httpd-itk-0:2.2.22-10.fc20.x86_64
httpd-tools-0:2.4.6-6.fc20.x86_64
httpd-tools-0:2.4.9-2.fc20.x86_64
iproute-0:3.11.0-1.fc20.x86_64
iproute-0:3.12.0-2.fc20.x86_64
isync-0:1.0.6-2.fc20.x86_64
isync-0:1.1.0-1.fc20.x86_64
jigdo-0:0.7.3-18.fc20.x86_64
jigdo-gui-0:0.7.3-18.fc20.x86_64
kdesvn-0:1.6.0-4.fc20.x86_64
libapreq2-0:2.13-14.fc20.x86_64
libcob-0:1.1-1.fc20.x86_64
libdb-utils-0:5.3.28-1.fc20.x86_64
libetpan-0:1.1-7.fc20.x86_64
libpinyin-0:0.9.94-1.fc20.x86_64
libpinyin-0:1.0.0-1.fc20.x86_64
libpinyin-tools-0:0.9.94-1.fc20.x86_64
libpinyin-tools-0:1.0.0-1.fc20.x86_64
libserf-0:1.2.1-4.fc20.x86_64
libserf-0:1.3.4-1.fc20.x86_64
libsolv-0:0.4.0-1.gitd49d319.fc20.x86_64
libsolv-0:0.4.1-1.gitbcedc98.fc20.x86_64
libsolv-demo-0:0.4.0-1.gitd49d319.fc20.x86_64
libsolv-demo-0:0.4.1-1.gitbcedc98.fc20.x86_64
libsolv-tools-0:0.4.0-1.gitd49d319.fc20.x86_64
libsolv-tools-0:0.4.1-1.gitbcedc98.fc20.x86_64
libzhuyin-0:0.9.93-1.fc20.x86_64
libzhuyin-tools-0:0.9.93-1.fc20.x86_64
log4cxx-0:0.10.0-15.fc20.x86_64
mod_dav_svn-0:1.8.3-1.fc20.x86_64
mod_dav_svn-0:1.8.8-1.fc20.x86_64
mod_gnutls-0:0.5.10-9.fc20.x86_64
mod_security-0:2.7.5-2.fc20.x86_64
nmh-0:1.5-8.fc20.x86_64
nss_updatedb-0:10-7.fc20.x86_64
nvi-0:1.81.6-8.fc20.x86_64
open-cobol-0:1.1-1.fc20.x86_64
opendkim-0:2.8.4-2.fc20.x86_64
opendkim-0:2.9.0-2.fc20.x86_64
openldap-servers-0:2.4.36-4.fc20.x86_64
openldap-servers-0:2.4.39-2.fc20.x86_64
openser-db_berkeley-0:1.3.4-31.fc20.x86_64
opensips-db_berkeley-0:1.10.0-1.fc20.x86_64
pam-0:1.1.8-1.fc20.x86_64
pam_abl-0:0.6.0-2.fc20.x86_64
pam_ccreds-0:10-8.fc20.x86_64
perdition-0:2.0-4.fc20.x86_64
perdition-bdb-0:2.0-4.fc20.x86_64
perdition-cdb-0:2.0-4.fc20.x86_64
perdition-ldap-0:2.0-4.fc20.x86_64
perdition-mysql-0:2.0-4.fc20.x86_64
perdition-odbc-0:2.0-4.fc20.x86_64
perdition-postgresql-0:2.0-4.fc20.x86_64
perl-BDB-0:1.90-6.fc20.x86_64
perl-BerkeleyDB-0:0.54-1.fc20.x86_64
perl-DB_File-0:1.830-1.fc20.x86_64
perl-DB_File-0:1.831-1.fc20.x86_64
perl-Qt-0:0.96.0-9.fc20.x86_64
perl-XML-LibXSLT-0:1.81-2.fc20.x86_64
perl-XML-LibXSLT-0:1.89-1.fc20.x86_64
perl-eperl-0:2.2.14-25.fc20.x86_64
perl-libapreq2-0:2.13-14.fc20.x86_64
perl-solv-0:0.4.0-1.gitd49d319.fc20.x86_64
perl-solv-0:0.4.1-1.gitbcedc98.fc20.x86_64
php-dba-0:5.5.6-1.fc20.x86_64
php-dba-0:5.5.10-1.fc20.x86_64
postfix-2:2.10.2-2.fc20.x86_64
postfix-2:2.10.3-1.fc20.x86_64
postler-0:0.1.1-13.fc20.x86_64
python-debug-0:2.7.5-9.fc20.x86_64
python-debug-0:2.7.5-11.fc20.x86_64
python-libs-0:2.7.5-9.fc20.x86_64
python-libs-0:2.7.5-11.fc20.x86_64
python-solv-0:0.4.0-1.gitd49d319.fc20.x86_64
python-solv-0:0.4.1-1.gitbcedc98.fc20.x86_64
python3-bsddb3-0:6.0.0-1.fc20.x86_64
python3-bsddb3-0:6.0.1-1.fc20.x86_64
rapidsvn-0:0.12.1-3.fc20.x86_64
redland-0:1.0.16-4.fc20.x86_64
redland-mysql-0:1.0.16-4.fc20.x86_64
redland-pgsql-0:1.0.16-4.fc20.x86_64
redland-virtuoso-0:1.0.16-4.fc20.x86_64
rpm-0:4.11.1-7.fc20.x86_64
rpm-0:4.11.2-2.fc20.x86_64
rpm-build-0:4.11.1-7.fc20.x86_64
rpm-build-0:4.11.2-2.fc20.x86_64
rpm-build-libs-0:4.11.1-7.fc20.x86_64
rpm-build-libs-0:4.11.2-2.fc20.x86_64
rpm-devel-0:4.11.1-7.fc20.x86_64
rpm-devel-0:4.11.2-2.fc20.x86_64
rpm-libs-0:4.11.1-7.fc20.x86_64
rpm-libs-0:4.11.2-2.fc20.x86_64
rpm-sign-0:4.11.1-7.fc20.x86_64
rpm-sign-0:4.11.2-2.fc20.x86_64
rsvndump-0:0.6-4.fc20.x86_64
ruby-libs-0:2.0.0.247-15.fc20.x86_64
ruby-libs-0:2.0.0.353-16.fc20.x86_64
ruby-solv-0:0.4.0-1.gitd49d319.fc20.x86_64
ruby-solv-0:0.4.1-1.gitbcedc98.fc20.x86_64
sendmail-0:8.14.7-5.fc20.x86_64
sendmail-0:8.14.8-1.fc20.x86_64
sks-0:1.1.4-2.fc20.x86_64
spamprobe-0:1.4d-5.fc20.x86_64
squid-7:3.3.8-3.fc20.x86_64
squid-7:3.3.12-1.fc20.x86_64
squidGuard-0:1.4-19.fc20.x86_64
subversion-0:1.8.3-1.fc20.x86_64
subversion-0:1.8.8-1.fc20.x86_64
subversion-gnome-0:1.8.3-1.fc20.x86_64
subversion-gnome-0:1.8.8-1.fc20.x86_64
subversion-javahl-0:1.8.3-1.fc20.x86_64
subversion-javahl-0:1.8.8-1.fc20.x86_64
subversion-kde-0:1.8.3-1.fc20.x86_64
subversion-kde-0:1.8.8-1.fc20.x86_64
subversion-libs-0:1.8.3-1.fc20.x86_64
subversion-libs-0:1.8.8-1.fc20.x86_64
subversion-perl-0:1.8.3-1.fc20.x86_64
subversion-perl-0:1.8.8-1.fc20.x86_64
subversion-python-0:1.8.3-1.fc20.x86_64
subversion-python-0:1.8.8-1.fc20.x86_64
subversion-ruby-0:1.8.3-1.fc20.x86_64
subversion-ruby-0:1.8.8-1.fc20.x86_64
subversion-tools-0:1.8.3-1.fc20.x86_64
subversion-tools-0:1.8.8-1.fc20.x86_64
tabled-0:0.5.2-3.fc20.x86_64
tqsllib-0:2.3-1.fc20.x86_64
tqsllib-0:2.4-1.fc20.x86_64
trustedqsl-0:1.14.3-1.fc20.x86_64
trustedqsl-0:2.0.1-1.fc20.x86_64
webalizer-0:2.23_05-9.fc20.x86_64
xemacs-0:21.5.34-4.fc20.x86_64
xemacs-0:21.5.34-5.fc20.x86_64
xemacs-nox-0:21.5.34-4.fc20.x86_64
xemacs-nox-0:21.5.34-5.fc20.x86_64
xemacs-xft-0:21.5.34-4.fc20.x86_64
xemacs-xft-0:21.5.34-5.fc20.x86_64
</pre>|headerstyle=background:#e5e5e5|fw1=normal|ta1=left}}
</pre>|headerstyle=background:#e5e5e5|fw1=normal|ta1=left}}


Line 327: Line 190:


* [http://download.oracle.com/otndocs/products/berkeleydb/html/changelog_6_0.html#idp51002560 Changelog entry about the license change]
* [http://download.oracle.com/otndocs/products/berkeleydb/html/changelog_6_0.html#idp51002560 Changelog entry about the license change]
* [http://hhorak.fedorapeople.org/libdb6issues List of packages depended on libdb5 in Fedora and their license] (and AGLv3+ compatibility based on https://fedoraproject.org/wiki/Licensing:Main)


== Release Notes ==
== Release Notes ==
Line 339: Line 203:
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- The Wrangler announces the Change to the devel-announce list and changes the category to Category:ChangeAnnounced (no action required) -->  
<!-- The Wrangler announces the Change to the devel-announce list and changes the category to Category:ChangeAnnounced (no action required) -->  
[[Category:ChangeReadyForFesco]]
[[Category:ChangePageIncomplete]]
<!-- After review, the Wrangler will move your page to Category:ChangeReadyForFesco... if it still needs more work it will move back to Category:ChangePageIncomplete-->
<!-- After review, the Wrangler will move your page to Category:ChangeReadyForFesco... if it still needs more work it will move back to Category:ChangePageIncomplete-->



Latest revision as of 12:58, 4 June 2014


BerkeleyDB 6

Summary

Add BerkeleyDB v. 6, which changed license from previous releases (Sleepycat to AGPLv3+), to Fedora while keeping the older version for packages which cannot use BerkeleyDB with the new license.

Owner

  • Name: Jan Staněk
  • Email: jstanek@redhat.com
  • Release notes owner:

Current status

  • Targeted release: Fedora 21
  • Last updated: 2014-04-25
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

The BerkeleyDB, used between others by rpm, changed license between versions 5.* and 6.* from Sleepycat to AGPLv3+. As the latter license is more demanding, packages using the BerkeleyDB either has to check and possibly change its license to AGPLv3+ compatible, keep on using the older BerkeleyDB or use another DB entirely.

Target of this change is to create new set of packages from current libdb, which contains the v5 version, and keep it alongside the latest BerkeleyDB.

As simple mass rebuild with v6 would very likely introduce license incompatibilities, it will be necessary to update and verify all dependent packages to make sure they use the legally compatible version.

Benefit to Fedora

This change enables projects and packages to use BerkeleyDB with Sleepycat license, allowing them to work until the upstream makes their decision about the license change, and at the same time do not restricts projects which already adopted the BerkeleyDB with new license to the older versions of it.

Scope

  • Proposal owners: Create new set of packages and introduce proper versioning in order to not confuse the dynamic linker. Supervise verification of proper version linking against other packages.
  • Other developers: Packages dependent on libdb would have to specify which version they want to use (specify version in the spec Requires: field). They need to make sure their package links against the version with license compatible with their package. Rebuilds of dependent packages will be necessary.
  • Release engineering: None
  • Policies and guidelines: None

Upgrade/compatibility impact

If the versioning of the symbols will be implemented in the v5, user-built software linked against it will need to be rebuilt.

How To Test

Check if dependent projects builds, runs as expected and do not have license incompatibilities.

User Experience

None (ideally).

Dependencies

$ repoquery --disablerepo='*' --enablerepo=fedora --enablerepo=updates --whatrequires 'libdb-5.3.so()(64bit)' --qf '%{base_package_name}'  | sort | uniq
Current output of the above command
389-ds-base
apr-util
claws-mail
clisp
cyrus-imapd
cyrus-sasl
dsniff
evolution-data-server
exim
hail
httpd
httpd-itk
iproute
isync
jigdo
kdesvn
libapreq2
libdb
libetpan
libpinyin
libserf
libsolv
libzhuyin
log4cxx
mod_gnutls
mod_security
nmh
nss_updatedb
nvi
open-cobol
opendkim
openldap
openser
opensips
pam
pam_abl
pam_ccreds
perdition
perl-BDB
perl-BerkeleyDB
perl-DB_File
perl-eperl
perl-Qt
perl-XML-LibXSLT
php
postfix
postler
python
python3-bsddb3
rapidsvn
redland
rpm
rsvndump
ruby
sendmail
sks
spamprobe
squid
squidGuard
subversion
tabled
trustedqsl
webalizer
xemacs

Contingency Plan

  • Contingency mechanism: Revert the shipped configuration, try again for the next release.
  • Contingency deadline: Beta Freeze
  • Blocks release? Yes

Documentation

Release Notes