[oe,meta-oe] cpupower: update license file checksum

Message ID 20190422200845.14343-1-daniel.diaz@linaro.org
State New
Headers show
Series
  • [oe,meta-oe] cpupower: update license file checksum
Related show

Commit Message

Daniel Díaz April 22, 2019, 8:08 p.m.
The Linux kernel is GPLv2, at least as far cpupower is
concerned. Because this recipe reuses the kernel code, and
said source code can (does) vary across different releases,
it's best to refer to license by its name.

Use GPL-2.0 from OE common license dir.

Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
---
 meta-oe/recipes-kernel/cpupower/cpupower.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Martin Jansa April 22, 2019, 8:15 p.m. | #1
NAK

This completely defeats the purpose of LIC_FILES_CHKSUM.

If the COPYING file vary across releases than LIC_FILES_CHKSUM should be
updated when needed while verifying that the LICENSE value is still correct.

If you use COMMON_LICENSE_DIR and completely ignore the license in the
source, then it won't ever warn the user that the license was changed while
upgrading to newer release.

On Mon, Apr 22, 2019 at 10:09 PM Daniel Díaz <daniel.diaz@linaro.org> wrote:

> The Linux kernel is GPLv2, at least as far cpupower is
> concerned. Because this recipe reuses the kernel code, and
> said source code can (does) vary across different releases,
> it's best to refer to license by its name.
>
> Use GPL-2.0 from OE common license dir.
>
> Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
> ---
>  meta-oe/recipes-kernel/cpupower/cpupower.bb | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta-oe/recipes-kernel/cpupower/cpupower.bb
> b/meta-oe/recipes-kernel/cpupower/cpupower.bb
> index 928973871..c7ea087a5 100644
> --- a/meta-oe/recipes-kernel/cpupower/cpupower.bb
> +++ b/meta-oe/recipes-kernel/cpupower/cpupower.bb
> @@ -2,7 +2,7 @@ SUMMARY = "Shows and sets processor power related values"
>  DESCRIPTION = "cpupower is a collection of tools to examine and tune
> power \
>  saving related features of your processor."
>  LICENSE = "GPLv2"
> -LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
> +LIC_FILES_CHKSUM =
> "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
>  DEPENDS = "pciutils gettext-native"
>  PROVIDES = "virtual/cpupower"
>
> --
> 2.17.1
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>
Daniel Díaz April 22, 2019, 8:38 p.m. | #2
Hello!

On Mon, 22 Apr 2019 at 15:15, Martin Jansa <martin.jansa@gmail.com> wrote:
> NAK
>
> This completely defeats the purpose of LIC_FILES_CHKSUM.
> If the COPYING file vary across releases than LIC_FILES_CHKSUM should be updated when needed while verifying that the LICENSE value is still correct.
> If you use COMMON_LICENSE_DIR and completely ignore the license in the source, then it won't ever warn the user that the license was changed while upgrading to newer release.

I understand the sentiment and agree to the principle. Besides,
licensing of the kernel source code does not change too often -- Last
change in the kernel was over a year ago, and it was not relicensed,
just reshuffled.

This does, however, blocks us from switching kernels or building
different versions with the same OE baseline. Our [1] main targets are
Linux LTS's: 4.4, 4.9, 4.14, 4.19, and (currently) 5.0; we also build
Linux mainline and Linux next. For automated bisections or for a
kernel developer tree, we have to rely on the given kernel source
code, which might contain any license that cpupower has had in the
past. We know for sure that _that_ is GPL-2, but we can't adjust the
checksum on the fly.

We're fine carrying this patch in our trees, as we can burden
ourselves with looking at licensing of the kernel, but because this
was so promptly NAKed, I also very much would like to hear feedback on
how to deal with such limitation in a way that could be acceptable in
meta-oe.

Thanks and greetings!

Daniel Díaz
daniel.diaz@linaro.org


[1] https://lkft.linaro.org/about/


