Bug 2068241 - Review Request: perl-OpenGL-GLUT - Perl bindings to GLUT/FreeGLUT GUI toolkit
Summary: Review Request: perl-OpenGL-GLUT - Perl bindings to GLUT/FreeGLUT GUI toolkit
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Petr Pisar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 2064753
TreeView+ depends on / blocked
 
Reported: 2022-03-24 17:59 UTC by Jitka Plesnikova
Modified: 2022-04-12 07:13 UTC (History)
2 users (show)

Fixed In Version: perl-OpenGL-GLUT-0.72-1.fc37
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-04-12 07:13:13 UTC
Type: ---
Embargoed:
ppisar: fedora-review+


Attachments (Terms of Use)

Description Jitka Plesnikova 2022-03-24 17:59:45 UTC
Spec URL: https://jplesnik.fedorapeople.org/perl-OpenGL-GLUT/perl-OpenGL-GLUT.spec
SRPM URL: https://jplesnik.fedorapeople.org/perl-OpenGL-GLUT/perl-OpenGL-GLUT-0.72-1.fc37.src.rpm
Description:
OpenGL::GLUT is the alpha release of a stand-alone module for GLUT/FreeGLUT
bindings extracted from code in the original Perl OpenGL module. The
purpose is to make this functionality available independent of the legacy
OpenGL module for use with OpenGL::Modern.

Fedora Account System Username: jplesnik

Comment 1 Petr Pisar 2022-03-25 10:30:04 UTC
URL and Source0 addresses are Ok.
TODO: Remove a trailing slash from URL tag.

Source archive (SHA-512: ade45f62e83ea279f9dabc03fa802cd401577a04f708293d829ca8a4b7fd5369579a010a018e45fce0d472e70b725222301f242bc48cf859c8a8430e68f43149) is original. Ok.
Summary verified from lib/OpenGL/GLUT.pm. Ok.
Description verified from lib/OpenGL/GLUT.pm. Ok.

TODO: Licenses found, document them with a comment in the spec file:
  pgopogl.h is LGPLv2+
  include/GL is MIT
  include/GL/glprocs.h is "SGI Free Software License B 1.1"
FIX: If pgopogl.h is is built in, then GPL+ part of the binary License tag must be GPLv2+. 
FATAL: SGI Free Software License B 1.1 is forbidden in Fedora. You need to remove this file from a source tarball.

FIX: Build-require libX11-devel (Makefile.PL:516).
FIX: Build-require make (perl-OpenGL-GLUT.spec:59).
FIX: Don't build-require perl(constant). It's only used from test.pl which you named and don't execute.
TODO: I believe perl(OpenGL) is not used at run-time by this package. Also because you do not execute test.pl, it's also not build-required.

All tests pass. Ok.

I will resume with this review once you resolve the license of include/GL/glprocs.h.

Comment 2 Jitka Plesnikova 2022-03-25 12:13:24 UTC
Updated files are on the same link.

Comment 3 Petr Pisar 2022-03-28 13:21:39 UTC
> TODO: Remove a trailing slash from URL tag.
Ok.

> FIX: If pgopogl.h is is built in, then GPL+ part of the binary License tag must be GPLv2+. 
Ok.

> FATAL: SGI Free Software License B 1.1 is forbidden in Fedora. You need to remove this file from a source tarball.
Ok.

> FIX: Build-require libX11-devel (Makefile.PL:516).
Ok.

> FIX: Build-require make (perl-OpenGL-GLUT.spec:59).
Ok.

> FIX: Don't build-require perl(constant). It's only used from test.pl which you named and don't execute.
Ok.

> TODO: I believe perl(OpenGL) is not used at run-time by this package. Also because you do not execute test.pl, it's also not build-required.
I think the dependency can be removed from run-time too.

$ rpmlint perl-OpenGL-GLUT.spec ../SRPMS/perl-OpenGL-GLUT-0.72-1.fc37.src.rpm ../RPMS/x86_64/perl-OpenGL-GLUT-0.72-1.fc37.x86_64.rpm 
(none): W: unable to load spellchecking dictionary for en_US.
(none): W: unable to load spellchecking dictionary for en_US.
(none): W: unable to load spellchecking dictionary for en_US.
(none): W: unable to load spellchecking dictionary for en_US.
======================================== rpmlint session starts =======================================
rpmlint: 2.2.0
configuration:
    /usr/lib/python3.10/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/licenses.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 3

perl-OpenGL-GLUT.src: W: strange-permission repackage.sh 775
perl-OpenGL-GLUT.x86_64: E: non-executable-script /usr/lib64/perl5/vendor_perl/OpenGL/demo.pl 644 /usr/bin/perl -w
perl-OpenGL-GLUT.spec: W: invalid-url Source0: OpenGL-GLUT-0.72_repackaged.tar.gz
perl-OpenGL-GLUT.spec: W: invalid-url Source0: OpenGL-GLUT-0.72_repackaged.tar.gz
========= 2 packages and 1 specfiles checked; 1 errors, 3 warnings, 1 badness; has taken 3.0 s ========
FIX: The renamed test.pl to demo.pl is now installed as /usr/lib64/perl5/vendor_perl/OpenGL/demo.pl. Either edit Makefile.PL to exclude it, or use a different file extension which is not autopicked by EU::MM.

