[OE-core] [PATCH v3] elfutils: remove Elfutils-Exception and include GPLv2 for shared libraries

Mark Hatle mark.hatle at windriver.com
Thu Apr 11 15:45:21 UTC 2019


On 4/11/19 8:41 AM, Mikko Rapeli wrote:
> Elfutils-Exception no longer exists after upstream release 0.154
> and commit:
> 
> commit de2ed97f33139af5c7a0811e4ec66fc896a13cf2
> Author: Mark Wielaard <mjw at redhat.com>
> Date:   Tue Jun 5 17:15:16 2012 +0200
> 
> NEWS file in the sources says this about switch from GPLv2 to
> GPLv3 license:
> 
> https://sourceware.org/git/?p=elfutils.git;a=blob;f=NEWS;h=5a06047f255e3c9a63828953759fd18a4ba9a3f3;hb=HEAD#l362
> 
>  362 The license is now GPLv2/LGPLv3+ for the libraries and GPLv3+ for stand-alone
>  363 programs. There is now also a formal CONTRIBUTING document describing how to
>  364 submit patches.
> 
> libasm, libdw and libelf are thus covered optionally by GPLv2 license.
> 
> See also Debian copyright summary for elfutils:
> 
> https://tracker.debian.org/media/packages/e/elfutils/copyright-0.175-1
> 
> Signed-off-by: Mikko Rapeli <mikko.rapeli at bmw.de>
> ---
>  meta/conf/licenses.conf                          |  2 +-
>  meta/files/common-licenses/Elfutils-Exception    | 12 ------------
>  meta/recipes-devtools/elfutils/elfutils_0.176.bb | 14 +++++++++++++-
>  3 files changed, 14 insertions(+), 14 deletions(-)
>  delete mode 100644 meta/files/common-licenses/Elfutils-Exception
> 
> v1: http://lists.openembedded.org/pipermail/openembedded-core/2019-April/281124.html
> 
> v2: http://lists.openembedded.org/pipermail/openembedded-core/2019-April/281127.html
>  * removed Elfutils-Exception
> 
> v3:
>  * rebase to latest master branch with elfutils 0.176
> 
> diff --git a/meta/conf/licenses.conf b/meta/conf/licenses.conf
> index 1058084..7b01c57 100644
> --- a/meta/conf/licenses.conf
> +++ b/meta/conf/licenses.conf
> @@ -16,7 +16,7 @@ SRC_DISTRIBUTE_LICENSES += "CC-BY-SA-1.0 CC-BY-SA-2.0 CC-BY-SA-2.5 CC-BY-SA-3.0
>  SRC_DISTRIBUTE_LICENSES += "CDDL-1.0 CECILL-1.0 CECILL-2.0 CECILL-B CECILL-C"
>  SRC_DISTRIBUTE_LICENSES += "ClArtistic CPAL-1.0 CPL-1.0 CUA-OPL-1.0 DSSSL"
>  SRC_DISTRIBUTE_LICENSES += "ECL-1.0 ECL-2.0 eCos-2.0 EDL-1.0 EFL-1.0 EFL-2.0"
> -SRC_DISTRIBUTE_LICENSES += "Elfutils-Exception Entessa EPL-1.0 EPL-2.0 ErlPL-1.1"
> +SRC_DISTRIBUTE_LICENSES += "Entessa EPL-1.0 EPL-2.0 ErlPL-1.1"
>  SRC_DISTRIBUTE_LICENSES += "EUDatagrid EUPL-1.0 EUPL-1.1 Fair Frameworx-1.0"
>  SRC_DISTRIBUTE_LICENSES += "FreeType GFDL-1.1 GFDL-1.2 GFDL-1.3 GPL-1.0"
>  SRC_DISTRIBUTE_LICENSES += "GPL-2.0 GPL-2.0-with-autoconf-exception"
> diff --git a/meta/files/common-licenses/Elfutils-Exception b/meta/files/common-licenses/Elfutils-Exception
> deleted file mode 100644
> index 627d769..0000000
> --- a/meta/files/common-licenses/Elfutils-Exception
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -   This file describes the limits of the Exception under which you are allowed
> -   to distribute Non-GPL Code in linked combination with Red Hat elfutils.
> -   For the full text of the license, please see one of the header files
> -   included with the source distribution or the file COPYING found in the
> -   top level directory of the source.
> -
> -   The Approved Interfaces are the functions declared in the files:
> -
> -   libelf.h
> -   libdw.h
> -   libdwfl.h
> -
> diff --git a/meta/recipes-devtools/elfutils/elfutils_0.176.bb b/meta/recipes-devtools/elfutils/elfutils_0.176.bb
> index fd901c9..cd824e2 100644
> --- a/meta/recipes-devtools/elfutils/elfutils_0.176.bb
> +++ b/meta/recipes-devtools/elfutils/elfutils_0.176.bb
> @@ -1,7 +1,7 @@
>  SUMMARY = "Utilities and libraries for handling compiled object files"
>  HOMEPAGE = "https://sourceware.org/elfutils"
>  SECTION = "base"
> -LICENSE = "(GPLv3 & Elfutils-Exception)"
> +LICENSE = "GPLv2 & LGPLv3+ & GPLv3+"'

I realize we don't have a choice but to conform to the licensing when we
rebase... but has anyone looked at what links to elfutils to see if this could
end up introducing any licensing issues?

The previous exception specifically allowed Non-GPL code to use interfaces, I'm
not sure if there is actually any non-GPL code using these interfaces without
OE, but it may be worth a quick look.

>  LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
>  DEPENDS = "libtool bzip2 zlib virtual/libintl"
>  DEPENDS_append_libc-musl = " argp-standalone fts "
> @@ -53,6 +53,18 @@ BBCLASSEXTEND = "native nativesdk"
>  
>  # Package utilities separately
>  PACKAGES =+ "${PN}-binutils libelf libasm libdw"
> +
> +# shared libraries are licensed GPLv2 or GPLv3+, binaries GPLv3+

Don't you mean LGPLv3+ above for the shared libraries?

> +# according to NEWS file:
> +# "The license is now GPLv2/LGPLv3+ for the libraries and GPLv3+ for stand-alone
> +# programs. There is now also a formal CONTRIBUTING document describing how to
> +# submit patches."
> +LICENSE_${PN}-binutils = "GPLv3+"
> +LICENSE_${PN} = "GPLv3+"
> +LICENSE_libelf = "GPLv2 | LGPLv3+"
> +LICENSE_libasm = "GPLv2 | LGPLv3+"
> +LICENSE_libdw = "GPLv2 | LGPLv3+"
> +
>  FILES_${PN}-binutils = "\
>      ${bindir}/eu-addr2line \
>      ${bindir}/eu-ld \
> 



More information about the Openembedded-core mailing list