> On Mon, Apr 22, 2019 at 10:09 PM Daniel Díaz <daniel.diaz@linaro.org> wrote:
>>
>> The Linux kernel is GPLv2, at least as far cpupower is
>> concerned. Because this recipe reuses the kernel code, and
>> said source code can (does) vary across different releases,
>> it's best to refer to license by its name.
>>
>> Use GPL-2.0 from OE common license dir.
>>
>> Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
>> ---
>>  meta-oe/recipes-kernel/cpupower/cpupower.bb | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/meta-oe/recipes-kernel/cpupower/cpupower.bb b/meta-oe/recipes-kernel/cpupower/cpupower.bb
>> index 928973871..c7ea087a5 100644
>> --- a/meta-oe/recipes-kernel/cpupower/cpupower.bb
>> +++ b/meta-oe/recipes-kernel/cpupower/cpupower.bb
>> @@ -2,7 +2,7 @@ SUMMARY = "Shows and sets processor power related values"
>>  DESCRIPTION = "cpupower is a collection of tools to examine and tune power \
>>  saving related features of your processor."
>>  LICENSE = "GPLv2"
>> -LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
>> +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
>>  DEPENDS = "pciutils gettext-native"
>>  PROVIDES = "virtual/cpupower"
>>
>> --
>> 2.17.1
>>
>> --
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
Nicolas Dechesne May 1, 2019, 7:16 a.m. | #3
hey,

On Mon, Apr 22, 2019 at 10:38 PM Daniel Díaz <daniel.diaz@linaro.org> wrote:
>
> Hello!
>
> On Mon, 22 Apr 2019 at 15:15, Martin Jansa <martin.jansa@gmail.com> wrote:
> > NAK
> >
> > This completely defeats the purpose of LIC_FILES_CHKSUM.
> > If the COPYING file vary across releases than LIC_FILES_CHKSUM should be updated when needed while verifying that the LICENSE value is still correct.
> > If you use COMMON_LICENSE_DIR and completely ignore the license in the source, then it won't ever warn the user that the license was changed while upgrading to newer release.

I hit this issue today as well.. so looked into it..

>
>
> I understand the sentiment and agree to the principle. Besides,
> licensing of the kernel source code does not change too often -- Last
> change in the kernel was over a year ago, and it was not relicensed,
> just reshuffled.
>
> This does, however, blocks us from switching kernels or building
> different versions with the same OE baseline. Our [1] main targets are
> Linux LTS's: 4.4, 4.9, 4.14, 4.19, and (currently) 5.0; we also build
> Linux mainline and Linux next. For automated bisections or for a
> kernel developer tree, we have to rely on the given kernel source
> code, which might contain any license that cpupower has had in the
> past. We know for sure that _that_ is GPL-2, but we can't adjust the
> checksum on the fly.
>
> We're fine carrying this patch in our trees, as we can burden
> ourselves with looking at licensing of the kernel, but because this
> was so promptly NAKed, I also very much would like to hear feedback on
> how to deal with such limitation in a way that could be acceptable in
> meta-oe.

cpupower is a 'special' recipe since it does "inherit kernelsrc" ,
which essentially means that it doesn't have its own sources, but
reuse the kernel source tree, from virtual/kernel recipe. As such,
checking the license file in cpupower recipe does not seem relevant,
since it does not fetch anything (kernelsrc has "deltask do_fetch")
and the fetching is deferred to the virtual/kernel recipe.

so we are basically checking the COPYING file twice. If there was any
license issue, it would have been caught by virtual/kernel recipe
already.

so the proposed patch doesn't seem too bad.. in fact, we might even
want to do that directly in kernelsrc.bbclass.

well, in fact.. i now just checked at other recipes that uses
kernelsrc and found that:
* meta/recipes-kernel/perf/perf.bb: does not set LIC_FILES_CHKSUMS,
and it works fine...
* meta-oe/recipes-kernel/bpftool/bpftool.bb: it has this:
LIC_FILES_CHKSUM =
"file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"

Since we remove do_fetch task explicitly , i think that removing
LIC_FILES_CHKSUMS (like in perf.bb) should be the best approach.  I
tried to build cpupower without LIC_FILES_CHKSUMS and it worked..

>
> Thanks and greetings!
>
> Daniel Díaz
> daniel.diaz@linaro.org
>
>
> [1] https://lkft.linaro.org/about/
>
>
> > On Mon, Apr 22, 2019 at 10:09 PM Daniel Díaz <daniel.diaz@linaro.org> wrote:
> >>
> >> The Linux kernel is GPLv2, at least as far cpupower is
> >> concerned. Because this recipe reuses the kernel code, and
> >> said source code can (does) vary across different releases,
> >> it's best to refer to license by its name.
> >>
> >> Use GPL-2.0 from OE common license dir.
> >>
> >> Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
> >> ---
> >>  meta-oe/recipes-kernel/cpupower/cpupower.bb | 2 +-
> >>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/meta-oe/recipes-kernel/cpupower/cpupower.bb b/meta-oe/recipes-kernel/cpupower/cpupower.bb
> >> index 928973871..c7ea087a5 100644
> >> --- a/meta-oe/recipes-kernel/cpupower/cpupower.bb
> >> +++ b/meta-oe/recipes-kernel/cpupower/cpupower.bb
> >> @@ -2,7 +2,7 @@ SUMMARY = "Shows and sets processor power related values"
> >>  DESCRIPTION = "cpupower is a collection of tools to examine and tune power \
> >>  saving related features of your processor."
> >>  LICENSE = "GPLv2"
> >> -LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
> >> +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
> >>  DEPENDS = "pciutils gettext-native"
> >>  PROVIDES = "virtual/cpupower"
> >>
> >> --
> >> 2.17.1
> >>
> >> --
> >> _______________________________________________
> >> Openembedded-devel mailing list
> >> Openembedded-devel@lists.openembedded.org
> >> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
Khem Raj May 2, 2019, 9:10 p.m. | #4
On Wed, May 1, 2019 at 12:17 AM Nicolas Dechesne
<nicolas.dechesne@linaro.org> wrote:
>
> hey,
>
> On Mon, Apr 22, 2019 at 10:38 PM Daniel Díaz <daniel.diaz@linaro.org> wrote:
> >
> > Hello!
> >
> > On Mon, 22 Apr 2019 at 15:15, Martin Jansa <martin.jansa@gmail.com> wrote:
> > > NAK
> > >
> > > This completely defeats the purpose of LIC_FILES_CHKSUM.
> > > If the COPYING file vary across releases than LIC_FILES_CHKSUM should be updated when needed while verifying that the LICENSE value is still correct.
> > > If you use COMMON_LICENSE_DIR and completely ignore the license in the source, then it won't ever warn the user that the license was changed while upgrading to newer release.
>
> I hit this issue today as well.. so looked into it..
>
> >
> >
> > I understand the sentiment and agree to the principle. Besides,
> > licensing of the kernel source code does not change too often -- Last
> > change in the kernel was over a year ago, and it was not relicensed,
> > just reshuffled.
> >
> > This does, however, blocks us from switching kernels or building
> > different versions with the same OE baseline. Our [1] main targets are
> > Linux LTS's: 4.4, 4.9, 4.14, 4.19, and (currently) 5.0; we also build
> > Linux mainline and Linux next. For automated bisections or for a
> > kernel developer tree, we have to rely on the given kernel source
> > code, which might contain any license that cpupower has had in the
> > past. We know for sure that _that_ is GPL-2, but we can't adjust the
> > checksum on the fly.
> >
> > We're fine carrying this patch in our trees, as we can burden
> > ourselves with looking at licensing of the kernel, but because this
> > was so promptly NAKed, I also very much would like to hear feedback on
> > how to deal with such limitation in a way that could be acceptable in
> > meta-oe.
>
> cpupower is a 'special' recipe since it does "inherit kernelsrc" ,
> which essentially means that it doesn't have its own sources, but
> reuse the kernel source tree, from virtual/kernel recipe. As such,
> checking the license file in cpupower recipe does not seem relevant,
> since it does not fetch anything (kernelsrc has "deltask do_fetch")
> and the fetching is deferred to the virtual/kernel recipe.
>
> so we are basically checking the COPYING file twice. If there was any
> license issue, it would have been caught by virtual/kernel recipe
> already.
>
> so the proposed patch doesn't seem too bad.. in fact, we might even
> want to do that directly in kernelsrc.bbclass.
>
> well, in fact.. i now just checked at other recipes that uses
> kernelsrc and found that:
> * meta/recipes-kernel/perf/perf.bb: does not set LIC_FILES_CHKSUMS,
> and it works fine...
> * meta-oe/recipes-kernel/bpftool/bpftool.bb: it has this:
> LIC_FILES_CHKSUM =
> "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
>
> Since we remove do_fetch task explicitly , i think that removing
> LIC_FILES_CHKSUMS (like in perf.bb) should be the best approach.  I
> tried to build cpupower without LIC_FILES_CHKSUMS and it worked..
>

