Bug 578620

Summary: Review Request: quvi - Command line tool for parsing video download links
Product: [Fedora] Fedora Reporter: Nicoleau Fabien <nicoleau.fabien>
Component: Package ReviewAssignee: Martin Gieseking <martin.gieseking>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, martin.gieseking, notting
Target Milestone: ---Flags: martin.gieseking: fedora-review+
kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: quvi-0.1.4-1.fc12 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-04-13 01:52:27 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Nicoleau Fabien 2010-03-31 20:14:48 UTC
Spec URL: http://rpms.nicoleau-fabien.net/SPECS/quvi.spec
SRPM URL: http://rpms.nicoleau-fabien.net/SRPMS/quvi-0.1.3-1.fc12.src.rpm
Description: 
quvi is a command line tool for parsing video download links. It supports Youtube and other similar video websites.
libquvi is a library for parsing video download links with C API. It is written in C and intended to be a cross-platform library.
This project started as a cclive spin-off after receiving a request for a cclive library. 

The libquvi library is now a dependancy for cclive, that is present in fedora repository, so this review block cclive updates.

This package builds on koji :
http://koji.fedoraproject.org/koji/taskinfo?taskID=2087713

Rpmlint output :
[builder@FEDOBOX ~]$ rpmlint /home/builder/rpmbuild/SRPMS/quvi-0.1.3-1.fc12.src.rpm /home/builder/rpmbuild/RPMS/x86_64/quvi-0.1.3-1.fc12.x86_64.rpm /home/builder/rpmbuild/RPMS/x86_64/libquvi-0.1.3-1.fc12.x86_64.rpm /home/builder/rpmbuild/RPMS/x86_64/libquvi-devel-0.1.3-1.fc12.x86_64.rpm /home/builder/rpmbuild/RPMS/x86_64/quvi-debuginfo-0.1.3-1.fc12.x86_64.rpm
quvi.src: W: invalid-url Source0: http://quvi.googlecode.com/files/quvi-0.1.3.tar.bz2 HTTP Error 404: Not Found
5 packages and 0 specfiles checked; 0 errors, 1 warnings.
[builder@FEDOBOX ~]$ 

The warning can be ignored because the URL is actually valid. (oO)

Comment 1 Nicoleau Fabien 2010-03-31 20:16:01 UTC
Just a notice about tests :
I tried quvi command, and also installed quvi-devel and tried this sample :
http://code.google.com/p/quvi/wiki/FAQ#How_steep_is_the_learning_curve

It worked fine.

Comment 2 Martin Gieseking 2010-04-01 13:44:31 UTC
Hi Nicoleau,

just some initial comments on your package:

- According to the source file header, the license is GPLv3+, not GPLv3 only.

- I suggest to put the library into the base package and drop libquivi since both packages are rather small. The name of the devel package would then become quivi-devel.

- In the %files section, replace %{name}.1.gz with %{name}.1*. It's better not to rely on a specific compression format.

- Don't add file COPYING several times. It's sufficient to place it in the base package.

- add a blank line before %changelog :)

Comment 3 Nicoleau Fabien 2010-04-01 18:44:44 UTC
Hello Martin,
I'll update my pacakge according to your suggestions.

About the package name, as the main goal of this package is to provide libquvi (quvi binary is more like a test tool than a real application), should I name the package 'libquvi' or keep using juset 'quvi' ?

I think that libquvi is better.

Fabien

Comment 4 Martin Gieseking 2010-04-01 19:08:33 UTC
(In reply to comment #3)
> About the package name, as the main goal of this package is to provide libquvi
> (quvi binary is more like a test tool than a real application), should I name
> the package 'libquvi' or keep using juset 'quvi' ?

Hi Fabien (sorry for previously mixing up your names),
according to the naming guidelines, the package name should match that of the upstream project and/or tarball. Since both are "quvi", you should go with it.

Comment 5 Nicoleau Fabien 2010-04-01 22:33:01 UTC
Update :
Spec URL: http://rpms.nicoleau-fabien.net/SPECS/quvi.spec
SRPM URL: http://rpms.nicoleau-fabien.net/SRPMS/quvi-0.1.3-2.fc12.src.rpm


Changelog : 
- Licence fix
- Merged libquvi and quvi packages

I also removed copying file from the devel package. 

Rpmlint still complain about the URL, and about libquvi in description, so it can be ignored.

Fabien

Comment 6 Martin Gieseking 2010-04-02 08:25:10 UTC
Hi Fabien,

here's the formal review of quvi. The package is in pretty good shape. I just suggest to address the following minor cosmetic issues:

- You can remove the redundant option "-n %{name}" from %post and %postun

- append a slash to directories added in %files:
  %{_includedir}/%{name}/
  This way it's easier to recognize that a folder is added

- add a blank line between the changelog revisions

The rpmlint warnings can be ignored, as the spelling is correct and Source0 URL is valid.

$ rpmlint /var/lib/mock/fedora-12-x86_64/result/*.rpm
quvi.src: W: invalid-url Source0: http://quvi.googlecode.com/files/quvi-0.1.3.tar.bz2 HTTP Error 404: Not Found
quvi-devel.x86_64: W: spelling-error Summary(en_US) libquvi -> Libreville, Librium, libelous
quvi-devel.x86_64: W: spelling-error %description -l en_US libquvi -> Libreville, Librium, libelous
4 packages and 0 specfiles checked; 0 errors, 3 warnings.

---------------------------------
keys used in following checklist:

[+] OK
[.] OK, not applicable
[X] needs work
---------------------------------

[+] MUST: The package must be named according to the Package Naming Guidelines.
[+] MUST: The spec file name must match the base package %{name}.
[+] MUST: The package must meet the Packaging Guidelines.
[+] MUST: The package must be licensed with a Fedora approved license.
[+] MUST: The License field in the package spec file must match the actual license.
[+] MUST: The file containing the text of the license(s) for the package must be included in %doc.
[+] MUST: The spec file must be written in American English.
[+] MUST: The spec file for the package MUST be legible.
[+] MUST: The sources used to build the package must match the upstream source.
    $ md5sum quvi-0.1.3.tar.bz2*
    12ac6a254f11b11effe1a1acde6e6928  quvi-0.1.3.tar.bz2
    12ac6a254f11b11effe1a1acde6e6928  quvi-0.1.3.tar.bz2.1

[+] MUST: The package MUST successfully compile and build into binary rpms.
	 koji scratch builds:
    F-12: http://koji.fedoraproject.org/koji/taskinfo?taskID=2090760
    F-13: http://koji.fedoraproject.org/koji/taskinfo?taskID=2090753

[.] MUST: If the package does not successfully compile, ...
[+] MUST: All build dependencies must be listed in BuildRequires.
[.] MUST: The spec file MUST handle locales properly.
[+] MUST: Packages storing shared library files must call ldconfig in %post and %postun.
[.] MUST: If the package is designed to be relocatable, ...
[+] MUST: A package must own all directories that it creates. 
[+] MUST: A Fedora package must not list a file more than once in %files.
[+] MUST: Permissions on files must be set properly.
[+] MUST: Each package must have a %clean section, which contains rm -rf %{buildroot}.
[+] MUST: Each package must consistently use macros.
[+] MUST: The package must contain code, or permissable content.
[.] MUST: Large documentation files must go in a -doc subpackage.
[+] MUST: Files in %doc must not affect the runtime of the application.
[+] MUST: Header files must be in a -devel package.
[.] MUST: Static libraries must be in a -static package.
[+] MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'
[+] MUST: .so (without suffix) must go in a -devel package.
[+] MUST: devel packages must require the base package 
[+] MUST: Packages must NOT contain any .la libtool archives, these must be removed in the spec if they are built.
[.] MUST: Packages containing GUI applications ...
[+] MUST: Packages must not own files or directories already owned by other packages.
[+] MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot}.
[+] MUST: All filenames in rpm packages must be valid UTF-8.

[+] SHOULD: The reviewer should test that the package builds in mock.
    - builds in mock

[+] SHOULD: The package should compile and build into binary rpms on all supported architectures.
[+] SHOULD: The reviewer should test that the package functions as described. 
[+] SHOULD: If scriptlets are used, those scriptlets must be sane.
[+] SHOULD: pkgconfig(.pc) should be placed in a -devel pkg.

Comment 7 Nicoleau Fabien 2010-04-02 10:47:18 UTC
Thank you very much for taking the review Martin.

Update :
Spec URL: http://rpms.nicoleau-fabien.net/SPECS/quvi.spec
SRPM URL: http://rpms.nicoleau-fabien.net/SRPMS/quvi-0.1.3-3.fc12.src.rpm

Changelog :
- Removed redundant option for post and postun
- Append slashes to directories in files section
- Add blanks lines between changelog revisions

Rpmlint outpu :
[builder@FEDOBOX ~]$ rpmlint /home/builder/rpmbuild/SRPMS/quvi-0.1.3-3.fc12.src.rpm /home/builder/rpmbuild/RPMS/x86_64/quvi-0.1.3-3.fc12.x86_64.rpm /home/builder/rpmbuild/RPMS/x86_64/quvi-devel-0.1.3-3.fc12.x86_64.rpm /home/builder/rpmbuild/RPMS/x86_64/quvi-debuginfo-0.1.3-3.fc12.x86_64.rpm
quvi.src: W: invalid-url Source0: http://quvi.googlecode.com/files/quvi-0.1.3.tar.bz2 HTTP Error 404: Not Found
quvi-devel.x86_64: W: spelling-error Summary(en_US) libquvi -> Libreville, Librium, libelous
quvi-devel.x86_64: W: spelling-error %description -l en_US libquvi -> Libreville, Librium, libelous
4 packages and 0 specfiles checked; 0 errors, 3 warnings.

Comment 8 Martin Gieseking 2010-04-02 12:58:53 UTC
(In reply to comment #7)
> Thank you very much for taking the review Martin.
You're welcome. 

Everything looks fine now, so we can finish here.

------------------------
The package is APPROVED.
------------------------

Comment 9 Nicoleau Fabien 2010-04-02 14:59:28 UTC
New Package CVS Request
=======================
Package Name: quvi
Short Description: Command line tool for parsing video download links
Owners:  eponyme
Branches: F-12
InitialCC:

Comment 10 Kevin Fenzi 2010-04-03 17:43:21 UTC
CVS done (by process-cvs-requests.py).

Added a F-13 branch.

Comment 11 Fedora Update System 2010-04-05 15:12:54 UTC
quvi-0.1.4-1.fc13 has been submitted as an update for Fedora 13.
http://admin.fedoraproject.org/updates/quvi-0.1.4-1.fc13

Comment 12 Fedora Update System 2010-04-05 15:27:45 UTC
quvi-0.1.4-1.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/quvi-0.1.4-1.fc12

Comment 13 Fedora Update System 2010-04-06 19:54:33 UTC
quvi-0.1.4-1.fc13 has been pushed to the Fedora 13 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update quvi'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/quvi-0.1.4-1.fc13

Comment 14 Fedora Update System 2010-04-09 01:29:46 UTC
quvi-0.1.4-1.fc12 has been pushed to the Fedora 12 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update quvi'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/quvi-0.1.4-1.fc12

Comment 15 Fedora Update System 2010-04-13 01:52:22 UTC
quvi-0.1.4-1.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 16 Fedora Update System 2010-04-13 01:53:05 UTC
quvi-0.1.4-1.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.