$ rpm -q -lv -p  ../RPMS/x86_64/perl-OpenGL-GLUT-0.72-1.fc37.x86_64.rpm          drwxr-xr-x    2 root     root                        0 Mar 28 15:00 /usr/lib/.build-id
drwxr-xr-x    2 root     root                        0 Mar 28 15:00 /usr/lib/.build-id/26
lrwxrwxrwx    1 root     root                       64 Mar 28 15:00 /usr/lib/.build-id/26/33f91a99734db8dc848900a47c38b437c12ee0 -> ../../../../usr/lib64/perl5/vendor_perl/auto/OpenGL/GLUT/GLUT.so
drwxr-xr-x    2 root     root                        0 Mar 28 14:59 /usr/lib64/perl5/vendor_perl/OpenGL
-rw-r--r--    1 root     root                    19228 Jan  9 21:38 /usr/lib64/perl5/vendor_perl/OpenGL/GLUT.pm
-rw-r--r--    1 root     root                    40842 Jan  9 21:28 /usr/lib64/perl5/vendor_perl/OpenGL/demo.pl
-rw-r--r--    1 root     root                      768 Jan  9 16:56 /usr/lib64/perl5/vendor_perl/OpenGL/menutest.pl
drwxr-xr-x    2 root     root                        0 Mar 28 14:59 /usr/lib64/perl5/vendor_perl/auto/OpenGL
drwxr-xr-x    2 root     root                        0 Mar 28 14:59 /usr/lib64/perl5/vendor_perl/auto/OpenGL/GLUT
-rwxr-xr-x    1 root     root                   145392 Mar 28 14:59 /usr/lib64/perl5/vendor_perl/auto/OpenGL/GLUT/GLUT.so
drwxr-xr-x    2 root     root                        0 Mar 28 15:00 /usr/share/doc/perl-OpenGL-GLUT
-rw-r--r--    1 root     root                      143 Jan  9 21:38 /usr/share/doc/perl-OpenGL-GLUT/Changes
-rw-r--r--    1 root     root                      424 Jan  9 16:56 /usr/share/doc/perl-OpenGL-GLUT/README.md
-rw-r--r--    1 root     root                    40842 Jan  9 21:28 /usr/share/doc/perl-OpenGL-GLUT/demo.pl
-rw-r--r--    1 root     root                      768 Jan  9 16:56 /usr/share/doc/perl-OpenGL-GLUT/menutest.pl
drwxr-xr-x    2 root     root                        0 Mar 28 15:00 /usr/share/licenses/perl-OpenGL-GLUT
-rw-r--r--    1 root     root                     3415 Jan  9 16:56 /usr/share/licenses/perl-OpenGL-GLUT/COPYRIGHT
-rw-r--r--    1 root     root                     2820 Mar 28 14:59 /usr/share/man/man3/OpenGL::GLUT.3pm.gz
FIX: Remove demo.pl and menutest.pl from /usr/lib64/perl5/vendor_perl/OpenGL/.

$ rpm -q --requires -p  ../RPMS/x86_64/perl-OpenGL-GLUT-0.72-1.fc37.x86_64.rpm | sort -f | uniq -c
      1 libc.so.6()(64bit)
      1 libc.so.6(GLIBC_2.2.5)(64bit)
      1 libc.so.6(GLIBC_2.3.4)(64bit)
      1 libc.so.6(GLIBC_2.34)(64bit)
      1 libc.so.6(GLIBC_2.4)(64bit)
      1 libGL.so.1()(64bit)
      1 libglut.so.3()(64bit)
      1 libperl.so.5.34()(64bit)
      1 perl(:MODULE_COMPAT_5.34.1)
      1 perl(Carp)
      1 perl(DynaLoader)
      1 perl(Exporter)
      1 perl(OpenGL) >= 0.70
      1 perl(strict)
      1 perl(warnings)
      1 rpmlib(CompressedFileNames) <= 3.0.4-1
      1 rpmlib(FileDigests) <= 4.6.0-1
      1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      1 rpmlib(PayloadIsZstd) <= 5.4.18-1
      1 rtld(GNU_HASH)
TODO: Remove 'perl(OpenGL) >= 0.70'.

$ rpm -q --provides -p  ../RPMS/x86_64/perl-OpenGL-GLUT-0.72-1.fc37.x86_64.rpm | sort -f | uniq -c
      1 perl(OpenGL::GLUT) = 0.72
      1 perl-OpenGL-GLUT = 0.72-1.fc37
      1 perl-OpenGL-GLUT(x86-64) = 0.72-1.fc37
Binary provides are Ok.

$ resolvedeps rawhide  ../RPMS/x86_64/perl-OpenGL-GLUT-0.72-1.fc37.x86_64.rpm 
Binary dependencies are resolvable. Ok.

The package builds in F37 (https://koji.fedoraproject.org/koji/taskinfo?taskID=84835191). Ok.

Otherwise the package is in line with Fedora and Perl packaging guidelines.
Please correct the FIX items and consider fixing the TODO items before building this package.

Comment 4 Jitka Plesnikova 2022-03-31 14:06:30 UTC
https://pagure.io/releng/fedora-scm-requests/issue/43300

Comment 5 Mohan Boddu 2022-03-31 19:02:54 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/perl-OpenGL-GLUT

Comment 6 Jitka Plesnikova 2022-04-12 07:13:13 UTC
Thank you for review and repository.


Note You need to log in before you can comment on or make changes to this bug.