Skip to contentSkip to conversation

Bring back LGPLv2 gmp, upgrade gnutls stack

PATCH In review Jussi Kukkonen 8 participants 26 messages Aug 27, 2015 – Sep 1, 2015

lore
Share & tools
lore
#0 lore raw

cover Bring back LGPLv2 gmp, upgrade gnutls stack

This patch set is the result of gnutls/nettle/gmp license discussion on the mailing list. The end result is that gnutls stack is available as LGPLv2.1 and also as the newest versions (where nettle and gmp are LGPLv3 | GPLv2).

In more detail:
* Re-introduce an older LGPLv2 version of gmp
* Fix nettle binary package license
* Upgrade gnutls and nettle (keep LGPLv2 nettle as well)

gmp 4.2.1 was in better shape than I expected but it's still software that was last updated 9 years ago and is used in a crypto context... If there are other solutions to this problem I'll be happy to hear them out.

Most of the commits depend on the ones before them either via version incompatibilities or via applying on top of each other. I've smoke tested two combinations of versions:
* everything upgraded to newest
* everything at LGPLv2.1 versions

Cheers,
Jussi

The following changes since commit 778fc612cb584d17da02ecc115c4e6edba995602:

libnotify: update to version 0.7.6 (2015-08-26 07:36:15 +0100)

are available in the git repository at:

git://git.yoctoproject.org/poky-contrib jku/lgpl-all-the-things
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=jku/lgpl-all-the-things

Jussi Kukkonen (6):
nettle: Fix binary license to LGPLv2.1+
gmp: Bring back version 4.2.1 (LGPL 2.1+)
nettle: Add (LGPLv3) version 3.1.1
nettle: Add ptests
gnutls: Upgrade 3.3.14 -> 3.3.17.1
mirrors.bbclass: Update gnutls mirrors

 meta/classes/mirrors.bbclass                       |  5 +-
 .../gmp/gmp-4.2.1/disable-stdc.patch               | 39 +++++++++++++++
 .../gmp/gmp-4.2.1/gmp_fix_for_automake-1.12.patch  | 56 ++++++++++++++++++++++
 .../gmp/{gmp => gmp-6.0.0}/amd64.patch             |  0
 .../append_user_provided_flags.patch               |  0
 .../gmp/{gmp => gmp-6.0.0}/configure.patch         |  0
 .../gmp/{gmp => gmp-6.0.0}/gmp-6.0.0-ppc64.patch   |  0
 .../gmp/{gmp => gmp-6.0.0}/use-includedir.patch    |  0
 meta/recipes-support/gmp/gmp.inc                   | 19 +-------
 meta/recipes-support/gmp/gmp_4.2.1.bb              | 15 ++++++
 meta/recipes-support/gmp/gmp_6.0.0.bb              | 33 ++++++++++---
 .../{gnutls_3.3.14.bb => gnutls_3.3.17.1.bb}       |  4 +-
 ...d-target-to-only-build-tests-not-run-them.patch | 43 +++++++++++++++++
 meta/recipes-support/nettle/files/run-ptest        | 36 ++++++++++++++
 meta/recipes-support/nettle/nettle.inc             | 43 +++++++++++++++++
 meta/recipes-support/nettle/nettle_2.7.1.bb        | 29 ++---------
 meta/recipes-support/nettle/nettle_3.1.1.bb        | 11 +++++
 17 files changed, 276 insertions(+), 57 deletions(-)
 create mode 100644 meta/recipes-support/gmp/gmp-4.2.1/disable-stdc.patch
 create mode 100644 meta/recipes-support/gmp/gmp-4.2.1/gmp_fix_for_automake-1.12.patch
 rename meta/recipes-support/gmp/{gmp => gmp-6.0.0}/amd64.patch (100%)
 rename meta/recipes-support/gmp/{gmp => gmp-6.0.0}/append_user_provided_flags.patch (100%)
 rename meta/recipes-support/gmp/{gmp => gmp-6.0.0}/configure.patch (100%)
 rename meta/recipes-support/gmp/{gmp => gmp-6.0.0}/gmp-6.0.0-ppc64.patch (100%)
 rename meta/recipes-support/gmp/{gmp => gmp-6.0.0}/use-includedir.patch (100%)
 create mode 100644 meta/recipes-support/gmp/gmp_4.2.1.bb
 rename meta/recipes-support/gnutls/{gnutls_3.3.14.bb => gnutls_3.3.17.1.bb} (59%)
 create mode 100644 meta/recipes-support/nettle/files/Add-target-to-only-build-tests-not-run-them.patch
 create mode 100644 meta/recipes-support/nettle/files/run-ptest
 create mode 100644 meta/recipes-support/nettle/nettle.inc
 create mode 100644 meta/recipes-support/nettle/nettle_3.1.1.bb
Signature · 1 line
2.1.4
#1 lore raw

PATCH 1/6 nettle: Fix binary license to LGPLv2.1+

* Set the nettle binary package license to LGPLv2.1+:
There are GPL files in the sources but none of these are used to produce the files we ship.
* Remove the useless package specific licenses: none of the named packages are actually produced and the licenses do not affect the overall license of either the sources or the binary package.

---
 meta/recipes-support/nettle/nettle_2.7.1.bb | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)
meta/recipes-support/nettle/nettle_2.7.1.bb +1 -8
index f9d331f..7823df9 100644
@@ -2,14 +2,7 @@ SUMMARY = "A low level cryptographic library"
 HOMEPAGE = "http://www.lysator.liu.se/~nisse/nettle/"
 SECTION = "libs"
 LICENSE = "LGPLv2.1 & GPLv2"
-
-LICENSE_${PN}-cast = "CC0"
-LICENSE_${PN}-gosthash = "MIT"
-
-# both public and GPL license listed
-LICENSE_${PN}-md2 = "CC0 & LGPLv2.1+"
-LICENSE_${PN}-md4 = "CC0 & LGPLv2.1+"
-
+LICENSE_${PN} = "LGPLv2.1+"
 
 LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
                     file://serpent-decrypt.c;beginline=53;endline=67;md5=bcfd4745d53ca57f82907089898e390d \
Signature · 1 line
2.1.4
#2 lore raw

PATCH 2/6 gmp: Bring back version 4.2.1 (LGPL 2.1+)

gmp 4.2.1 was removed in f181c6ce8b apparently accidentally: It was not noticed that 4.2.1 is LGPL 2.1 (and not GPL) so provides a useful alternative to the newer "GPLv2 | LGPLv3" version.

* Reintroduce 4.2.1. The source includes files that are GPL but the library package is LGPL 2.1+
* Also reintroduce the two patches removed in f181c6ce8b.
* Refactor gmp.inc: gmp 6.0.0 build should not be affected in any way.
* Update 6.0.0 license from "GPLv2 | LGPLv3" to "GPLv2+ | LGPLv3+".

[YOCTO #8197]

---
 .../gmp/gmp-4.2.1/disable-stdc.patch               | 39 +++++++++++++++
 .../gmp/gmp-4.2.1/gmp_fix_for_automake-1.12.patch  | 56 ++++++++++++++++++++++
 .../gmp/{gmp => gmp-6.0.0}/amd64.patch             |  0
 .../append_user_provided_flags.patch               |  0
 .../gmp/{gmp => gmp-6.0.0}/configure.patch         |  0
 .../gmp/{gmp => gmp-6.0.0}/gmp-6.0.0-ppc64.patch   |  0
 .../gmp/{gmp => gmp-6.0.0}/use-includedir.patch    |  0
 meta/recipes-support/gmp/gmp.inc                   | 19 +-------
 meta/recipes-support/gmp/gmp_4.2.1.bb              | 15 ++++++
 meta/recipes-support/gmp/gmp_6.0.0.bb              | 33 ++++++++++---
 10 files changed, 137 insertions(+), 25 deletions(-)
 create mode 100644 meta/recipes-support/gmp/gmp-4.2.1/disable-stdc.patch
 create mode 100644 meta/recipes-support/gmp/gmp-4.2.1/gmp_fix_for_automake-1.12.patch
 rename meta/recipes-support/gmp/{gmp => gmp-6.0.0}/amd64.patch (100%)
 rename meta/recipes-support/gmp/{gmp => gmp-6.0.0}/append_user_provided_flags.patch (100%)
 rename meta/recipes-support/gmp/{gmp => gmp-6.0.0}/configure.patch (100%)
 rename meta/recipes-support/gmp/{gmp => gmp-6.0.0}/gmp-6.0.0-ppc64.patch (100%)
 rename meta/recipes-support/gmp/{gmp => gmp-6.0.0}/use-includedir.patch (100%)
 create mode 100644 meta/recipes-support/gmp/gmp_4.2.1.bb
meta/recipes-support/gmp/gmp-4.2.1/disable-stdc.patch new file +39 -0
new file mode 100644
index 0000000..5decb1c
@@ -0,0 +1,39 @@
+This patch was removed in f181c6ce8b3 when gmp 4.2.1 was mistakenly
+dropped.
+
+Upstream is not interested in patches for ancient versions.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Jussi Kukkonen <[email protected]>
+
+# "extern inline" in traditional gcc means that the function should be 
+# inlined wherever it's seen, while in C99, "extern inline" means that i
+# the function should only be inlined where the inline definition is 
+# seen while in other places it's not inlined:
+# http://gcc.gnu.org/ml/gcc/2006-11/msg00006.html
+#
+# gmp checks "--std=gnu99" to use C99 convention however it internally 
+# defines some "extern inline" functions in gmp.h, which is included
+# by mainly .c files and finally lead a flood of redefinition function
+# errors when linking objects together.
+#
+# So disable C99/ANSI detection to stick to tranditional gcc behavior
+#
+# by Kevin Tian <[email protected]>, 2010-08-13
+#
+# (this patch is licensed under GPLv2+)
+
+diff --git a/configure.in b/configure.in
+index 450cc92..aab0b59 100644
+--- a/configure.in
++++ b/configure.in
+@@ -1869,9 +1869,7 @@ AC_SUBST(DEFN_LONG_LONG_LIMB)
+ 
+ # The C compiler and preprocessor, put into ANSI mode if possible.
+ AC_PROG_CC
+-AC_PROG_CC_STDC
+ AC_PROG_CPP
+-GMP_H_ANSI
+ 
+ 
+ # The C compiler on the build system, and associated tests.
meta/recipes-support/gmp/gmp-4.2.1/gmp_fix_for_automake-1.12.patch new file +56 -0

56 lines not on this page · raw message

meta/recipes-support/gmp/gmp-6.0.0/amd64.patch renamed from meta/recipes-support/gmp/gmp/amd64.patch +0 -0
similarity index 100%
rename from meta/recipes-support/gmp/gmp/amd64.patch
rename to meta/recipes-support/gmp/gmp-6.0.0/amd64.patch
meta/recipes-support/gmp/gmp-6.0.0/append_user_provided_flags.patch renamed from meta/recipes-support/gmp/gmp/append_user_provided_flags.patch +0 -0
similarity index 100%
rename from meta/recipes-support/gmp/gmp/append_user_provided_flags.patch
rename to meta/recipes-support/gmp/gmp-6.0.0/append_user_provided_flags.patch
meta/recipes-support/gmp/gmp-6.0.0/configure.patch renamed from meta/recipes-support/gmp/gmp/configure.patch +0 -0
similarity index 100%
rename from meta/recipes-support/gmp/gmp/configure.patch
rename to meta/recipes-support/gmp/gmp-6.0.0/configure.patch
meta/recipes-support/gmp/gmp-6.0.0/gmp-6.0.0-ppc64.patch renamed from meta/recipes-support/gmp/gmp/gmp-6.0.0-ppc64.patch +0 -0
similarity index 100%
rename from meta/recipes-support/gmp/gmp/gmp-6.0.0-ppc64.patch
rename to meta/recipes-support/gmp/gmp-6.0.0/gmp-6.0.0-ppc64.patch
meta/recipes-support/gmp/gmp-6.0.0/use-includedir.patch renamed from meta/recipes-support/gmp/gmp/use-includedir.patch +0 -0
similarity index 100%
rename from meta/recipes-support/gmp/gmp/use-includedir.patch
rename to meta/recipes-support/gmp/gmp-6.0.0/use-includedir.patch
meta/recipes-support/gmp/gmp.inc +1 -18
index 65cde21..6752a39 100644
@@ -2,32 +2,15 @@ SECTION = "devel"
 SUMMARY = "GNU multiprecision arithmetic library"
 DESCRIPTION = "GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers"
 HOMEPAGE = "http://gmplib.org/"
-LICENSE = "GPLv3 LGPLv3"
 
 REVISION ?= ""
-
-SRC_URI = "https://gmplib.org/download/${BPN}/${BP}${REVISION}.tar.bz2 \
-	   file://configure.patch \
-	   file://amd64.patch "
+SRC_URI = "https://gmplib.org/download/${BPN}/${BP}${REVISION}.tar.bz2"
 
 inherit autotools texinfo
 
 ARM_INSTRUCTION_SET = "arm"
 
-acpaths = ""
-
 BBCLASSEXTEND = "native nativesdk"
 
 PACKAGECONFIG ??= ""
 PACKAGECONFIG[readline] = "--with-readline=yes,--with-readline=no,readline"
-
-EXTRA_OECONF += " --enable-cxx=detect"
-
-PACKAGES =+ "libgmpxx"
-FILES_libgmpxx = "${libdir}/libgmpxx${SOLIBS}"
-
-do_install_append_class-target() {
-	sed -i "s|--sysroot=${STAGING_DIR_HOST}||g" ${D}${includedir}/gmp.h
-}
-
-SSTATE_SCAN_FILES += "gmp.h"
meta/recipes-support/gmp/gmp_4.2.1.bb new file +15 -0
new file mode 100644
index 0000000..928c01a
@@ -0,0 +1,15 @@
+require gmp.inc
+
+LICENSE = "LGPLv2.1+ & GPLv2+"
+LICENSE_${PN} = "LGPLv2.1+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a \
+                    file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24 \
+                    file://gmp-h.in;beginline=6;endline=21;md5=e056f74a12c3277d730dbcfb85d2ca34"
+
+SRC_URI += "file://disable-stdc.patch \
+            file://gmp_fix_for_automake-1.12.patch \
+            "
+
+SRC_URI[md5sum] = "091c56e0e1cca6b09b17b69d47ef18e3"
+SRC_URI[sha256sum] = "d07ffcb37eecec35c5ec72516d10b35fdf6e6fef1fcf1dcd37e30b8cbf8bf941"
meta/recipes-support/gmp/gmp_6.0.0.bb +26 -7
index 6218491..19b63e5 100644
@@ -1,14 +1,33 @@
 require gmp.inc
-LICENSE="GPLv2 | LGPLv3"
+
+LICENSE="GPLv2+ | LGPLv3+"
+
 REVISION="a"
+
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
-		    file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \
-		    file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-"
-SRC_URI_append = " file://use-includedir.patch \
-                   file://append_user_provided_flags.patch \
-                   file://gmp-6.0.0-ppc64.patch \
+                   file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \
+                   file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
 "
 
+SRC_URI += "file://configure.patch \
+            file://amd64.patch \
+            file://use-includedir.patch \
+            file://append_user_provided_flags.patch \
+            file://gmp-6.0.0-ppc64.patch \
+            "
 SRC_URI[md5sum] = "b7ff2d88cae7f8085bd5006096eed470"
 SRC_URI[sha256sum] = "7f8e9a804b9c6d07164cf754207be838ece1219425d64e28cfa3e70d5c759aaf"
+
+acpaths = ""
+
+EXTRA_OECONF += " --enable-cxx=detect"
+
+PACKAGES =+ "libgmpxx"
+FILES_libgmpxx = "${libdir}/libgmpxx${SOLIBS}"
+
+do_install_append_class-target() {
+        sed -i "s|--sysroot=${STAGING_DIR_HOST}||g" ${D}${includedir}/gmp.h
+}
+
+SSTATE_SCAN_FILES += "gmp.h"
+
Signature · 1 line
2.1.4
#3 lore raw

Re: [PATCH 2/6] gmp: Bring back version 4.2.1 (LGPL 2.1+)

Quoted 7 lines · Jussi Kukkonen

gmp 4.2.1 was removed in f181c6ce8b apparently accidentally: It was not noticed that 4.2.1 is LGPL 2.1 (and not GPL) so provides a useful alternative to the newer "GPLv2 | LGPLv3" version.

Quoted 7 lines

* Reintroduce 4.2.1. The source includes files that are GPL but the library package is LGPL 2.1+
* Also reintroduce the two patches removed in f181c6ce8b.
* Refactor gmp.inc: gmp 6.0.0 build should not be affected in any way.
* Update 6.0.0 license from "GPLv2 | LGPLv3" to "GPLv2+ | LGPLv3+".

[YOCTO #8197]

there are issues with gmp on arm especially thumb mode. What kind of testing have you done on this ?

Quoted 262 lines

---

.../gmp/gmp-4.2.1/disable-stdc.patch               | 39 +++++++++++++++
.../gmp/gmp-4.2.1/gmp_fix_for_automake-1.12.patch  | 56 ++++++++++++++++++++++
.../gmp/{gmp => gmp-6.0.0}/amd64.patch             |  0
.../append_user_provided_flags.patch               |  0
.../gmp/{gmp => gmp-6.0.0}/configure.patch         |  0
.../gmp/{gmp => gmp-6.0.0}/gmp-6.0.0-ppc64.patch   |  0
.../gmp/{gmp => gmp-6.0.0}/use-includedir.patch    |  0
meta/recipes-support/gmp/gmp.inc                   | 19 +-------
meta/recipes-support/gmp/gmp_4.2.1.bb              | 15 ++++++
meta/recipes-support/gmp/gmp_6.0.0.bb              | 33 ++++++++++---
10 files changed, 137 insertions(+), 25 deletions(-)

create mode 100644 meta/recipes-support/gmp/gmp-4.2.1/disable-stdc.patch create mode 100644 meta/recipes-support/gmp/gmp-4.2.1/gmp_fix_for_automake-1.12.patch rename meta/recipes-support/gmp/{gmp => gmp-6.0.0}/amd64.patch (100%) rename meta/recipes-support/gmp/{gmp => gmp-6.0.0}/append_user_provided_flags.patch (100%) rename meta/recipes-support/gmp/{gmp => gmp-6.0.0}/configure.patch (100%) rename meta/recipes-support/gmp/{gmp => gmp-6.0.0}/gmp-6.0.0-ppc64.patch (100%) rename meta/recipes-support/gmp/{gmp => gmp-6.0.0}/use-includedir.patch (100%) create mode 100644 meta/recipes-support/gmp/gmp_4.2.1.bb

meta/recipes-support/gmp/gmp-4.2.1/disable-stdc.patch new file +39 -0
new file mode 100644
index 0000000..5decb1c
@@ -0,0 +1,39 @@
+This patch was removed in f181c6ce8b3 when gmp 4.2.1 was mistakenly
+dropped.
+
+Upstream is not interested in patches for ancient versions.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Jussi Kukkonen <[email protected]>
+
+# "extern inline" in traditional gcc means that the function should be
+# inlined wherever it's seen, while in C99, "extern inline" means that i
+# the function should only be inlined where the inline definition is
+# seen while in other places it's not inlined:
+# http://gcc.gnu.org/ml/gcc/2006-11/msg00006.html
+#
+# gmp checks "--std=gnu99" to use C99 convention however it internally
+# defines some "extern inline" functions in gmp.h, which is included
+# by mainly .c files and finally lead a flood of redefinition function
+# errors when linking objects together.
+#
+# So disable C99/ANSI detection to stick to tranditional gcc behavior
+#
+# by Kevin Tian <[email protected]>, 2010-08-13
+#
+# (this patch is licensed under GPLv2+)
+
+diff --git a/configure.in b/configure.in
+index 450cc92..aab0b59 100644
+--- a/configure.in
++++ b/configure.in
+@@ -1869,9 +1869,7 @@ AC_SUBST(DEFN_LONG_LONG_LIMB)
+
+ # The C compiler and preprocessor, put into ANSI mode if possible.
+ AC_PROG_CC
+-AC_PROG_CC_STDC
+ AC_PROG_CPP
+-GMP_H_ANSI
+
+
+ # The C compiler on the build system, and associated tests.
meta/recipes-support/gmp/gmp-4.2.1/gmp_fix_for_automake-1.12.patch new file +56 -0
new file mode 100644
index 0000000..63aed05
@@ -0,0 +1,56 @@
+automake 1.12 has depricated automatic de-ANSI-fication support
+
+this patch avoids these kinds of errors:
+
+| configure.in:2240: error: automatic de-ANSI-fication support has been removed
+| Makefile.am:28: error: automatic de-ANSI-fication support has been removed
+
+Signed-Off-By: Nitin A Kamble <[email protected]>
+2012/05/02
+
+
+This patch was removed in f181c6ce8b3 when gmp 4.2.1 was mistakenly
+dropped.
+
+Upstream is not interested in patches for ancient versions.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Jussi Kukkonen <[email protected]>
+
+
+Index: gmp-4.2.1/configure.in
+===================================================================
+--- gmp-4.2.1.orig/configure.in
++++ gmp-4.2.1/configure.in
+@@ -67,7 +67,7 @@ dnl
+ dnl  Note that there's a copy of these options in the top-level Makefile.am,
+ dnl  so update there too if changing anything.
+ dnl
+-AM_INIT_AUTOMAKE([1.8 gnu no-dependencies $(top_builddir)/ansi2knr])
++AM_INIT_AUTOMAKE([1.8 gnu no-dependencies])
+ AM_CONFIG_HEADER(config.h:config.in)
+ AM_MAINTAINER_MODE
+
+@@ -2022,9 +2022,6 @@ fi
+ echo "      MPN_PATH=\"$path\""
+
+
+-# Automake ansi2knr support.
+-AM_C_PROTOTYPES
+-
+ GMP_PROG_AR
+ GMP_PROG_NM
+
+Index: gmp-4.2.1/Makefile.am
+===================================================================
+--- gmp-4.2.1.orig/Makefile.am
++++ gmp-4.2.1/Makefile.am
+@@ -27,7 +27,7 @@
+ # Makefiles in subdirectories, but here we must omit it so automake gives
+ # the actual ansi2knr build rule, not "cd $(top_builddir) && make ansi2knr".
+ #
+-AUTOMAKE_OPTIONS = 1.8 gnu no-dependencies ansi2knr
++AUTOMAKE_OPTIONS = 1.8 gnu no-dependencies
+
+
+ # Libtool -version-info for libgmp.la and libmp.la.  See "Versioning" in the
meta/recipes-support/gmp/gmp-6.0.0/amd64.patch renamed from meta/recipes-support/gmp/gmp/amd64.patch +0 -0
similarity index 100%
rename from meta/recipes-support/gmp/gmp/amd64.patch
rename to meta/recipes-support/gmp/gmp-6.0.0/amd64.patch
meta/recipes-support/gmp/gmp-6.0.0/append_user_provided_flags.patch renamed from meta/recipes-support/gmp/gmp/append_user_provided_flags.patch +0 -0
similarity index 100%
rename from meta/recipes-support/gmp/gmp/append_user_provided_flags.patch
rename to meta/recipes-support/gmp/gmp-6.0.0/append_user_provided_flags.patch
meta/recipes-support/gmp/gmp-6.0.0/configure.patch renamed from meta/recipes-support/gmp/gmp/configure.patch +0 -0
similarity index 100%
rename from meta/recipes-support/gmp/gmp/configure.patch
rename to meta/recipes-support/gmp/gmp-6.0.0/configure.patch
meta/recipes-support/gmp/gmp-6.0.0/gmp-6.0.0-ppc64.patch renamed from meta/recipes-support/gmp/gmp/gmp-6.0.0-ppc64.patch +0 -0
similarity index 100%
rename from meta/recipes-support/gmp/gmp/gmp-6.0.0-ppc64.patch
rename to meta/recipes-support/gmp/gmp-6.0.0/gmp-6.0.0-ppc64.patch
meta/recipes-support/gmp/gmp-6.0.0/use-includedir.patch renamed from meta/recipes-support/gmp/gmp/use-includedir.patch +0 -0
similarity index 100%
rename from meta/recipes-support/gmp/gmp/use-includedir.patch
rename to meta/recipes-support/gmp/gmp-6.0.0/use-includedir.patch
meta/recipes-support/gmp/gmp.inc +0 -0
index 65cde21..6752a39 100644
@@ -2,32 +2,15 @@ SECTION = "devel"

SUMMARY = "GNU multiprecision arithmetic library"
DESCRIPTION = "GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers" HOMEPAGE = "http://gmplib.org/"
-LICENSE = "GPLv3 LGPLv3"

REVISION ?= ""

meta/recipes-support/gmp/gmp.inc +1 -4
-
-SRC_URI = "https://gmplib.org/download/${BPN}/${BP}${REVISION}.tar.bz2 \
-	   file://configure.patch \
-	   file://amd64.patch "
+SRC_URI = "https://gmplib.org/download/${BPN}/${BP}${REVISION}.tar.bz2"

inherit autotools texinfo

ARM_INSTRUCTION_SET = "arm"

meta/recipes-support/gmp/gmp.inc +0 -2
-acpaths = ""
-

BBCLASSEXTEND = "native nativesdk"

PACKAGECONFIG ??= ""
PACKAGECONFIG[readline] = "--with-readline=yes,--with-readline=no,readline"

meta/recipes-support/gmp/gmp.inc +0 -11
-
-EXTRA_OECONF += " --enable-cxx=detect"
-
-PACKAGES =+ "libgmpxx"
-FILES_libgmpxx = "${libdir}/libgmpxx${SOLIBS}"
-
-do_install_append_class-target() {
-	sed -i "s|--sysroot=${STAGING_DIR_HOST}||g" ${D}${includedir}/gmp.h
-}
-
-SSTATE_SCAN_FILES += "gmp.h"
meta/recipes-support/gmp/gmp_4.2.1.bb new file +15 -0
new file mode 100644
index 0000000..928c01a
@@ -0,0 +1,15 @@
+require gmp.inc
+
+LICENSE = "LGPLv2.1+ & GPLv2+"
+LICENSE_${PN} = "LGPLv2.1+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a \
+                    file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24 \
+                    file://gmp-h.in;beginline=6;endline=21;md5=e056f74a12c3277d730dbcfb85d2ca34"
+
+SRC_URI += "file://disable-stdc.patch \
+            file://gmp_fix_for_automake-1.12.patch \
+            "
+
+SRC_URI[md5sum] = "091c56e0e1cca6b09b17b69d47ef18e3"
+SRC_URI[sha256sum] = "d07ffcb37eecec35c5ec72516d10b35fdf6e6fef1fcf1dcd37e30b8cbf8bf941"
meta/recipes-support/gmp/gmp_6.0.0.bb +0 -0
index 6218491..19b63e5 100644
@@ -1,14 +1,33 @@

require gmp.inc

meta/recipes-support/gmp/gmp_6.0.0.bb +3 -1
-LICENSE="GPLv2 | LGPLv3"
+
+LICENSE="GPLv2+ | LGPLv3+"
+

REVISION="a"
+
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \

meta/recipes-support/gmp/gmp_6.0.0.bb +2 -6
-		    file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \
-		    file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-"
-SRC_URI_append = " file://use-includedir.patch \
-                   file://append_user_provided_flags.patch \
-                   file://gmp-6.0.0-ppc64.patch \
+                   file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \
+                   file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \

"

meta/recipes-support/gmp/gmp_6.0.0.bb +6 -0
+SRC_URI += "file://configure.patch \
+            file://amd64.patch \
+            file://use-includedir.patch \
+            file://append_user_provided_flags.patch \
+            file://gmp-6.0.0-ppc64.patch \
+            "

SRC_URI[md5sum] = "b7ff2d88cae7f8085bd5006096eed470"
SRC_URI[sha256sum] = "7f8e9a804b9c6d07164cf754207be838ece1219425d64e28cfa3e70d5c759aaf"

meta/recipes-support/gmp/gmp_6.0.0.bb +14 -1
+
+acpaths = ""
+
+EXTRA_OECONF += " --enable-cxx=detect"
+
+PACKAGES =+ "libgmpxx"
+FILES_libgmpxx = "${libdir}/libgmpxx${SOLIBS}"
+
+do_install_append_class-target() {
+        sed -i "s|--sysroot=${STAGING_DIR_HOST}||g" ${D}${includedir}/gmp.h
+}
+
+SSTATE_SCAN_FILES += "gmp.h"
+
--

2.1.4

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

#4 lore raw

Re: [PATCH 2/6] gmp: Bring back version 4.2.1 (LGPL 2.1+)

Quoted 3 lines · Khem Raj
Quoted 3 lines

On Aug 27, 2015, at 6:05 AM, Jussi Kukkonen <[email protected]>

Quoted 11 lines · wrote:
Quoted 11 lines

gmp 4.2.1 was removed in f181c6ce8b apparently accidentally: It was not noticed that 4.2.1 is LGPL 2.1 (and not GPL) so provides a useful alternative to the newer "GPLv2 | LGPLv3" version.

* Reintroduce 4.2.1. The source includes files that are GPL but the library package is LGPL 2.1+
* Also reintroduce the two patches removed in f181c6ce8b.
* Refactor gmp.inc: gmp 6.0.0 build should not be affected in any way.
* Update 6.0.0 license from "GPLv2 | LGPLv3" to "GPLv2+ | LGPLv3+".

Quoted 3 lines
Quoted 1 line

[YOCTO #8197]

there are issues with gmp on arm especially thumb mode. What kind of

testing have you done on this ?

I have not tested on arm and at don't really have means to do so. Suggestions to limit the possible harm are welcome.

Jussi

#5 lore raw

Re: [PATCH 2/6] gmp: Bring back version 4.2.1 (LGPL 2.1+)

Quoted 2 lines · Jussi Kukkonen
Quoted 1 line · Khem Raj
Quoted 1 line

On Aug 27, 2015, at 6:05 AM, Jussi Kukkonen <[email protected]>

Quoted 11 lines · wrote:
Quoted 11 lines
Quoted 11 lines

gmp 4.2.1 was removed in f181c6ce8b apparently accidentally: It was not noticed that 4.2.1 is LGPL 2.1 (and not GPL) so provides a useful alternative to the newer "GPLv2 | LGPLv3" version.

* Reintroduce 4.2.1. The source includes files that are GPL but the library package is LGPL 2.1+
* Also reintroduce the two patches removed in f181c6ce8b.
* Refactor gmp.inc: gmp 6.0.0 build should not be affected in any way.
* Update 6.0.0 license from "GPLv2 | LGPLv3" to "GPLv2+ | LGPLv3+".

Quoted 3 lines
Quoted 3 lines
Quoted 1 line

[YOCTO #8197]

there are issues with gmp on arm especially thumb mode. What kind of

testing have you done on this ?

Quoted 2 lines

I have not tested on arm and at don't really have means to do so.

Suggestions to limit the possible harm are welcome.

Ok, that was sent before morning coffee, not really the whole story... What I should have said is: Can you expand on the possible problems (keeping in mind that I don't know much about arm in general or how thumb might relate to this)?

I did build 4.2.1 successfully for qemuarm and it seems ok in a very quick test.

- Jussi

#6 lore raw

Re: [PATCH 2/6] gmp: Bring back version 4.2.1 (LGPL 2.1+)

Did you enable thumb in that qemuarm build?

It's disabled by default and multiple components are broken when you enable it, see:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717

Quoted 43 lines · Jussi Kukkonen
Quoted 2 lines · Jussi Kukkonen
Quoted 1 line · Khem Raj
Quoted 1 line

On Aug 27, 2015, at 6:05 AM, Jussi Kukkonen <

Quoted 9 lines · [email protected]> wrote:
Quoted 9 lines
Quoted 9 lines

gmp 4.2.1 was removed in f181c6ce8b apparently accidentally: It was not noticed that 4.2.1 is LGPL 2.1 (and not GPL) so provides a useful alternative to the newer "GPLv2 | LGPLv3" version.

* Reintroduce 4.2.1. The source includes files that are GPL but the library package is LGPL 2.1+
* Also reintroduce the two patches removed in f181c6ce8b.
* Refactor gmp.inc: gmp 6.0.0 build should not be affected in any

way.

Quoted 5 lines
Quoted 5 lines
Quoted 3 lines

* Update 6.0.0 license from "GPLv2 | LGPLv3" to "GPLv2+ | LGPLv3+".

[YOCTO #8197]

there are issues with gmp on arm especially thumb mode. What kind of

testing have you done on this ?

Quoted 2 lines

I have not tested on arm and at don't really have means to do so.

Suggestions to limit the possible harm are welcome.

Ok, that was sent before morning coffee, not really the whole story... What I should have said is: Can you expand on the possible problems (keeping in mind that I don't know much about arm in general or how thumb might relate to this)?

I did build 4.2.1 successfully for qemuarm and it seems ok in a very quick test.

- Jussi

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

#7 lore raw

Re: [PATCH 2/6] gmp: Bring back version 4.2.1 (LGPL 2.1+)

Quoted 6 lines · Martin Jansa

Did you enable thumb in that qemuarm build?

It's disabled by default and multiple components are broken when you enable it, see:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717

I'm going to draw a line here. People are asking that the old version of gmp be brought back due license issues, fine. It doesn't mean that all the bugs in said old release should be fixed.

If thumb on arm with old gmp is an issue for people, I'd suggest that those people figure out which patches are needed and send the patches. Asking Jussi to deal with this isn't right/fair though.

Cheers,

Richard

#8 lore raw

Re: [PATCH 2/6] gmp: Bring back version 4.2.1 (LGPL 2.1+)

Quoted 8 lines · Richard Purdie
Quoted 6 lines · Martin Jansa

Did you enable thumb in that qemuarm build?

It's disabled by default and multiple components are broken when you enable it, see:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717

Quoted 7 lines

I'm going to draw a line here. People are asking that the old version of gmp be brought back due license issues, fine. It doesn't mean that all the bugs in said old release should be fixed.

If thumb on arm with old gmp is an issue for people, I'd suggest that those people figure out which patches are needed and send the patches. Asking Jussi to deal with this isn't right/fair though.

I disagree. If it will be merged it ought to support what we are testing nowadays otherwise the backlog will be kept growing forever...

Signature · 3 lines
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
#9 lore raw

Re: [PATCH 2/6] gmp: Bring back version 4.2.1 (LGPL 2.1+)

Quoted 14 lines · Otavio Salvador
Quoted 12 lines · Richard Purdie
Quoted 6 lines · Martin Jansa

Did you enable thumb in that qemuarm build?

It's disabled by default and multiple components are broken when you enable it, see:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717

I'm going to draw a line here. People are asking that the old version of gmp be brought back due license issues, fine. It doesn't mean that all the bugs in said old release should be fixed.

Quoted 6 lines
Quoted 3 lines

If thumb on arm with old gmp is an issue for people, I'd suggest that those people figure out which patches are needed and send the patches. Asking Jussi to deal with this isn't right/fair though.

I disagree. If it will be merged it ought to support what we are testing nowadays otherwise the backlog will be kept growing forever...

We cannot reasonably expect Jussi to do this work.

OE needs to move onward, be it with kernel versions, compiler versions or library versions since not to do so effectively will result in OE becoming obsolete and out of touch.

The GNU world moving to *GPLv3 is unfortunate in some ways but isn't something I/we have any choice over.

We have a commitment right now to have some older licenced recipes. To make those work, *someone* is going to have to step up and work on them. Who is going to do it?

By your comment, I should just refuse the old gmp version entirely?

Cheers,

Richard

#10 lore raw

Re: [PATCH 2/6] gmp: Bring back version 4.2.1 (LGPL 2.1+)

Quoted 28 lines · Richard Purdie
Quoted 14 lines · Otavio Salvador
Quoted 12 lines · Richard Purdie
Quoted 6 lines · Martin Jansa

Did you enable thumb in that qemuarm build?

It's disabled by default and multiple components are broken when you enable it, see:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717

I'm going to draw a line here. People are asking that the old version of gmp be brought back due license issues, fine. It doesn't mean that all the bugs in said old release should be fixed.

Quoted 6 lines
Quoted 3 lines

If thumb on arm with old gmp is an issue for people, I'd suggest that those people figure out which patches are needed and send the patches. Asking Jussi to deal with this isn't right/fair though.

I disagree. If it will be merged it ought to support what we are testing nowadays otherwise the backlog will be kept growing forever...

We cannot reasonably expect Jussi to do this work.

OE needs to move onward, be it with kernel versions, compiler versions or library versions since not to do so effectively will result in OE becoming obsolete and out of touch.

Quoted 6 lines

The GNU world moving to *GPLv3 is unfortunate in some ways but isn't something I/we have any choice over.

We have a commitment right now to have some older licenced recipes. To make those work, *someone* is going to have to step up and work on them. Who is going to do it?

Well ... people wishing to use it needs to step up.

Quoted 1 line

By your comment, I should just refuse the old gmp version entirely?

Until proper fixed, yes.

Signature · 3 lines
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
#11 lore raw

Re: [PATCH 2/6] gmp: Bring back version 4.2.1 (LGPL 2.1+)

Quoted 3 lines · Otavio Salvador
Quoted 1 line

By your comment, I should just refuse the old gmp version entirely?

Until proper fixed, yes.

I disagree with this. If gmp isn't working on a specific hardware platform, but is just fine on the others, that is not sufficient grounds for altogether excluding the recipe from the recipe repository.

The recipe can be disabled in builds for that architecture, until someone steps up to fix the problem later. Webkit was broken for a very long time on MIPS64, so by your logic, we shouldn't have had webkit at all?

Alex

#12 lore raw

Re: [PATCH 2/6] gmp: Bring back version 4.2.1 (LGPL 2.1+)

In reply to Richard Purdie
Quoted 28 lines · Richard Purdie
Quoted 14 lines · Otavio Salvador
Quoted 12 lines · Richard Purdie
Quoted 6 lines · Martin Jansa

Did you enable thumb in that qemuarm build?

It's disabled by default and multiple components are broken when you enable it, see:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717

I'm going to draw a line here. People are asking that the old version of gmp be brought back due license issues, fine. It doesn't mean that all the bugs in said old release should be fixed.

Quoted 6 lines
Quoted 3 lines

If thumb on arm with old gmp is an issue for people, I'd suggest that those people figure out which patches are needed and send the patches. Asking Jussi to deal with this isn't right/fair though.

I disagree. If it will be merged it ought to support what we are testing nowadays otherwise the backlog will be kept growing forever...

We cannot reasonably expect Jussi to do this work.

OE needs to move onward, be it with kernel versions, compiler versions or library versions since not to do so effectively will result in OE becoming obsolete and out of touch.

Quoted 8 lines

The GNU world moving to *GPLv3 is unfortunate in some ways but isn't something I/we have any choice over.

We have a commitment right now to have some older licenced recipes. To make those work, *someone* is going to have to step up and work on them. Who is going to do it?

By your comment, I should just refuse the old gmp version entirely?

There is alternative suggestion. I think all this is happening for nettle which we have GPLv2 version in core. There doesnt seem to be a full use of libgmp elsewhere.
nettle can be built using mini-gmp, as well I think that route should be explored. That also keeps the us honest with our motive of moving all
gplv2 legacy packages to layer of its own in future.

Quoted 10 lines

Cheers,

Richard

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

#13 lore raw

Re: [PATCH 2/6] gmp: Bring back version 4.2.1 (LGPL 2.1+)

Quoted 6 lines · Khem Raj

There is alternative suggestion. I think all this is happening for nettle which we have GPLv2 version in core. There doesnt seem to be a full use of libgmp elsewhere.
nettle can be built using mini-gmp, as well I think that route should be explored. That also keeps the us honest with our motive of moving all gplv2 legacy packages to layer of its own in future.

Is it actually possible to build a working LGPL2 version of nettle with mini-gmp? I did look at that option (and the "--with-mini-nettle" option for gnutls) but couldn't figure it out.

With our current nettle (2.7.1) the problems are
A) it doesn't actually have a "--enable-mini-gmp" option: only one test binary seems use mini-gmp
B) the gmp files that are included are actually LGPL3 (so even if we could use them, it would not help the end goal much)

- Jussi

#14 lore raw

Re: [PATCH 2/6] gmp: Bring back version 4.2.1 (LGPL 2.1+)

Quoted 8 lines · Jussi Kukkonen
Quoted 6 lines · Khem Raj

There is alternative suggestion. I think all this is happening for nettle which we have GPLv2 version in core. There doesnt seem to be a full use of libgmp elsewhere.
nettle can be built using mini-gmp, as well I think that route should be explored. That also keeps the us honest with our motive of moving all gplv2 legacy packages to layer of its own in future.

Quoted 7 lines

Is it actually possible to build a working LGPL2 version of nettle with mini-gmp? I did look at that option (and the "--with-mini-nettle" option for gnutls) but couldn't figure it out.

With our current nettle (2.7.1) the problems are
A) it doesn't actually have a "--enable-mini-gmp" option: only one test binary seems use mini-gmp

yes I did not consider its old version of gmp

Quoted 2 lines

B) the gmp files that are included are actually LGPL3 (so even if we could use them, it would not help the end goal much)

Yes. Let merge it in. I would have preferred to call it gmp42 or something in recipe
so it does not cause toolchain problems. but thats a combination of GPLv2 building toolchain for target with whitelisting gcc and binutils.

Quoted 2 lines

- Jussi

#15 lore raw

Re: [PATCH 2/6] gmp: Bring back version 4.2.1 (LGPL 2.1+)

In reply to Otavio Salvador
Quoted 14 lines · Otavio Salvador
Quoted 12 lines · Richard Purdie
Quoted 6 lines · Martin Jansa

Did you enable thumb in that qemuarm build?

It's disabled by default and multiple components are broken when you enable it, see:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717

I'm going to draw a line here. People are asking that the old version of gmp be brought back due license issues, fine. It doesn't mean that all the bugs in said old release should be fixed.

Quoted 6 lines
Quoted 3 lines

If thumb on arm with old gmp is an issue for people, I'd suggest that those people figure out which patches are needed and send the patches. Asking Jussi to deal with this isn't right/fair though.

I disagree. If it will be merged it ought to support what we are testing nowadays otherwise the backlog will be kept growing forever...

FWIW: I don't mind getting it merged as is.

It improves situation for non-GPLv3 builds and if there is issue with thumb, then it was there before as well, so returning it doesn't make things worse.

My previous reply was just to show that building default qemuarm doesn't show anything, because thumb isn't enabled and gmp even isn't one of the recipes which are failing with thumb-1, maybe Khem meant some issues in runtime I don't know about.

Regards,

Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
#16 lore raw

Re: [PATCH 2/6] gmp: Bring back version 4.2.1 (LGPL 2.1+)

Quoted 27 lines · Martin Jansa
Quoted 14 lines · Otavio Salvador
Quoted 12 lines · Richard Purdie
Quoted 6 lines · Martin Jansa

Did you enable thumb in that qemuarm build?

It's disabled by default and multiple components are broken when you enable it, see:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717

I'm going to draw a line here. People are asking that the old version of gmp be brought back due license issues, fine. It doesn't mean that all the bugs in said old release should be fixed.

Quoted 6 lines
Quoted 3 lines

If thumb on arm with old gmp is an issue for people, I'd suggest that those people figure out which patches are needed and send the patches. Asking Jussi to deal with this isn't right/fair though.

I disagree. If it will be merged it ought to support what we are testing nowadays otherwise the backlog will be kept growing forever...

FWIW: I don't mind getting it merged as is.

Quoted 8 lines

It improves situation for non-GPLv3 builds and if there is issue with thumb, then it was there before as well, so returning it doesn't make things worse.

My previous reply was just to show that building default qemuarm doesn't show anything, because thumb isn't enabled and gmp even isn't one of the recipes which are failing with thumb-1, maybe Khem meant some issues in runtime I don't know about.

It has issues working with thumb2 as well. Another problem it creates is building on-device toolchain since gcc also depends on gmp and when you pin to older version of GMP, it starts to fail Thats why I suggested to use mini-gmp ( same but reduced gmp ) can clear of this situation since it will be a mini-gmp recipe and won’t interfere with toolchain.

#17 lore raw

Re: [PATCH 2/6] gmp: Bring back version 4.2.1 (LGPL 2.1+)

Quoted 36 lines · Khem Raj
Quoted 27 lines · Martin Jansa
Quoted 14 lines · Otavio Salvador
Quoted 12 lines · Richard Purdie
Quoted 6 lines · Martin Jansa

Did you enable thumb in that qemuarm build?

It's disabled by default and multiple components are broken when you enable it, see:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717

I'm going to draw a line here. People are asking that the old version of gmp be brought back due license issues, fine. It doesn't mean that all the bugs in said old release should be fixed.

Quoted 6 lines
Quoted 3 lines

If thumb on arm with old gmp is an issue for people, I'd suggest that those people figure out which patches are needed and send the patches. Asking Jussi to deal with this isn't right/fair though.

I disagree. If it will be merged it ought to support what we are testing nowadays otherwise the backlog will be kept growing forever...

FWIW: I don't mind getting it merged as is.

Quoted 8 lines

It improves situation for non-GPLv3 builds and if there is issue with thumb, then it was there before as well, so returning it doesn't make things worse.

My previous reply was just to show that building default qemuarm doesn't show anything, because thumb isn't enabled and gmp even isn't one of the recipes which are failing with thumb-1, maybe Khem meant some issues in runtime I don't know about.

Quoted 5 lines

It has issues working with thumb2 as well. Another problem it creates is building on-device toolchain since gcc also depends on gmp and when you pin to older version of GMP, it starts to fail Thats why I suggested to use mini-gmp ( same but reduced gmp ) can clear of this situation since it will be a mini-gmp recipe and won’t interfere with toolchain.

Do you have any sense of the problems when gcc uses an older version of GMP? If a newer version is required for gcc -- then can gcc itself check that it's a proper minimum version available? (At this point I would assume if someone is worried about GPLv3 issues, that they would NOT be putting the compiler and related tools on the target.) I know we can specify -runtime- minimum versions easily enough using the > directive.. but I don't think there is an easy way to specify minimum build version, other then verify we have the correct version available to us though a file check of some kind.

--Mark

#18 lore raw

Re: [PATCH 2/6] gmp: Bring back version 4.2.1 (LGPL 2.1+)

Quoted 12 lines · Mark Hatle

Do you have any sense of the problems when gcc uses an older version of GMP? If a newer version is required for gcc -- then can gcc itself check that it's a proper minimum version available? (At this point I would assume if someone is worried about GPLv3 issues, that they would NOT be putting the compiler and related tools on the target.) I know we can specify -runtime- minimum versions easily enough using the > directive.. but I don't think there is an easy way to specify minimum build version, other then verify we have the correct version available to us though a file check of some kind.

gcc needs gmp >= 4.3.2 now a days but it infact does check for version presented to it from build system thats where the problem lies but as I said it might not be a usual case.

#19 lore raw

PATCH 3/6 nettle: Add (LGPLv3) version 3.1.1

In reply to Jussi Kukkonen

Newer nettle versions are "LGPLv3+ | GPLv2+". Add 3.1.1 but also keep version 2.7.1 since it's LGPLv2.1+

---
 meta/recipes-support/nettle/nettle.inc      | 26 ++++++++++++++++++++++++++
 meta/recipes-support/nettle/nettle_2.7.1.bb | 20 ++------------------
 meta/recipes-support/nettle/nettle_3.1.1.bb | 11 +++++++++++
 3 files changed, 39 insertions(+), 18 deletions(-)
 create mode 100644 meta/recipes-support/nettle/nettle.inc
 create mode 100644 meta/recipes-support/nettle/nettle_3.1.1.bb
meta/recipes-support/nettle/nettle.inc new file +26 -0
new file mode 100644
index 0000000..0579b6c
@@ -0,0 +1,26 @@
+SUMMARY = "A low level cryptographic library"
+HOMEPAGE = "http://www.lysator.liu.se/~nisse/nettle/"
+SECTION = "libs"
+
+LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
+                    file://serpent-decrypt.c;beginline=53;endline=67;md5=bcfd4745d53ca57f82907089898e390d \
+                    file://serpent-set-key.c;beginline=56;endline=70;md5=bcfd4745d53ca57f82907089898e390d"
+
+DEPENDS += "gmp"
+
+SRC_URI = "http://www.lysator.liu.se/~nisse/archive/${BP}.tar.gz"
+
+SRC_URI[md5sum] = "003d5147911317931dd453520eb234a5"
+SRC_URI[sha256sum] = "bc71ebd43435537d767799e414fce88e521b7278d48c860651216e1fc6555b40"
+
+EXTRA_OECONF = "--disable-openssl"
+
+do_configure_prepend() {
+       if [ ! -e ${S}/acinclude.m4 -a -e ${S}/aclocal.m4 ]; then
+               cp ${S}/aclocal.m4 ${S}/acinclude.m4
+       fi
+}
+
+inherit autotools
+
+BBCLASSEXTEND = "native nativesdk"
meta/recipes-support/nettle/nettle_2.7.1.bb +2 -18
index 7823df9..ae2574a 100644
@@ -1,6 +1,5 @@
-SUMMARY = "A low level cryptographic library"
-HOMEPAGE = "http://www.lysator.liu.se/~nisse/nettle/"
-SECTION = "libs"
+require nettle.inc
+
 LICENSE = "LGPLv2.1 & GPLv2"
 LICENSE_${PN} = "LGPLv2.1+"
 
@@ -8,21 +7,6 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
                     file://serpent-decrypt.c;beginline=53;endline=67;md5=bcfd4745d53ca57f82907089898e390d \
                     file://serpent-set-key.c;beginline=56;endline=70;md5=bcfd4745d53ca57f82907089898e390d"
 
-DEPENDS += "gmp"
-
-SRC_URI = "http://www.lysator.liu.se/~nisse/archive/${BP}.tar.gz"
-
 SRC_URI[md5sum] = "003d5147911317931dd453520eb234a5"
 SRC_URI[sha256sum] = "bc71ebd43435537d767799e414fce88e521b7278d48c860651216e1fc6555b40"
 
-EXTRA_OECONF = "--disable-openssl"
-
-do_configure_prepend() {
-       if [ ! -e ${S}/acinclude.m4 -a -e ${S}/aclocal.m4 ]; then
-               cp ${S}/aclocal.m4 ${S}/acinclude.m4
-       fi
-}
-
-inherit autotools
-
-BBCLASSEXTEND = "native nativesdk"
meta/recipes-support/nettle/nettle_3.1.1.bb new file +11 -0
new file mode 100644
index 0000000..7d7134f
@@ -0,0 +1,11 @@
+require nettle.inc
+
+LICENSE = "LGPLv3+ | GPLv2+"
+
+LIC_FILES_CHKSUM = "file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \
+                    file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+                    file://serpent-decrypt.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e \
+                    file://serpent-set-key.c;beginline=14;endline=36;md5=ca0d220bc413e1842ecc507690ce416e"
+
+SRC_URI[md5sum] = "b40fa88dc32f37a182b6b42092ebb144"
+SRC_URI[sha256sum] = "5fd4d25d64d8ddcb85d0d897572af73b05b4d163c6cc49438a5bfbb8ff293d4c"
Signature · 1 line
2.1.4
#20 lore raw

PATCH 4/6 nettle: Add ptests

In reply to Jussi Kukkonen

Use the nettle testsuite as ptests. Skip "sha1-huge-test" because it can take 20 minutes to finish.

---
 ...d-target-to-only-build-tests-not-run-them.patch | 43 ++++++++++++++++++++++
 meta/recipes-support/nettle/files/run-ptest        | 36 ++++++++++++++++++
 meta/recipes-support/nettle/nettle.inc             | 21 ++++++++++-
 3 files changed, 98 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-support/nettle/files/Add-target-to-only-build-tests-not-run-them.patch
 create mode 100644 meta/recipes-support/nettle/files/run-ptest
meta/recipes-support/nettle/files/Add-target-to-only-build-tests-not-run-them.patch new file +43 -0
new file mode 100644
index 0000000..9495d02
@@ -0,0 +1,43 @@
+From 46edf01cc98db9f9feec984897836dfdd26bdc8d Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <[email protected]>
+Date: Wed, 12 Aug 2015 23:27:27 +0300
+Subject: [PATCH] Add target to only build tests (not run them)
+
+Upstream-Status: ?
+
+Signed-off-by: Jussi Kukkonen <[email protected]>
+---
+ Makefile.in           | 3 +++
+ testsuite/Makefile.in | 2 ++
+ 2 files changed, 5 insertions(+)
+
+diff --git a/Makefile.in b/Makefile.in
+index 08efb7d..7909342 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -55,6 +55,9 @@ clean distclean mostlyclean maintainer-clean tags:
+ 	  echo "Making $@ in $$d" ; (cd $$d && $(MAKE) $@); done
+ 	$(MAKE) $@-here
+ 
++buildtest:
++	echo "Making $@ in testsuite" ; (cd testsuite && $(MAKE) $@)
++
+ check-here:
+ 	true
+ 
+diff --git a/testsuite/Makefile.in b/testsuite/Makefile.in
+index 6bc1907..bb65bf0 100644
+--- a/testsuite/Makefile.in
++++ b/testsuite/Makefile.in
+@@ -116,6 +116,8 @@ $(TARGETS) $(EXTRA_TARGETS): testutils.$(OBJEXT) ../nettle-internal.$(OBJEXT) \
+ # data.
+ VALGRIND = valgrind --error-exitcode=1 --leak-check=full --show-reachable=yes @IF_ASM@ --partial-loads-ok=yes
+ 
++buildtest: $(TS_ALL)
++
+ # The PATH update is for locating dlls on w*ndows.
+ check: $(TS_ALL)
+ 	LD_LIBRARY_PATH=../.lib PATH="../.lib:$$PATH" srcdir="$(srcdir)" \
+-- 
+2.1.4
+
meta/recipes-support/nettle/files/run-ptest new file +36 -0
new file mode 100644
index 0000000..b90bed6
@@ -0,0 +1,36 @@
+#! /bin/sh
+
+cd testsuite
+
+failed=0
+all=0
+
+for f in *-test; do
+    if [ "$f" = "sha1-huge-test" ] ; then
+        echo "SKIP: $f (skipped for ludicrous run time)"
+        continue
+    fi
+
+    "./$f"
+    case "$?" in
+        0)
+            echo "PASS: $f"
+            all=$((all + 1))
+            ;;
+        77)
+            echo "SKIP: $f"
+            ;;
+        *)
+            echo "FAIL: $f"
+            failed=$((failed + 1))
+            all=$((all + 1))
+            ;;
+    esac
+done
+
+if [ "$failed" -eq 0 ] ; then
+  echo "All $all tests passed"
+else
+  echo "$failed of $all tests failed"
+fi
+
meta/recipes-support/nettle/nettle.inc +19 -2
index 0579b6c..fafff6d 100644
@@ -8,19 +8,36 @@ LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
 
 DEPENDS += "gmp"
 
