Bug 1673

Summary: Review Request: mod_h264_streaming - H264 streaming module for the Apache HTTP Server
Product: Package Reviews Reporter: Robert Scheck <rpmfusion-bugzilla>
Component: Review RequestAssignee: RPM Fusion Package Review <rpmfusion-package-review>
Status: RESOLVED FIXED    
Severity: normal CC: ktdreyer, rpmfusion-package-review
Priority: P5    
Version: Current   
Hardware: All   
OS: GNU/Linux   
namespace:
Bug Depends on:    
Bug Blocks: 4    

Description Robert Scheck 2011-03-26 13:55:35 CET
Spec URL: http://labs.linuxnetz.de/bugzilla/mod_h264_streaming.spec
SRPM URL: http://labs.linuxnetz.de/bugzilla/mod_h264_streaming-2.2.7-1.src.rpm
Description:
H264 streaming module enable viewers to immediately jump to any part of
the video regardless of the length of the video or whether it has all
been downloaded yet. It also supports 'virtual video clips', so it can
be specified to only playback a part of the video or create download
links to specific parts of the video. If the video is already using the
widely adopted MPEG4/H264 industry standard, there's no need to recode
MP4 videos, the existing video files can be used.

This version is free if you agree to the noncommercial license. Please
mention its use on your website, in the lines of 'This website uses H264
pseudo video streaming technology by CodeShop'. The commercial license
is inexpensive, see the following link if you need a commercial license:
http://h264.code-shop.com/trac/wiki/Mod-H264-Streaming-License-Version2


