phoronix-test-suite downloads nonfree software (+ question on collaboration with Parabola on this package)

  • Done
  • quality assurance status badge
Details
2 participants
  • Denis 'GNUtoo' Carikli
  • Maxim Cournoyer
Owner
unassigned
Submitted by
Denis 'GNUtoo' Carikli
Severity
normal
D
D
Denis 'GNUtoo' Carikli wrote on 3 Aug 2022 01:27
20220803012745.2d5e24de@primary_laptop
Hi,

Thanks a lot for working on having a recent FSDG compliant versions of
phoronix-test-suite.

I've found a minor issue with phoronix-test-suite and I've a couple of
questions to help synchronize between Parabola and Guix to prevent
accidental installation of nonfree software.

Nonfree software downloaded by phoronix-test-suite:
---------------------------------------------------
According to Debian, Linux has the following nonfree files:
Toggle quote (7 lines)
> Documentation/netlabel/draft-ietf-cipso-ipsecurity-01.txt
> arch/powerpc/platforms/8xx/micropatch.c
> drivers/media/usb/dvb-usb/af9005-script.h drivers/media/i2c/vs6624.c
> drivers/net/appletalk/cops*
> drivers/video/fbdev/nvidia
> drivers/video/fbdev/riva

The GNU project also mention that ("nonfree blobs are shipped with
Linux, the kernel") in the list of distros that are not FSDG
compliant[1].

When running 'phoronix-test-suite test build-linux-kernel' (and
selecting Yes(Y) to install the test), phoronix-test-suite downloads
a tarball of Linux.

So I assume that the tarball downloaded also have nonfree software like
arch/powerpc/platforms/8xx/micropatch.c. So we also need to filter-out
two tests (to keep being FSDG compliant):
Toggle quote (3 lines)
> pts/build-linux-kernel
> pts/unpack-linux

As I understand, the other build should be fine.

Question on the package description and collaborating with Parabola:
--------------------------------------------------------------------
If I run 'phoronix-test-suite list' on a fresh Guix installation, it
lists nonfree software like BioShock Infinite, Hitman, which are games
that have not been released under free licenses (according to
Wikipedia).

I've installed Guix on a separate computer just for that (as it would
be negligence from my part to risk running nonfree software like that on
computers that are either hold keys to sign releases or build releases).

And there it seems that it runs hoses tests (I need to do that in a
terminal in a graphical interface like sway for instance) but I'm unsure
if it actually downloaded nonfree software or not as the tests seem to
fail and I didn't find the games being downloaded (but I only looked
rapidly).

If it didn't download any nonfree games, we could update the package
description to explain how this FSDG compliance is done to not make
users afraid and prevent invalid bug reports.

I also saw there is a python script[2] that somehow is supposed to take
care of FSDG compliance. How does it work in practice?

I'm also asking because I've also added phoronix-test-suite to Parabola
long time ago with a very different patch, and if for some reasons both
patches are incompatible, I don't want to end up in a situation where
users running Guix on top of Parabola would end up accidentally
installing nonfree software.

If that's the case it would be easier to fix the issue in Parabola
(just by updating phoronix-test-suite and taking care of informing the
users to delete their old ~/.phoronix-test-suite/) but I also need to
understand how the python script works first.

Once these questions are sorted out I'll try to install Parabola
instead of Guix on that test laptop, import my existing
~/.phoronix-test-suite/, install Guix on top, and install
phoronix-test-suite through Guix to see if the nonfree tests somehow
run something.

And I'll then report the result of test here and I'll then probably end
up updating in Parabola (and reusing your patch).

References:
-----------
[2]gnu/packages/patches/phoronix-test-suite-fsdg.patch

Denis.
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEeC+d2+Nrp/PU3kkGX138wUF34mMFAmLpsvEACgkQX138wUF3
4mP4cA//csWVPlPUqihZh3KEHPWaDHbA+bxWmEzzxy0MiTtv8mEk0aHfqx0kWwUW
I4LAupTBMNAYfSwtM/Ild0r+i2IlheQREZaBL2IT9z6GL7eZU+WgaKxldUnda3Xs
wq3tiWQwUiwxzwj3yNcUsVGv+p3aGwS1NeaqadcegBzhng/4SqHk87tG37TKq668
/BuHOjhRaotQItFF9f0sQOjs+Ecdd5Tjjx36QI8dJFjHnN2mvhVjqEurKKOa8g/D
wjf7d3Pzko9iks3SZYklCzEud07mexyozz68ycfHGY1/kF3lBC0VuwubDXMhzFm3
imLlhQ9AnATAFp+16g+Gvm9eC+ufCqjuQHlj+SHKgZiVC8TzptOjLe4DIUoFQmc8
OyLRWSVnGpBdVkbWelH5IB2VzvyN3dgkrz7X1XPCn3sdbCb+lXibpoqb1Kloawdz
fjrEAsjMCbSypsfHBrInHQhJD8Qfayw1poX3MaaY+glouQ19bH5PLuniNmdbSaFM
C4tWGDj8SsCc61Z0JNFHfIqu1I64GzjksNP/pQDqBZMwCtDIdNP2pBB58grnkYu0
icA0YX/O0Ti/3vq9TCrcn0dleTSNy4/pPJnu0SEiz/Mn7Wlp8HLsFV/s5+Tu5k2p
qS3dcMsL8aEAiwhwnISzw0Z4pRLvXAEuLvr3SLqWO2qUXrbBwZY=
=gnwN
-----END PGP SIGNATURE-----


