[SOLVED] Possible GPL violation in kernel mainline PPA?

Hello!

I tried to ask about this earlier in main-list, but no answer so far. Shortly, while binary packages has been provided by Canonical, there is no packaging scripts anymore for fresh kernels, which means there is probably GPL2 violation? (If we assume “ubuntu sauce” patches is still applied to newer kernels.)

mainline means that they use the stock Linux kernel source code, without any changes/patches.
Linus’ Linux kernel tree is called the mainline. I thought most people knew this by now.

That is the same reason why you would not use these kernels for everyday use, because they do not have adaptations for Ubuntu.

1 Like

Well, theoretically yes, but if you decided to check if that the case you’ll find that kernel from “mainline PPA” have a couple of addition patches on top of GPL’ed sources. As you can see in patches 0002 and 0003 from https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.7.1/ kernel sources is patched a little bit. I guess same applicable to 5.7.2 and newer kernels, hence this is case of GPL violation.

Moreover, in 5.7.2 build log we can see that scripts from “debian” and “debian.master” folders (that usually was created by 0001-base-packaging.patch) has been used for building, yet 0001-base-packaging.patch (and other patches) for 5.7.2 (and newer) is nowhere to be found.

The source is provided in git, note the link in:
https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.7.2/

The source is called out:
git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack cod/mainline/v5.7.2

Fetching this gives the following log:

commit 46c5cf28ee8ada8360fb147e076b268a1c24c2fb
Author: Kernel Builder (sita) <ubuntu-kernel-bot@canonical.com>
Date:   Wed Jun 10 19:34:51 2020 +0000

  configs (based on Ubuntu-5.7.0-7.8)

commit f20876c7dc7d27cbd1e2df7312e563196e8dd2e6
Author: Kernel Builder (sita) <ubuntu-kernel-bot@canonical.com>
Date:   Wed Jun 10 19:34:14 2020 +0000

  debian changelog

commit e06f5e8006271e65919fe2ebcee467a846c4d886
Author: Andy Whitcroft <apw@canonical.com>
Date:   Fri May 27 13:52:22 2016 +0100

  UBUNTU: SAUCE: tools/hv/lsvmbus -- add manual page

 BugLink: http://bugs.launchpad.net/bugs/1585311

  Signed-off-by: Andy Whitcroft <apw@canonical.com>
  Acked-by: Tim Gardner <tim.gardner@canonical.com>
  Acked-by: Brad Figg <brad.figg@canonical.com>
  Signed-off-by: Kamal Mostafa <kamal@canonical.com>

commit b219868eff7d63e8d2e362f11e00218d4c579db9
Author: Andy Whitcroft <apw@canonical.com>
Date:   Fri Sep 9 14:02:29 2016 +0100

  UBUNTU: SAUCE: add vmlinux.strip to BOOT_TARGETS1 on powerpc

  Signed-off-by: Andy Whitcroft <apw@canonical.com>

commit 430141e6c15eedb69e89191375f5dd147c0bc76e
Author: Kernel Builder (sita) <ubuntu-kernel-bot@canonical.com>
Date:   Wed Jun 10 19:34:12 2020 +0000

  base packaging

commit c58091a3ea4c1fa8a71f38842c877fbd4c54b45d
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date:   Wed Jun 10 20:21:45 2020 +0200

  Linux 5.7.2

Yeah, I tried to look up in git too, but regular tags such as ‘v5.7.2’ doesn’t have this patches, and ‘cod/mainline/v5.7.2’ is inaccessible.

~$ git fetch --tags --all
Извлечение из origin

remote: Counting objects: 88734, done.
remote: Compressing objects: 100% (16578/16578), done.
remote: Total 88734 (delta 78908), reused 81593 (delta 71830)
...
 * [новая метка]               cod/mainline/v5.4.50                    -> cod/mainline/v5.4.50
 * [новая метка]               cod/mainline/v5.6.19                    -> cod/mainline/v5.6.19
 * [новая метка]               cod/mainline/v5.7.3                     -> cod/mainline/v5.7.3
 * [новая метка]               cod/mainline/v5.7.4                     -> cod/mainline/v5.7.4
 * [новая метка]               cod/mainline/v5.7.5                     -> cod/mainline/v5.7.5
 * [новая метка]               cod/mainline/v5.7.6                     -> cod/mainline/v5.7.6
 * [новая метка]               cod/mainline/v5.7.7                     -> cod/mainline/v5.7.7
 * [новая метка]               cod/mainline/v5.8-rc2                   -> cod/mainline/v5.8-rc2
 * [новая метка]               cod/mainline/v5.8-rc3                   -> cod/mainline/v5.8-rc3
 * [новая метка]               cod/tip/daily/2020-06-18                -> cod/tip/daily/2020-06-18
...
~$ git pull 'cod/mainline/v5.7.2'
fatal: 'cod/mainline/v5.7.2' does not appear to be a git repository
fatal: Не удалось прочитать из внешнего репозитория.

Удостоверьтесь, что у вас есть необходимые права доступа
и репозиторий существует.
...
~$ git pull 'cod/mainline/v5.7.3'
fatal: 'cod/mainline/v5.7.3' does not appear to be a git repository
fatal: Не удалось прочитать из внешнего репозитория.

Удостоверьтесь, что у вас есть необходимые права доступа
и репозиторий существует.

Shortly, git claim this tag does not exist or I don’t have rights to access it.

Make that
$ git checkout ‘cod/mainline/v5.7.2’

1 Like

Can we drop the “GPL violation” rhetoric please? One person on the Internet struggling to build something from source is not the same as a GPL violation. It would be more helpful to assume good faith (as required by the Ubuntu Code of Conduct) if you want people to help you.

1 Like
Make that
$ git checkout ‘cod/mainline/v5.7.2’

Thanks! That solved it.

It wasn’t there initially, and as you can see I assumed good faith (again, initially). Before creating this topic I also checked if documentation get updated to reflect mainline PPA changes (it doesn’t) and waited for a couple of weeks for answer in mail-list.

Err, no, I doesn’t struggle to build something for a three years (and more). But, yes, combination of my lack of git knowledge (thank you, Andy and Juerg) and lack of specifically mainline kernel building documentation in Ubuntu Wiki, of course is not GPL violation, you are right here.

That is a tag you do not git pull against it. Personally (as that git repository is a monster) I would just fetch the tag I needed into a local Linus Linux git repository, for example the line below will set FETCH_HEAD to the incoming tag which you can then assign to a branch:

git fetch git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack cod/mainline/v5.7.2
git log FETCH_HEAD
1 Like

We’re not always great at responding to email queries, sadly :frowning: Mainly because of their sheer numbers. You might have better luck reaching us on freenode IRC channel #ubuntu-kernel.