Patchwork [2/6] db: Uprev to 6.0.30

login
register
mail settings
Submitter Mark Hatle
Date July 1, 2014, 8:01 p.m.
Message ID <7ec8091f15256ddcbadf4051867119ae82d333d3.1404244287.git.mark.hatle@windriver.com>
Download mbox | patch
Permalink /patch/74557/
State New
Headers show

Comments

Mark Hatle - July 1, 2014, 8:01 p.m.
The latest version of RPM5 requires Berkley DB 6.0.20 or newer.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
---
 .../db/db/arm-thumb-mutex_db5.patch                | 10 +++++++
 .../db/{db_5.3.21.bb => db_6.0.30.bb}              | 33 +++++++++++-----------
 2 files changed, 26 insertions(+), 17 deletions(-)
 rename meta/recipes-support/db/{db_5.3.21.bb => db_6.0.30.bb} (77%)
Ross Burton - July 1, 2014, 8:56 p.m.
On 1 July 2014 21:01, Mark Hatle <mark.hatle@windriver.com> wrote:
> +LICENSE = "AGPL-3.0"

Presumably AGPL-v3 has the same clauses that caused
INCOMPATIBLE_LICENSES to exist?

Does this mean that we should update the documentation to add AGPL-3.0
to the list of licenses being blacklisted in no-v3 builds, and that in
no-v3 images we can't have rpm on the target?

Ross
Mark Hatle - July 1, 2014, 9:12 p.m.
On 7/1/14, 3:56 PM, Burton, Ross wrote:
> On 1 July 2014 21:01, Mark Hatle <mark.hatle@windriver.com> wrote:
>> +LICENSE = "AGPL-3.0"
>
> Presumably AGPL-v3 has the same clauses that caused
> INCOMPATIBLE_LICENSES to exist?
>
> Does this mean that we should update the documentation to add AGPL-3.0
> to the list of licenses being blacklisted in no-v3 builds, and that in
> no-v3 images we can't have rpm on the target?

I'm not sure.  We likely need someone (with a legal background) to investigate 
and let us know.

Baring that, it's likely that AGPL-3.0 has similar restrictions to GPL v3 and 
LGPL v3.

This might make it worthwhile in keeping the older Sleepycat licensed version 
around and making related changes to RPM to allow use of the older version if 
appropriate.

--Mark

> Ross
>
Anders Darander - July 3, 2014, 7:46 a.m.
* Mark Hatle <mark.hatle@windriver.com> [140701 23:12]:

> On 7/1/14, 3:56 PM, Burton, Ross wrote:
> > On 1 July 2014 21:01, Mark Hatle <mark.hatle@windriver.com> wrote:
> >> +LICENSE = "AGPL-3.0"

> > Presumably AGPL-v3 has the same clauses that caused
> > INCOMPATIBLE_LICENSES to exist?

> > Does this mean that we should update the documentation to add AGPL-3.0
> > to the list of licenses being blacklisted in no-v3 builds, and that in
> > no-v3 images we can't have rpm on the target?

> I'm not sure.  We likely need someone (with a legal background) to investigate 
> and let us know.

That's probably the best idea.

> Baring that, it's likely that AGPL-3.0 has similar restrictions to GPL v3 and 
> LGPL v3.

I took a quick look at AGPL-3.0, and as far as I can see, all the
clauses that makes companies avoid GPL-3.0 are also in AGPL-3.0. Thus,
INCOMPATIBLE_LICENSES ought to be extended to also cover AGPL-3.0.

> This might make it worthwhile in keeping the older Sleepycat licensed version 
> around and making related changes to RPM to allow use of the older version if 
> appropriate.

That's definitely something we need, just as we keep  GPLv2 versions
around when the upstream project has switched to GPLv3.

Cheers,
Anders
Ross Burton - July 3, 2014, 1:42 p.m.
On 3 July 2014 08:46, Anders Darander <anders@chargestorm.se> wrote:
>> Baring that, it's likely that AGPL-3.0 has similar restrictions to GPL v3 and
>> LGPL v3.
>
> I took a quick look at AGPL-3.0, and as far as I can see, all the
> clauses that makes companies avoid GPL-3.0 are also in AGPL-3.0. Thus,
> INCOMPATIBLE_LICENSES ought to be extended to also cover AGPL-3.0.

So this is https://bugzilla.yoctoproject.org/show_bug.cgi?id=6499.

Do you agree with my suggestion that LGPLv3 also needs to be excluded?

Ross
Anders Darander - July 10, 2014, 11:39 a.m.
Hi,

Sorry for the long delay...

* Burton, Ross <ross.burton@intel.com> [140703 15:43]:

> On 3 July 2014 08:46, Anders Darander <anders@chargestorm.se> wrote:
> >> Baring that, it's likely that AGPL-3.0 has similar restrictions to GPL v3 and
> >> LGPL v3.

> > I took a quick look at AGPL-3.0, and as far as I can see, all the
> > clauses that makes companies avoid GPL-3.0 are also in AGPL-3.0. Thus,
> > INCOMPATIBLE_LICENSES ought to be extended to also cover AGPL-3.0.

> So this is https://bugzilla.yoctoproject.org/show_bug.cgi?id=6499.

> Do you agree with my suggestion that LGPLv3 also needs to be excluded?

Yes, I agree with you on that one.

Though, before pushing the changes to the documentation in YP Bug 6499,
(well it seems that they're already pushed), does setting 
INCOMPATIBLE_LICENSES = "GPLv3 LGPLv3 AGPL-3.0"
work on master today?

It's quite likely that I've missed a commit making it work. I know that
I've tried this on daisy, and it started building quite a few GPLv3
packages. (In the previous builds in that build-dir, I had only GPLv3 in
that list). Thus my worries that we might document something not
working. (Though I hope I just missed the right commit).

Cheers,
Anders
Anders Darander - July 10, 2014, 11:56 a.m.
* Anders Darander <anders@chargestorm.se> [140710 13:40]:
> Though, before pushing the changes to the documentation in YP Bug 6499,
> (well it seems that they're already pushed), does setting 
> INCOMPATIBLE_LICENSES = "GPLv3 LGPLv3 AGPL-3.0"
> work on master today?

> It's quite likely that I've missed a commit making it work. I know that
> I've tried this on daisy, and it started building quite a few GPLv3
> packages. (In the previous builds in that build-dir, I had only GPLv3 in
> that list). Thus my worries that we might document something not
> working. (Though I hope I just missed the right commit).

Forget about this issue. When I added the LPGLv3 and AGPL-3.0 I
accidentally corrupted my entry for GPLv3...

Maybe we should add a warning if a license listed in
INCOMPATIBLE_LICENSES is unknown?

Cheers,
Anders

Patch

diff --git a/meta/recipes-support/db/db/arm-thumb-mutex_db5.patch b/meta/recipes-support/db/db/arm-thumb-mutex_db5.patch
index 40b13de..34e8db8 100644
--- a/meta/recipes-support/db/db/arm-thumb-mutex_db5.patch
+++ b/meta/recipes-support/db/db/arm-thumb-mutex_db5.patch
@@ -1,5 +1,15 @@ 
+Original patch submitted by jbowler@nslu2-linux.org on 2005-11-17:
+
+db: fix thumb uclibc operation in 4.3.29
+  - uclibc thumb builds were using libpthread to implement mutexes, the
+  - uclibc version seems to be a stub (at least on thumb).  This commit
+  - fixes the ARM/gcc-assembly mutex implementation so that it has thumb
+  - support and the resultant db4 works (tested on LE Thumb uclibc)
+
 Upstream-Status: Inappropriate [embedded specific]
 
+Author: jbowler@nslu2-linux.org
+
 --- db-5.1.19/src/dbinc/mutex_int.h.orig	2011-01-05 19:21:42.181805366 -0600
 +++ db-5.1.19/src/dbinc/mutex_int.h	2011-01-05 19:24:53.141853117 -0600
 @@ -474,6 +474,25 @@
diff --git a/meta/recipes-support/db/db_5.3.21.bb b/meta/recipes-support/db/db_6.0.30.bb
similarity index 77%
rename from meta/recipes-support/db/db_5.3.21.bb
rename to meta/recipes-support/db/db_6.0.30.bb
index caf6890..9fc4a30 100644
--- a/meta/recipes-support/db/db_5.3.21.bb
+++ b/meta/recipes-support/db/db_6.0.30.bb
@@ -1,4 +1,4 @@ 
-# Version 5 of the Berkeley DB from Sleepycat
+# Version 6 of the Berkeley DB from Oracle (formerly Sleepycat)
 #
 # At present this package only installs the DB code
 # itself (shared libraries, .a in the dev package),
@@ -6,12 +6,12 @@ 
 #
 # The headers have the same names as those as v3
 # of the DB, only one version can be used *for dev*
-# at once - DB3 and DB5 can both be installed on the
+# at once - DB3 and DB6 can both be installed on the
 # same system at the same time if really necessary.
 SECTION = "libs"
-SUMMARY = "Berkeley Database v5"
+SUMMARY = "Berkeley Database v6"
 HOMEPAGE = "http://www.oracle.com/technology/products/berkeley-db/db/index.html"
-LICENSE = "Sleepycat"
+LICENSE = "AGPL-3.0"
 VIRTUAL_NAME ?= "virtual/db"
 RCONFLICTS_${PN} = "db3"
 
@@ -20,10 +20,10 @@  SRC_URI += "file://arm-thumb-mutex_db5.patch;patchdir=.. \
             file://fix-parallel-build.patch \
            "
 
-SRC_URI[md5sum] = "3fda0b004acdaa6fa350bfc41a3b95ca"
-SRC_URI[sha256sum] = "ddd92a930317df92021054c03992392db9ea5cddba43bef8920d392a82114fb8"
+SRC_URI[md5sum] = "ad28eb86ad3203b5422844db179c585b"
+SRC_URI[sha256sum] = "608e4b1cf390e9bf54c0ef00c5bd9ca76d36e2261b9f4d33d54516f3f6a20fd2"
 
-LIC_FILES_CHKSUM = "file://../LICENSE;md5=32aefa5a8e7318be1f657432cbe2e768"
+LIC_FILES_CHKSUM = "file://../LICENSE;md5=1ec8b0b17cc31513fe35ab10716f8490"
 
 inherit autotools
 
@@ -56,20 +56,19 @@  FILES_${PN}-cxx = "${libdir}/*cxx*so"
 # it is therefore incompatible (cannot be installed at the
 # same time) as the db3 package
 # sort out the .so since they do version prior to the .so
-SOLIBS = "-5*.so"
+SOLIBS = "-6*.so"
 FILES_SOLIBSDEV = "${libdir}/libdb.so ${libdir}/libdb_cxx.so"
 
 #configuration - set in local.conf to override
 # All the --disable-* options replace --enable-smallbuild, which breaks a bunch of stuff (eg. postfix)
-DB5_CONFIG ?= "--enable-o_direct --disable-cryptography --disable-queue --disable-replication --disable-verify --disable-compat185 --disable-sql"
+DB6_CONFIG ?= "--enable-o_direct --disable-cryptography --disable-queue --disable-replication --disable-verify --disable-compat185 --disable-sql"
 
-EXTRA_OECONF = "${DB5_CONFIG} --enable-shared --enable-cxx --with-sysroot"
+EXTRA_OECONF = "${DB6_CONFIG} --enable-shared --enable-cxx --with-sysroot"
 
 # Override the MUTEX setting here, the POSIX library is
 # the default - "POSIX/pthreads/library".
 # Don't ignore the nice SWP instruction on the ARM:
-# These enable the ARM assembler mutex code, this won't
-# work with thumb compilation...
+# These enable the ARM assembler mutex code
 ARM_MUTEX = "--with-mutex=ARM/gcc-assembly"
 MUTEX = ""
 MUTEX_arm = "${ARM_MUTEX}"
@@ -91,11 +90,11 @@  do_compile_prepend() {
 }
 
 do_install_append() {
-	mkdir -p ${D}/${includedir}/db51
-	mv ${D}/${includedir}/db.h ${D}/${includedir}/db51/.
-	mv ${D}/${includedir}/db_cxx.h ${D}/${includedir}/db51/.
-	ln -s db51/db.h ${D}/${includedir}/db.h
-	ln -s db51/db_cxx.h ${D}/${includedir}/db_cxx.h
+	mkdir -p ${D}/${includedir}/db60
+	mv ${D}/${includedir}/db.h ${D}/${includedir}/db60/.
+	mv ${D}/${includedir}/db_cxx.h ${D}/${includedir}/db60/.
+	ln -s db60/db.h ${D}/${includedir}/db.h
+	ln -s db60/db_cxx.h ${D}/${includedir}/db_cxx.h
 
 	# The docs end up in /usr/docs - not right.
 	if test -d "${D}/${prefix}/docs"