Bug 1203610

Summary: Review Request: perl-GStreamer1 - Bindings for GStreamer 1.0
Product: [Fedora] Fedora Reporter: Remi Collet <fedora>
Component: Package ReviewAssignee: Petr Pisar <ppisar>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: package-review, ppisar
Target Milestone: ---Flags: ppisar: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: perl-GStreamer1-0.003-2.fc21 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-26 21:47:35 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Remi Collet 2015-03-19 09:25:54 UTC
Spec URL: https://raw.githubusercontent.com/remicollet/remirepo/94b0e74ce969c75e62d569c943e25bdeddb2e65f/perl-GStreamer1/perl-GStreamer1.spec
SRPM URL: http://rpms.famillecollet.com/SRPMS/perl-GStreamer1-0.003-1.remi.src.rpm
GStreamer1 implements a framework that allows for processing and encoding
of multimedia sources in a manner similar to a shell pipeline.

Fedora Account System Username: remi

Target F21+ only.
New (optional) dependency of gmusicbrowser 1.1.14.
I plan to requires it (instead of perl-GStreamer in F22+)

Koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=9272719

Comment 1 Petr Pisar 2015-03-19 12:33:44 UTC
URL is usable. Ok.
FIX: Source0 is not valid:

$ wget http://www.cpan.org/modules/by-module/GStreamer1/GStreamer1-0.003.tar.gz
--2015-03-19 13:32:17--  http://www.cpan.org/modules/by-module/GStreamer1/GStreamer1-0.003.tar.gz
Resolving www.cpan.org (www.cpan.org)... 2607:f238:3::91:1,
Connecting to www.cpan.org (www.cpan.org)|2607:f238:3::91:1|:80... failed: Connection refused.
Connecting to www.cpan.org (www.cpan.org)||:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2015-03-19 13:32:17 ERROR 404: Not Found.

Please provide corrected package.

Comment 3 Remi Collet 2015-03-19 12:42:55 UTC
FYI, tested with gmusicbrowser 1.1.14

In menu / configuration
* Gstreamer 1.x detected
* Sound works as expected

Comment 4 Petr Pisar 2015-03-19 13:36:42 UTC
URL and Source0 are usable. Ok
Source archive is original (SHA-256: 4cf0ecfaefd425ac6f171fff5430e770efc3ea161475ee8856ccd23a974502dc). Ok.
Summary verified from lib/GStreamer1.pm. Ok.

TODO: I think better summary would be `Perl bindings for GStreamer 1.0' without the explanation what GStreamer is.

Description verified from lib/GStreamer1.pm. Ok.

TODO: There is no word about Perl. The description would be more suitable for gstreamer1 package than perl-GStreamer1. Please make it more specific.

License verified from Makefile.PL, lib/GStreamer1.pm, lib/GStreamer1/Caps/Simple.pm, t/001_load.t, and  t/010_caps_simple.t. Ok.

TODO: I would recommend to package examples directory instead of dist.ini file as %doc.

No XS code, noarch BuildArch is Ok.

TODO: Add `>= 0.009' constrain to `perl(Glib::Object::Introspection)' build-require (Makefile.PL:30).

TODO: Build-require `perl' (perl-GStreamer1.spec:47).
TODO: Build-require `perl(strict)' (Makefile.PL:3).
TODO: Build-require `perl(warnings)' (Makefile.PL:4).

TODO: Add `GstController-1.0.typelib' to `For Gst-1.0.typelib and GstApp-1.0.typelib' comment in the spec file (lib/GStreamer1.pm:39). It's very said that gstreamer1 does not have virtual provides for the gstreamer registry entries.

TODO: You can use plain `perl' command instead of `%{__perl}' macro.
TODO: You can use DESTDIR argument instead of PERL_INSTALL_ROOT argument in the %install section.

Build-requires are Ok.
All tests pass. Ok.

$ rpmlint perl-GStreamer1.spec ../SRPMS/perl-GStreamer1-0.003-2.fc23.src.rpm ../RPMS/noarch/perl-GStreamer1-0.003-2.fc23.noarch.rpm 
2 packages and 1 specfiles checked; 0 errors, 0 warnings.
rpmlint is Ok.