This package needs to go to nonfree, because only non-commercial usage is
freely allowed.
Comment 1 Ken Dreyer 2011-07-08 05:11:44 CEST
This is CC BY-NC-SA (http://creativecommons.org/licenses/by-nc-sa/3.0/). I don't think that the CC NonCommercial licenses are allowed, even in RPM Fusion nonfree.
Comment 2 Ken Dreyer 2011-07-08 05:28:49 CEST
Sorry, you are correct. non-commercial is allowed in nonfree. (http://rpmfusion.org/Configuration)
Comment 3 Robert Scheck 2011-07-08 09:54:37 CEST
Ken, thank you for investigating into this.

Do you also have the time to do a Package Review? The package is fortunately
not that big...
Comment 4 Ken Dreyer 2011-07-08 20:50:13 CEST
Sure.


[ yes ] rpmlint must be run on the source rpm and all binary rpms the build produces. The output should be posted in the review.

$ rpmlint mod_h264_streaming-*
mod_h264_streaming.i686: W: invalid-license CC-BY-NC-SA
mod_h264_streaming.i686: W: no-documentation
mod_h264_streaming.src: W: invalid-license CC-BY-NC-SA
cat: /usr/include/httpd/.mmn: No such file or directory
mod_h264_streaming-debuginfo.i686: W: invalid-license CC-BY-NC-SA
3 packages and 0 specfiles checked; 0 errors, 4 warnings.

The error on /usr/include/httpd/.mmn is odd, but that's how other Apache modules do it, so it is fine.


[ yes ] The package must be named according to the Package Naming Guidelines .
[ yes ] The spec file name must match the base package %{name}, in the format %{name}.spec unless your package has an exemption.
[ yes ] The package must meet the Packaging Guidelines.
[ yes ] The package must be licensed with a Fedora approved license and meet the Licensing Guidelines.

CC-BY-NC-SA is appropriate for RPM Fusion nonfree.

[ yes ] The License field in the package spec file must match the actual license.
[ n/a ] 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 must be included in %doc.
[ yes ] The spec file must be written in American English. [5]
[ yes ] The spec file for the package MUST be legible. [6]
[ yes ] The sources used to build the package must match the upstream source, as provided in the spec URL.

Posted SRPM: 123cacef68e9ff56fe908200bd0feea5  apache_mod_h264_streaming-2.2.7.tar.gz
Upstream tarball: 123cacef68e9ff56fe908200bd0feea5  apache_mod_h264_streaming-2.2.7.tar.gz

[ yes ] The package MUST successfully compile and build into binary rpms on at least one primary architecture.
[ n/a ] If the package does not successfully compile, build or work on an architecture, then those architectures should be listed in the spec in ExcludeArch.
[ yes ] All build dependencies must be listed in BuildRequires, except for any that are listed in the exceptions section of the Packaging Guidelines ; inclusion of those as BuildRequires is optional. Apply common sense.
[ n/a ] The spec file MUST handle locales properly. This is done by using the %find_lang macro. Using %{_datadir}/locale/* is strictly forbidden.
[ n/a ] Every binary RPM package (or subpackage) which stores shared library files (not just symlinks) in any of the dynamic linker's default paths, must call ldconfig in %post and %postun.
[ yes ] Packages must NOT bundle copies of system libraries.
[ n/a ] If the package is designed to be relocatable, the packager must state this fact in the request for review
[ yes ] A package must own all directories that it creates. If it does not create a directory that it uses, then it should require a package which does create that directory.
[ yes ] A Fedora package must not list a file more than once in the spec file's %files listings. (Notable exception: license texts in specific situations)
[ yes ] Permissions on files must be set properly. Executables should be set with executable permissions, for example.
[ yes ] Each package must consistently use macros.
[ yes ] The package must contain code, or permissable content.
[ n/a ] Large documentation files must go in a -doc subpackage.
[ n/a ] If a package includes something as %doc, it must not affect the runtime of the application. To summarize: If it is in %doc, the program must run properly if it is not present.
[ n/a ] Header files must be in a -devel package. [19]
[ n/a ] Static libraries must be in a -static package. [20]
[ n/a ] If a package contains library files with a suffix (e.g. libfoo.so.1.1), then library files that end in .so (without suffix) must go in a -devel package.
[ n/a ] In the vast majority of cases, devel packages must require the base package using a fully versioned dependency: 
[ yes ] Packages must NOT contain any .la libtool archives, these must be removed in the spec if they are built.
[ n/a ] Packages containing GUI applications must include a %{name}.desktop file
[ yes ] Packages must not own files or directories already owned by other packages. 
[ yes ] All filenames in rpm packages must be valid UTF-8.

SHOULD Items:
Items marked as SHOULD are things that the package (or reviewer) SHOULD do, but is not required to do.

[ no ] If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. 
[ no ] The description and summary sections in the package spec file should contain translations for supported Non-English languages, if available.
[ yes ] The reviewer should test that the package builds in mock.

Mocked on F14, i866.

[ ?? ] The package should compile and build into binary rpms on all supported architectures.

Did not test on other versions or arches, I'll leave that to you :)

[ yes ] The reviewer should test that the package functions as described. A package should not segfault instead of running, for example.

Apache loads it on my F14 box, at least.

[ n/a ] If scriptlets are used, those scriptlets must be sane. This is vague, and left up to the reviewers judgement to determine sanity.
[ n/a ] Usually, subpackages other than devel should require the base package using a fully versioned dependency.
[ n/a ] The placement of pkgconfig(.pc) files depends on their usecase, and this is usually for development purposes, so should be placed in a -devel pkg. A reasonable exception is that the main pkg itself is a devel tool not installed in a user runtime, e.g. gcc or gdb.
[ yes ] If the package has file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin consider requiring the package which provides the file instead of the file itself.
[ n/a ] your package should contain man pages for binaries/scripts. If it doesn't, work with upstream to add them where they make sense.


I have two recommendations (they don't block my approval):

Please use dist conditionals around your RHEL 4 patch, so that when RHEL 4 is EOL'd it will be extra clear that the maintainer can remove the patch.
http://fedoraproject.org/wiki/Packaging:DistTag#Conditionals

Please see if your patch to lower the httpd version requirement can be sent upstream.


In summary: this looks good to me, approved.

Comment 5 Robert Scheck 2011-07-09 00:11:42 CEST
http://rpmfusion.org/Contributors#head-8354059095aca6ccb5494f9dac8815b732cfe2fd
seems to be missing in order that the review is really approved, or am I wrong?

And yes, I'll try to get the patch upstream. That will make the conditionals in
the spec file unneccessary.
Comment 6 Ken Dreyer 2011-07-10 01:34:22 CEST
(In reply to comment #5)
> http://rpmfusion.org/Contributors#head-8354059095aca6ccb5494f9dac8815b732cfe2fd
> seems to be missing in order that the review is really approved, or am I wrong?

Thanks for the heads' up. Switching the Blocks: field now to RF_ACCEPT.
Comment 7 Robert Scheck 2011-07-10 02:05:27 CEST
Thank you for the review, Ken.


Package CVS request
======================
Package Name: mod_h264_streaming
Short Description: H264 streaming module for the Apache HTTP Server
Owners: robert
Branches: EL-5 EL-6 F-14 F-15
InitialCC: 
----------------------
License tag: nonfree
Comment 8 Robert Scheck 2011-07-11 14:30:20 CEST
Looks like something with branching went wrong?

$ cvs commit
cvs commit: Examining .
cvs commit: Examining EL-5
cvs commit: Examining EL-6
cvs commit: Examining F-14
cvs commit: Examining F-15
cvs commit: Examining common
cvs commit: Examining devel
**** Access denied: robert is not in ACL for rpms/mod_h264_streaming/EL-5
cvs commit: Pre-commit check failed
**** Access denied: robert is not in ACL for rpms/mod_h264_streaming/EL-6
cvs commit: Pre-commit check failed
**** Access denied: robert is not in ACL for rpms/mod_h264_streaming/F-14
cvs commit: Pre-commit check failed
**** Access denied: robert is not in ACL for rpms/mod_h264_streaming/F-15
cvs commit: Pre-commit check failed
**** Access denied: robert is not in ACL for rpms/mod_h264_streaming/devel
cvs commit: Pre-commit check failed
cvs [commit aborted]: correct above errors first!
cvs commit: saving log message in /tmp/cvsCHz5gy
$
Comment 9 Robert Scheck 2011-07-17 18:03:15 CEST
9825 (mod_h264_streaming): Build on target fedora-development-rpmfusion_nonfree succeeded.
9844 (mod_h264_streaming): Build on target fedora-15-rpmfusion_nonfree succeeded.
9826 (mod_h264_streaming): Build on target fedora-14-rpmfusion_nonfree succeeded.
9827 (mod_h264_streaming): Build on target el-6-rpmfusion_nonfree succeeded.
9828 (mod_h264_streaming): Build on target el-5-rpmfusion_nonfree succeeded.