-SRC_URI = "http://www.lysator.liu.se/~nisse/archive/${BP}.tar.gz"
+SRC_URI = "http://www.lysator.liu.se/~nisse/archive/${BP}.tar.gz \
+           file://Add-target-to-only-build-tests-not-run-them.patch \
+           file://run-ptest \
+           "
 
 SRC_URI[md5sum] = "003d5147911317931dd453520eb234a5"
 SRC_URI[sha256sum] = "bc71ebd43435537d767799e414fce88e521b7278d48c860651216e1fc6555b40"
 
 EXTRA_OECONF = "--disable-openssl"
 
+inherit autotools ptest
+
 do_configure_prepend() {
        if [ ! -e ${S}/acinclude.m4 -a -e ${S}/aclocal.m4 ]; then
                cp ${S}/aclocal.m4 ${S}/acinclude.m4
        fi
 }
 
-inherit autotools
+do_compile_ptest() {
+        oe_runmake buildtest
+}
+
+do_install_ptest() {
+        install -d ${D}${PTEST_PATH}/testsuite/
+        install ${S}/testsuite/gold-bug.txt ${D}${PTEST_PATH}/testsuite/
+        install ${S}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/
+        # tools can be found in PATH, not in ../tools/
+        sed -i -e 's|../tools/||' ${D}${PTEST_PATH}/testsuite/*-test
+        install ${B}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/
+}
+
 
 BBCLASSEXTEND = "native nativesdk"
Signature · 1 line
2.1.4
#21 lore raw

Re: [PATCH 4/6] nettle: Add ptests

Quoted 7 lines · Jussi Kukkonen

Use the nettle testsuite as ptests. Skip "sha1-huge-test" because it can take 20 minutes to finish.

---
 ...d-target-to-only-build-tests-not-run-them.patch | 43

++++++++++++++++++++++

Quoted 1 line
 meta/recipes-support/nettle/files/run-ptest        | 36

++++++++++++++++++

Quoted 3 lines
 meta/recipes-support/nettle/nettle.inc             | 21 ++++++++++-
 3 files changed, 98 insertions(+), 2 deletions(-)
 create mode 100644

meta/recipes-support/nettle/files/Add-target-to-only-build-tests-not-run-them.patch

Quoted 3 lines
 create mode 100644 meta/recipes-support/nettle/files/run-ptest

diff --git

a/meta/recipes-support/nettle/files/Add-target-to-only-build-tests-not-run-them.patch b/meta/recipes-support/nettle/files/Add-target-to-only-build-tests-not-run-them.patch

Quoted 4 lines

new file mode 100644
index 0000000..9495d02
--- /dev/null
+++

b/meta/recipes-support/nettle/files/Add-target-to-only-build-tests-not-run-them.patch

meta/recipes-support/nettle/files/Add-target-to-only-build-tests-not-run-them.patch line 6

Quoted 7 lines
meta/recipes-support/nettle/files/Add-target-to-only-build-tests-not-run-them.patch new file +6 -0
@@ -0,0 +1,43 @@
+From 46edf01cc98db9f9feec984897836dfdd26bdc8d Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <[email protected]>
+Date: Wed, 12 Aug 2015 23:27:27 +0300
+Subject: [PATCH] Add target to only build tests (not run them)
+
+Upstream-Status: ?

I've changed this to "Inappropriate" in the branch: it's not a complete patch for installable tests (that upstream might be interested in) but it's already useful for us.

Quoted 15 lines
meta/recipes-support/nettle/files/Add-target-to-only-build-tests-not-run-them.patch new file +15 -0
+Signed-off-by: Jussi Kukkonen <[email protected]>
+---
+ Makefile.in           | 3 +++
+ testsuite/Makefile.in | 2 ++
+ 2 files changed, 5 insertions(+)
+
+diff --git a/Makefile.in b/Makefile.in
+index 08efb7d..7909342 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -55,6 +55,9 @@ clean distclean mostlyclean maintainer-clean tags:
+         echo "Making $@ in $d" ; (cd $d && $(MAKE) $@); done
+       $(MAKE) $@-here
+
++buildtest:

meta/recipes-support/nettle/files/Add-target-to-only-build-tests-not-run-them.patch

Quoted 10 lines
meta/recipes-support/nettle/files/Add-target-to-only-build-tests-not-run-them.patch new file +10 -0
++      echo "Making $@ in testsuite" ; (cd testsuite && $(MAKE) $@)
++
+ check-here:
+       true
+
+diff --git a/testsuite/Makefile.in b/testsuite/Makefile.in
+index 6bc1907..bb65bf0 100644
+--- a/testsuite/Makefile.in
++++ b/testsuite/Makefile.in
+@@ -116,6 +116,8 @@ $(TARGETS) $(EXTRA_TARGETS): testutils.$(OBJEXT)

../nettle-internal.$(OBJEXT) \

Review line 33

Quoted 2 lines
(quoted diff) +2 -0
+ # data.
+ VALGRIND = valgrind --error-exitcode=1 --leak-check=full

--show-reachable=yes @IF_ASM@ --partial-loads-ok=yes

Review

Quoted 10 lines
meta/recipes-support/nettle/files/Add-target-to-only-build-tests-not-run-them.patch new file +9 -0
+
++buildtest: $(TS_ALL)
++
+ # The PATH update is for locating dlls on w*ndows.
+ check: $(TS_ALL)
+       LD_LIBRARY_PATH=../.lib PATH="../.lib:$PATH" srcdir="$(srcdir)" \
+--
+2.1.4
+
(quoted diff) +0 -0

b/meta/recipes-support/nettle/files/run-ptest

Review

Quoted 42 lines

new file mode 100644
index 0000000..b90bed6

meta/recipes-support/nettle/files/run-ptest new file +36 -0
@@ -0,0 +1,36 @@
+#! /bin/sh
+
+cd testsuite
+
+failed=0
+all=0
+
+for f in *-test; do
+    if [ "$f" = "sha1-huge-test" ] ; then
+        echo "SKIP: $f (skipped for ludicrous run time)"
+        continue
+    fi
+
+    "./$f"
+    case "$?" in
+        0)
+            echo "PASS: $f"
+            all=$((all + 1))
+            ;;
+        77)
+            echo "SKIP: $f"
+            ;;
+        *)
+            echo "FAIL: $f"
+            failed=$((failed + 1))
+            all=$((all + 1))
+            ;;
+    esac
+done
+
+if [ "$failed" -eq 0 ] ; then
+  echo "All $all tests passed"
+else
+  echo "$failed of $all tests failed"
+fi
+
(quoted diff) +0 -0

b/meta/recipes-support/nettle/nettle.inc

meta/recipes-support/nettle/nettle.inc LIC_FILES_CHKSUM =

Quoted 4 lines

index 0579b6c..fafff6d 100644

meta/recipes-support/nettle/nettle.inc +0 -0
@@ -8,19 +8,36 @@ LIC_FILES_CHKSUM =

"file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \

meta/recipes-support/nettle/nettle.inc LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \

Quoted 11 lines
meta/recipes-support/nettle/nettle.inc +4 -1
 DEPENDS += "gmp"
 
-SRC_URI = "http://www.lysator.liu.se/~nisse/archive/${BP}.tar.gz"
+SRC_URI = "http://www.lysator.liu.se/~nisse/archive/${BP}.tar.gz \
+           file://Add-target-to-only-build-tests-not-run-them.patch \
+           file://run-ptest \
+           "
 
 SRC_URI[md5sum] = "003d5147911317931dd453520eb234a5"
 SRC_URI[sha256sum] =

"bc71ebd43435537d767799e414fce88e521b7278d48c860651216e1fc6555b40"

Quoted 30 lines
meta/recipes-support/nettle/nettle.inc +15 -2
 EXTRA_OECONF = "--disable-openssl"
 
+inherit autotools ptest
+
 do_configure_prepend() {
        if [ ! -e ${S}/acinclude.m4 -a -e ${S}/aclocal.m4 ]; then
                cp ${S}/aclocal.m4 ${S}/acinclude.m4
        fi
 }
 
-inherit autotools
+do_compile_ptest() {
+        oe_runmake buildtest
+}
+
+do_install_ptest() {
+        install -d ${D}${PTEST_PATH}/testsuite/
+        install ${S}/testsuite/gold-bug.txt ${D}${PTEST_PATH}/testsuite/
+        install ${S}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/
+        # tools can be found in PATH, not in ../tools/
+        sed -i -e 's|../tools/||' ${D}${PTEST_PATH}/testsuite/*-test
+        install ${B}/testsuite/*-test ${D}${PTEST_PATH}/testsuite/
+}
+
 
 BBCLASSEXTEND = "native nativesdk"
--

2.1.4

#22 lore raw

PATCH 5/6 gnutls: Upgrade 3.3.14 -> 3.3.17.1

In reply to Jussi Kukkonen
---
 meta/recipes-support/gnutls/{gnutls_3.3.14.bb => gnutls_3.3.17.1.bb} | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
 rename meta/recipes-support/gnutls/{gnutls_3.3.14.bb => gnutls_3.3.17.1.bb} (59%)
meta/recipes-support/gnutls/gnutls_3.3.17.1.bb renamed from meta/recipes-support/gnutls/gnutls_3.3.14.bb +2 -2
similarity index 59%
rename from meta/recipes-support/gnutls/gnutls_3.3.14.bb
rename to meta/recipes-support/gnutls/gnutls_3.3.17.1.bb
index f41d183..0185797 100644
@@ -4,5 +4,5 @@ SRC_URI += "file://correct_rpl_gettimeofday_signature.patch \
             file://configure.ac-fix-sed-command.patch \
             file://use-pkg-config-to-locate-zlib.patch \
            "
-SRC_URI[md5sum] = "7f4465f8c564cf9cb8f5cb38b909f7ca"
-SRC_URI[sha256sum] = "0dfa0030faad8909c1e904105198232d6bc0123cae8cf4933b2bac85ee7cec52"
+SRC_URI[md5sum] = "8d01c7e7f2cbc5871fdca832d2260b6b"
+SRC_URI[sha256sum] = "b40f158030a92f450a07b20300a3996710ca19800848d9f6fd62493170c5bbb4"
Signature · 1 line
2.1.4
#23 lore raw

PATCH 6/6 mirrors.bbclass: Update gnutls mirrors

In reply to Jussi Kukkonen

* Remove mirror sites that no longer exist
* Update the gnutls.org path so the gnupg mirror gets used

---
 meta/classes/mirrors.bbclass | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)
meta/classes/mirrors.bbclass +1 -4
index 081c982..b96c071 100644
@@ -27,10 +27,7 @@ ftp://ftp.gnupg.org/gcrypt/     http://gulus.USherbrooke.ca/pub/appl/GnuPG/ \n \
 ftp://dante.ctan.org/tex-archive ftp://ftp.fu-berlin.de/tex/CTAN \n \
 ftp://dante.ctan.org/tex-archive http://sunsite.sut.ac.jp/pub/archives/ctan/ \n \
 ftp://dante.ctan.org/tex-archive http://ctan.unsw.edu.au/ \n \
-ftp://ftp.gnutls.org/pub/gnutls ftp://ftp.gnupg.org/gcrypt/gnutls/ \n \
-ftp://ftp.gnutls.org/pub/gnutls http://www.mirrors.wiretapped.net/security/network-security/gnutls/ \n \
-ftp://ftp.gnutls.org/pub/gnutls ftp://ftp.mirrors.wiretapped.net/pub/security/network-security/gnutls/ \n \
-ftp://ftp.gnutls.org/pub/gnutls http://josefsson.org/gnutls/releases/ \n \
+ftp://ftp.gnutls.org/gcrypt/gnutls ftp://ftp.gnupg.org/gcrypt/gnutls/ \n \
 http://ftp.info-zip.org/pub/infozip/src/ http://mirror.switch.ch/ftp/mirror/infozip/src/ \n \
 http://ftp.info-zip.org/pub/infozip/src/ ftp://sunsite.icm.edu.pl/pub/unix/archiving/info-zip/src/ \n \
 ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/  ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/lsof/ \n \
Signature · 1 line
2.1.4
#24 lore raw

Re: [PATCH 6/6] mirrors.bbclass: Update gnutls mirrors

Quoted 5 lines · Jussi Kukkonen

* Remove mirror sites that no longer exist
* Update the gnutls.org path so the gnupg mirror gets used

Hmm, I can't help but wonder if these app-specific mirrors should be moved to the recipes or classes that need them, rather than in the global default MIRRORS..

Signature · 5 lines
Christopher Larson
clarson at kergoth dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Senior Software Engineer, Mentor Graphics
#25 lore raw

Re: [PATCH 6/6] mirrors.bbclass: Update gnutls mirrors

Quoted 11 lines · Christopher Larson

On Thu, Aug 27, 2015 at 6:06 AM, Jussi Kukkonen <[email protected]> wrote:
* Remove mirror sites that no longer exist
* Update the gnutls.org path so the gnupg mirror gets used

Hmm, I can't help but wonder if these app-specific mirrors should be moved to the recipes or classes that need them, rather than in the global default MIRRORS..

I do share that view for recipe specific entries like this. I will merge the patch as it fixes broken things though.

Cheers,

Richard