$ rpm -q -lv -p ../RPMS/noarch/perl-GStreamer1-0.003-2.fc23.noarch.rpm 
drwxr-xr-x    2 root    root                        0 Mar 19 14:27 /usr/share/doc/perl-GStreamer1
-rw-r--r--    1 root    root                      265 Nov 27 17:41 /usr/share/doc/perl-GStreamer1/CHANGELOG
-rw-r--r--    1 root    root                      552 Nov 27 17:41 /usr/share/doc/perl-GStreamer1/dist.ini
-rw-r--r--    1 root    root                     2986 Mar 19 14:27 /usr/share/man/man3/GStreamer1.3pm.gz
drwxr-xr-x    2 root    root                        0 Mar 19 14:27 /usr/share/perl5/vendor_perl/GStreamer1
-rw-r--r--    1 root    root                     6324 Nov 27 17:41 /usr/share/perl5/vendor_perl/GStreamer1.pm
drwxr-xr-x    2 root    root                        0 Mar 19 14:27 /usr/share/perl5/vendor_perl/GStreamer1/Caps
-rw-r--r--    1 root    root                     1948 Nov 27 17:41 /usr/share/perl5/vendor_perl/GStreamer1/Caps/Simple.pm
File layout and permissions is Ok.

$ rpm -q --requires -p ../RPMS/noarch/perl-GStreamer1-0.003-2.fc23.noarch.rpm | sort -f | uniq -c
      1 gstreamer1
      1 gstreamer1-plugins-base
      1 perl >= 1:5.12
      1 perl(:MODULE_COMPAT_5.20.2)
      1 perl(Glib::Object::Introspection)
      1 perl(GStreamer1::Caps::Simple)
      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(PayloadIsXz) <= 5.2-1
TODO: Add `>= 0.009' constrain to `perl(Glib::Object::Introspection)' run-require (Makefile.PL:30).

$ rpm -q --provides -p ../RPMS/noarch/perl-GStreamer1-0.003-2.fc23.noarch.rpm | sort -f | uniq -c
      1 perl(GStreamer1) = 0.003
      1 perl(GStreamer1::Caps::Simple) = 0.003
      1 perl-GStreamer1 = 0.003-2.fc23
Binary provides are Ok.

$ resolvedeps rawhide ../RPMS/noarch/perl-GStreamer1-0.003-2.fc23.noarch.rpm 
Binary dependencies resolvable. Ok.

Package builds in F23 (http://koji.fedoraproject.org/koji/taskinfo?taskID=9273521). Ok.

Otherwise package is in line with Fedora and Perl packaging guidelines.

Please consider fixing `TODO' items before building this package.

Resolution: Package APPROVED.

Comment 5 Remi Collet 2015-03-19 13:58:27 UTC
Thanks for the fast review!

I will fix the TODO.

New Package SCM Request
Package Name: perl-GStreamer1
Short Description: Bindings for GStreamer 1.x
Upstream URL: http://search.cpan.org/dist/GStreamer1/
Owners: remi
Branches: f21 f22
InitialCC: perl-sig

Comment 6 Gwyn Ciesla 2015-03-19 17:26:03 UTC
Git done (by process-git-requests).

Comment 7 Fedora Update System 2015-03-19 22:39:08 UTC
perl-GStreamer1-0.003-2.fc21 has been submitted as an update for Fedora 21.

Comment 8 Fedora Update System 2015-03-19 22:39:14 UTC
perl-GStreamer1-0.003-2.fc22 has been submitted as an update for Fedora 22.

Comment 9 Fedora Update System 2015-03-21 05:00:23 UTC
perl-GStreamer1-0.003-2.fc22 has been pushed to the Fedora 22 testing repository.

Comment 10 Fedora Update System 2015-03-26 21:47:35 UTC
perl-GStreamer1-0.003-2.fc22 has been pushed to the Fedora 22 stable repository.

Comment 11 Fedora Update System 2015-03-30 07:07:39 UTC
perl-GStreamer1-0.003-2.fc21 has been pushed to the Fedora 21 stable repository.