thats probably ok

> >
> > Thanks and greetings!
> >
> > Daniel Díaz
> > daniel.diaz@linaro.org
> >
> >
> > [1] https://lkft.linaro.org/about/
> >
> >
> > > On Mon, Apr 22, 2019 at 10:09 PM Daniel Díaz <daniel.diaz@linaro.org> wrote:
> > >>
> > >> The Linux kernel is GPLv2, at least as far cpupower is
> > >> concerned. Because this recipe reuses the kernel code, and
> > >> said source code can (does) vary across different releases,
> > >> it's best to refer to license by its name.
> > >>
> > >> Use GPL-2.0 from OE common license dir.
> > >>
> > >> Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
> > >> ---
> > >>  meta-oe/recipes-kernel/cpupower/cpupower.bb | 2 +-
> > >>  1 file changed, 1 insertion(+), 1 deletion(-)
> > >>
> > >> diff --git a/meta-oe/recipes-kernel/cpupower/cpupower.bb b/meta-oe/recipes-kernel/cpupower/cpupower.bb
> > >> index 928973871..c7ea087a5 100644
> > >> --- a/meta-oe/recipes-kernel/cpupower/cpupower.bb
> > >> +++ b/meta-oe/recipes-kernel/cpupower/cpupower.bb
> > >> @@ -2,7 +2,7 @@ SUMMARY = "Shows and sets processor power related values"
> > >>  DESCRIPTION = "cpupower is a collection of tools to examine and tune power \
> > >>  saving related features of your processor."
> > >>  LICENSE = "GPLv2"
> > >> -LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
> > >> +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
> > >>  DEPENDS = "pciutils gettext-native"
> > >>  PROVIDES = "virtual/cpupower"
> > >>
> > >> --
> > >> 2.17.1
> > >>
> > >> --
> > >> _______________________________________________
> > >> Openembedded-devel mailing list
> > >> Openembedded-devel@lists.openembedded.org
> > >> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
> > --
> > _______________________________________________
> > Openembedded-devel mailing list
> > Openembedded-devel@lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-devel
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Patch

diff --git a/meta-oe/recipes-kernel/cpupower/cpupower.bb b/meta-oe/recipes-kernel/cpupower/cpupower.bb
index 928973871..c7ea087a5 100644
--- a/meta-oe/recipes-kernel/cpupower/cpupower.bb
+++ b/meta-oe/recipes-kernel/cpupower/cpupower.bb
@@ -2,7 +2,7 @@  SUMMARY = "Shows and sets processor power related values"
 DESCRIPTION = "cpupower is a collection of tools to examine and tune power \
 saving related features of your processor."
 LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
 DEPENDS = "pciutils gettext-native"
 PROVIDES = "virtual/cpupower"