M
M
Maxim Cournoyer wrote on 3 Aug 2022 04:28
(name . Denis 'GNUtoo' Carikli)(address . GNUtoo@cyberdimension.org)(address . 56900@debbugs.gnu.org)
87fsiejc0n.fsf@gmail.com
Hi Denis,

Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> writes:

Toggle quote (9 lines)
> Hi,
>
> Thanks a lot for working on having a recent FSDG compliant versions of
> phoronix-test-suite.
>
> I've found a minor issue with phoronix-test-suite and I've a couple of
> questions to help synchronize between Parabola and Guix to prevent
> accidental installation of nonfree software.

Thanks for reaching out!

Toggle quote (26 lines)
> Nonfree software downloaded by phoronix-test-suite:
> ---------------------------------------------------
> According to Debian, Linux has the following nonfree files:
>> Documentation/netlabel/draft-ietf-cipso-ipsecurity-01.txt
>> arch/powerpc/platforms/8xx/micropatch.c
>> drivers/media/usb/dvb-usb/af9005-script.h drivers/media/i2c/vs6624.c
>> drivers/net/appletalk/cops*
>> drivers/video/fbdev/nvidia
>> drivers/video/fbdev/riva
>
> The GNU project also mention that ("nonfree blobs are shipped with
> Linux, the kernel") in the list of distros that are not FSDG
> compliant[1].
>
> When running 'phoronix-test-suite test build-linux-kernel' (and
> selecting Yes(Y) to install the test), phoronix-test-suite downloads
> a tarball of Linux.
>
> So I assume that the tarball downloaded also have nonfree software like
> arch/powerpc/platforms/8xx/micropatch.c. So we also need to filter-out
> two tests (to keep being FSDG compliant):
>> pts/build-linux-kernel
>> pts/unpack-linux
>
> As I understand, the other build should be fine.

The test is probably marked as free (as in freedom) by the metadata
included in the test; we should rectify that in a source snippet and
open an issue upstream so that the correct metadata gets added. Looking
a it, the unpack-firefox would fall in the same category I believe.

Toggle quote (7 lines)
> Question on the package description and collaborating with Parabola:
> --------------------------------------------------------------------
> If I run 'phoronix-test-suite list' on a fresh Guix installation, it
> lists nonfree software like BioShock Infinite, Hitman, which are games
> that have not been released under free licenses (according to
> Wikipedia).

I confirm:

$ phoronix-test-suite list-all-tests | grep -iE '(hitman|bioshock)'
pts/bioshock-infinite BioShock Infinite Graphics
pts/hitman HITMAN Graphics

And the reason why:

Toggle snippet (7 lines)
$ grep License $(guix build phoronix-test-suite)/ob-cache/test-profiles/pts/hitman-1.0.1/test-definition.xml
<License>Free</License>

$ grep License /gnu/store/bdjf3g5c0xv0hhygag1rwjsvq11y7j1h-phoronix-test-suite-10.8.3/share/phoronix-test-suite/ob-cache/test-profiles/pts/bioshock-infinite-1.0.1/test-definition.xml
<License>Free</License>

We definitely should report these upstream, if they haven't been fixed
yet (there's a separate repository for the test metadata).

Toggle quote (4 lines)
> If it didn't download any nonfree games, we could update the package
> description to explain how this FSDG compliance is done to not make
> users afraid and prevent invalid bug reports.

Good idea.

Toggle quote (3 lines)
> I also saw there is a python script[2] that somehow is supposed to take
> care of FSDG compliance. How does it work in practice?

phoronix-test-suite comes with the test metadata so that it can at list
them offline upon first use. Normally, it fetches updates of this
metadata but this gets disabled in our packaging of it, so only our
cleaned up offline metadata gets used.

So the Python script takes care of pruning nonfree tests from the
metadata, based on the metadata of the tests themselves (normally their
'License' field is set to 'Free' for free software).

I hope that helps clearing how it works.

Would you like to try preparing a snippet patch turning the above 'Free'
into 'Proprietary' or the likes so that the Python script can remove
them? Otherwise I can look into it.

Thanks,

Maxim
D
D
Denis 'GNUtoo' Carikli wrote on 4 Aug 2022 16:27
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)(address . 56900@debbugs.gnu.org)
20220804162700.419638f3@primarylaptop.localdomain
On Tue, 02 Aug 2022 22:28:56 -0400
Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote:

Toggle quote (1 lines)
> Hi Denis,
Hi,

Toggle quote (3 lines)
> Would you like to try preparing a snippet patch turning the above
> 'Free' into 'Proprietary' or the likes so that the Python script can
> remove them? Otherwise I can look into it.
Since you wrote the python script you might be way faster if you do it.

By the way I've found new issues:
- phoronix-test-suite test system/gnupg => This downloads
linux-4.3.tar.gz, so it has the same issue.
- phoronix-test-suite test pts/gnupg => This downloads
ubuntu-20.04-desktop-amd64.iso so it has the same issue because
ubuntu-20.04-desktop-amd64.iso probably contains nonfree firmwares.

Denis.
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEeC+d2+Nrp/PU3kkGX138wUF34mMFAmLr1zQACgkQX138wUF3
4mPIlA//Rq1tnjNFqYKd2ji/hcATl8wxTUfeuq9RR7pQXoS6069+sZlnzagTlFVM
ACNzBSHWNxdsWt6uiSvSeWJpdAYST3C6823Y3DcAXl8fMbJcc0mdO8Nw1+miWOn6
mbH5Ra2c4YSoENoVAtpjmaLQ4WvgViMFRpD5mOdVZOgc/pvgIktOjbxV7pBjVi2+
0tBGPsws3d3bFdS+CLbVmD1/699mK18CvLnO7/Yd4hqXy6Qhuf1iZU5cwEYzitql
qjMUH9rkOlyRgesK59orORCPfrtXPsvJQp2Ta72EECHdTc15kGB2ifq31V2USXaP
lCgJ1tRKXps+qMk/3yg0WLj/I0dXkd4nj2EUFsThN4axI2WUXN9WgSe47maK4GyI
/Jh4Cnk13ipylu7HAxyaXmtc/+sM0wctIDPa4sF2i4qJO0jnRvqzq0jCyKFkKCvp
lUAAVe9Rr+F9jXj0q5yOVRsdR2SQLwiwe5bjKqHIuKgKQwJG2igGgRnkVCC4wRGJ
aT6gwz4QzIEnEIB2MS2ODRYAfduANUux5PH4Rn0FEwx5TdRwQurTMooqq+Zfo8hc
wk+o6qA3F/NlYrMO5uw1va8d0Wpjy0jBLQpAnA96wYOYTeEYY4aKjs5jTqxNQn1I
tuEH9lJnIX3dq+HGnjv31r2o9C5fCyDMckVj+tOBO+/xFTUsq5I=
=Uh3E
-----END PGP SIGNATURE-----


M
M
Maxim Cournoyer wrote on 2 Sep 2022 14:58
control message for bug #56900
(address . control@debbugs.gnu.org)
87v8q66igo.fsf@gmail.com
close 56900
quit
M
M
Maxim Cournoyer wrote on 2 Sep 2022 14:58
Re: bug#56900: phoronix-test-suite downloads nonfree software (+ question on collaboration with Parabola on this package)
(name . Denis 'GNUtoo' Carikli)(address . GNUtoo@cyberdimension.org)(address . 56900-done@debbugs.gnu.org)
87wnam6ihb.fsf@gmail.com
Hello Denis,

Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> writes:

Toggle quote (18 lines)
> On Tue, 02 Aug 2022 22:28:56 -0400
> Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote:
>
>> Hi Denis,
> Hi,
>
>> Would you like to try preparing a snippet patch turning the above
>> 'Free' into 'Proprietary' or the likes so that the Python script can
>> remove them? Otherwise I can look into it.
> Since you wrote the python script you might be way faster if you do it.
>
> By the way I've found new issues:
> - phoronix-test-suite test system/gnupg => This downloads
> linux-4.3.tar.gz, so it has the same issue.
> - phoronix-test-suite test pts/gnupg => This downloads
> ubuntu-20.04-desktop-amd64.iso so it has the same issue because
> ubuntu-20.04-desktop-amd64.iso probably contains nonfree firmwares.

I've fixed all the problems reported (and then some) with
448deee2b73914e094f22684e2d38637502cd4f0.

Thanks for reported them!

Closing.

Maxim
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 56900@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 56900
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch