Bug 3438

Summary: Review request: clipgrab - A free video downloader and converter
Product: Package Reviews Reporter: MartinKG <mgansser>
Component: Review RequestAssignee: Jeremy Newton <alexjnewt>
Status: RESOLVED FIXED    
Severity: normal CC: alexjnewt, kevin.kofler, leigh123linux, rpmfusion-package-review, trpost
Priority: P5    
Version: Current   
Hardware: All   
OS: GNU/Linux   
namespace:
Bug Depends on:    
Bug Blocks: 4    

Description MartinKG 2014-12-06 16:05:06 CET
Spec URL: https://martinkg.fedorapeople.org/Review/SPECS/clipgrab.spec
SRPM URL: https://martinkg.fedorapeople.org/Review/SRPMS/clipgrab-3.4.8-1.fc20.src.rpm

Description: ClipGrab is a free downloader and converter for YouTube, Vimeo, Dailymotion and many other online video sites.

Fedora Account System Username: martinkg

rpmlint clipgrab-3.4.8-1.fc20.x86_64.rpm
clipgrab.x86_64: W: spelling-error Summary(en_US) downloader -> downloaded, down loader, down-loader
clipgrab.x86_64: W: spelling-error %description -l en_US downloader -> downloaded, down loader, down-loader
clipgrab.x86_64: W: no-manual-page-for-binary clipgrab
1 packages and 0 specfiles checked; 0 errors, 3 warnings.

rpmlint clipgrab-3.4.8-1.fc20.src.rpm
clipgrab.src: W: spelling-error Summary(en_US) downloader -> downloaded, down loader, down-loader
clipgrab.src: W: spelling-error %description -l en_US downloader -> downloaded, down loader, down-loader
1 packages and 0 specfiles checked; 0 errors, 2 warnings.

%changelog
* Sat Dec 06 2014 Martin Gansser <martinkg@fedoraproject.org> - 3.4.8-1
- rebuild for new version
Comment 1 MartinKG 2014-12-06 16:39:17 CET
Spec URL: https://martinkg.fedorapeople.org/Review/SPECS/clipgrab.spec
SRPM URL: https://martinkg.fedorapeople.org/Review/SRPMS/clipgrab-3.4.8-2.fc20.src.rpm

%changelog
* Sat Dec 06 2014 Martin Gansser <martinkg@fedoraproject.org> - 3.4.8-2
- added  parallel make %%{?_smp_mflags} macro
- correct icon path in desktop file
Comment 2 Jeremy Newton 2014-12-07 03:54:32 CET
It's worth noting that clipgrab cannot be included in fedora because of a non-commercial restriction on the artwork and name:

While ClipGrab™ itself is free software, its artwork and name are not. Thus, you are not allowed to redistribute this compiled setup binary file or any other compiled version of ClipGrab™ which includes the ClipGrab™ artwork or the ClipGrab™ trademark commercially without prior written permission of the author. However, you are free to redistribute any compiled version of ClipGrab within non-commercial or private bounds.

I believe this would make clipgrab only eligible for rpmfusion nonfree, assuming I am not mistaken. As well, i think this probably should be stated in the license line of the spec, though I'm not sure how this situation should be handled. Perhaps a more experience packager would know?

My best guess would be:

GPLv3 and Non-Commercial Use Only (Artwork and Trademark)
Comment 3 Jeremy Newton 2014-12-07 04:03:06 CET
I'll give this a review.
Comment 4 Jeremy Newton 2014-12-07 04:58:20 CET
Problem:

- The license field really should show that the non-commercial restriction, see the post above for details. This is the only blocking issue for this review.



Some notes:

- I feel like the more correct require for ffmpeg should be /usr/bin/ffmpeg, if I understand how clipgrab calls ffmpeg, but just ffmpeg should be fine and honestly really doesn't matter.

- Tested build on fc20 x86-64 and downloading a clip as MP3 works just fine


Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated


===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

Generic:
[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "GPL (v3 or later)", "Unknown or generated". 1 files have unknown
     license. Detailed output of licensecheck in /home/jeremy/review-
     clipgrab/licensecheck.txt
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 40960 bytes in 2 files.
[x]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: If (and only if) the source package includes the text of the license(s)
     in its own file, then that file, containing the text of the license(s)
     for the package is included in %doc.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package contains desktop file if it is a GUI application.
[x]: Package installs a %{name}.desktop using desktop-file-install or desktop-
     file-validate if there is such a file.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[-]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[?]: Package should compile and build into binary rpms on all supported
     architectures.
[?]: %check is present and all tests pass.
[?]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Uses parallel make %{?_smp_mflags} macro.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: clipgrab-3.4.8-2.fc20.x86_64.rpm
          clipgrab-3.4.8-2.fc20.src.rpm
clipgrab.x86_64: W: spelling-error Summary(en_US) downloader -> downloaded, down loader, down-loader
clipgrab.x86_64: W: spelling-error %description -l en_US downloader -> downloaded, down loader, down-loader
clipgrab.x86_64: W: no-manual-page-for-binary clipgrab
clipgrab.src: W: spelling-error Summary(en_US) downloader -> downloaded, down loader, down-loader
clipgrab.src: W: spelling-error %description -l en_US downloader -> downloaded, down loader, down-loader
2 packages and 0 specfiles checked; 0 errors, 5 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint clipgrab
clipgrab.x86_64: W: spelling-error Summary(en_US) downloader -> downloaded, down loader, down-loader
clipgrab.x86_64: W: spelling-error %description -l en_US downloader -> downloaded, down loader, down-loader
clipgrab.x86_64: W: no-manual-page-for-binary clipgrab
1 packages and 0 specfiles checked; 0 errors, 3 warnings.
# echo 'rpmlint-done:'



Requires
--------
clipgrab (rpmlib, GLIBC filtered):
    /bin/sh
    ffmpeg
    libQtCore.so.4()(64bit)
    libQtGui.so.4()(64bit)
    libQtNetwork.so.4()(64bit)
    libQtWebKit.so.4()(64bit)
    libQtXml.so.4()(64bit)
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libm.so.6()(64bit)
    libpthread.so.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    rtld(GNU_HASH)



Provides
--------
clipgrab:
    application()
    application(clipgrab.desktop)
    clipgrab
    clipgrab(x86-64)



Source checksums
----------------
http://clipgrab.de/download/clipgrab-3.4.8.tar.bz2 :
  CHECKSUM(SHA256) this package     : 5daf3ac8d16e6865b532c59e844bdc099dc92d3cca28e4db594cfa74b7e4388d
  CHECKSUM(SHA256) upstream package : 5daf3ac8d16e6865b532c59e844bdc099dc92d3cca28e4db594cfa74b7e4388d
Comment 5 MartinKG 2014-12-07 13:23:22 CET
(In reply to comment #2)
> It's worth noting that clipgrab cannot be included in fedora because of a
> non-commercial restriction on the artwork and name:
> 
> While ClipGrab™ itself is free software, its artwork and name are not. Thus,
> you are not allowed to redistribute this compiled setup binary file or any
> other compiled version of ClipGrab™ which includes the ClipGrab™ artwork or the
> ClipGrab™ trademark commercially without prior written permission of the
> author. However, you are free to redistribute any compiled version of ClipGrab
> within non-commercial or private bounds.
> 
> I believe this would make clipgrab only eligible for rpmfusion nonfree,
> assuming I am not mistaken. As well, i think this probably should be stated in
> the license line of the spec, though I'm not sure how this situation should be
> handled. Perhaps a more experience packager would know?
> 
> My best guess would be:
> 
> GPLv3 and Non-Commercial Use Only (Artwork and Trademark)

i agree with this
Comment 6 MartinKG 2014-12-07 13:27:10 CET
@Jeremy, thank you for the review.

Spec URL: https://martinkg.fedorapeople.org/Review/SPECS/clipgrab.spec
SRPM URL:
https://martinkg.fedorapeople.org/Review/SRPMS/clipgrab-3.4.8-3.fc20.src.rpm

%changelog
* Sun Dec 07 2014 Martin Gansser <martinkg@fedoraproject.org> - 3.4.8-3
- correct license field
Comment 7 Jeremy Newton 2014-12-07 16:05:29 CET
Looks good to me, just make sure this goes into nonfree.

Thanks for packaging this!


APPROVED
Comment 8 MartinKG 2014-12-07 18:01:37 CET
@Jeremy, thank you for the review.

Package CVS request
======================
Package Name: clipgrab
Short Description: A free video downloader and converter
Owners: martinkg
Branches: F-20, devel
InitialCC:
----------------------
License tag: nonfree
Comment 9 MartinKG 2014-12-13 16:01:40 CET
New packages have been successfully created for F-20 and devel.
Comment 10 Kevin Kofler 2014-12-15 04:20:58 CET
Why can't we just rebrand this and get it into Fedora, the same way violations of third-party trademarks are handled? (The only difference here being that it's a second-party trademark, which doesn't change anything as to how to solve the problem.)
Comment 11 Jeremy Newton 2014-12-15 04:26:20 CET
(In reply to comment #10)
> Why can't we just rebrand this and get it into Fedora, the same way violations
> of third-party trademarks are handled? (The only difference here being that
> it's a second-party trademark, which doesn't change anything as to how to solve
> the problem.)

Be my guest: I think this was just the more convenient solution due to low demand. Obviously clipgrab can be removed from rpmfusion if someone puts in the effort to rebrand it. I think of it as a temporary solution.
Comment 12 leigh scott 2016-08-17 10:44:55 CEST
(In reply to comment #7)
> Looks good to me, just make sure this goes into nonfree.
> 
> Thanks for packaging this!
> 
> 
> APPROVED

Why was this package approved when it didn't use the fedora build flags as stated in the packaging guidelines?

https://pkgs.rpmfusion.org/cgit/nonfree/clipgrab.git/commit/?id=cf374839edac04a1a52be48e0f4aa288132610f0
Comment 13 MartinKG 2016-08-17 12:47:27 CEST
(In reply to comment #12)
> (In reply to comment #7)
> > Looks good to me, just make sure this goes into nonfree.
> > 
> > Thanks for packaging this!
> > 
> > 
> > APPROVED
> 
> Why was this package approved when it didn't use the fedora build flags as
> stated in the packaging guidelines?
> 
> https://pkgs.rpmfusion.org/cgit/nonfree/clipgrab.git/commit/?id=cf374839edac04a1a52be48e0f4aa288132610f0

don't know, ask Jeremy ?
Comment 14 Jeremy Newton 2016-08-17 13:38:59 CEST
(In reply to comment #13)
> (In reply to comment #12)
> > (In reply to comment #7)
> > > Looks good to me, just make sure this goes into nonfree.
> > > 
> > > Thanks for packaging this!
> > > 
> > > 
> > > APPROVED
> > 
> > Why was this package approved when it didn't use the fedora build flags as
> > stated in the packaging guidelines?
> > 
> > https://pkgs.rpmfusion.org/cgit/nonfree/clipgrab.git/commit/?id=cf374839edac04a1a52be48e0f4aa288132610f0
> 
> don't know, ask Jeremy ?

Well, it was a couple years ago, but it was likely just an oversight on both our parts.

It's good it was fixed though, thanks leigh for catching it.