Bug ID 4393
Summary Review Request: zoneminder - A camera monitoring and analysis tool
Product Package Reviews
Version Current
Hardware x86_64
OS GNU/Linux
Status NEW
Severity enhancement
Priority P1
Component Review Request
Assignee rpmfusion-package-review@rpmfusion.org
Reporter zonexpertconsulting@outlook.com
CC rpmfusion-package-review@rpmfusion.org
Blocks 2, 30

%description
ZoneMinder is a set of applications which is intended to provide a complete
solution allowing you to capture, analyze, record and monitor any cameras you
have attached to a Linux based machine. It is designed to run on kernels which
support the Video For Linux (V4L) interface and has been tested with cameras
attached to BTTV cards, various USB cameras and IP network cameras. It is
designed to support as many cameras as you can attach to your computer without
too much degradation of performance.

A little background. Zoneminder currently lives in the Fedora 25 repo and the
repo at zmrepo.zoneminder.com, which I am the maintainer of. In conversation
with the Fedora team, we agree that, due to zoneminder's ffmpeg dependencies,
it will be removed from the Fedora repo moving forward. In my opinion, the best
place for the zoneminder package to live is at RPMFusion, because some of
zoneminder's dependencies already exist here.

This is my first RPMFusion package. Note that I am also part of the upstream
zoneminder development team, and I do have a member of the Fedora packaging
team willing to support/sponsor me. It does look like I still need an RPMFusion
sponsor though.

Please note that zoneminder will currently build against the RPMFusion repo,
but it will not install, due to several missing dependencies. I am in the
process of learning how to get the following dependencies into Fedora and EPEL,
or failing that, RPMFusion:
cambozola
perl-Class-Std-Fast
perl-IO-Socket-Multicast
perl-SOAP-WSDL
perl-X10-ActiveHome
perl-Astro-SunTime

All of these packages currently exist in zmrepo.

zoneminder rpm specfile:
https://gist.github.com/knnniggett/cf2e4e2169ed8d4147b6367d6a60a843

The following SRPM will build on EL6 (i386, x86_64), EL7 (x86_64), and Fedora
(i386,x86_64,armhfp):
https://zmrepo.zoneminder.com/f/testing/25/SRPMS/zoneminder-1.30.1-1.fc25.src.rpm

Here is a complete rpmlint output:
https://gist.github.com/knnniggett/e944c47a5cfdfe71cf68d3ac2366afe2

What follows is a line-by-line response to what rpmlint found:

invalid-url Source0: ZoneMinder-1.30.1.tar.gz
Because zoneminder uses git submodules, the easiest thing for me to do is
create the tarball from my own local git repo. Fedora packaging guidelines
state this method is acceptable. However, please advise if a different method
would be preferred.

non-readable /etc/zm/zm.conf 640
This config file contains the mysql database login credentials. Hence the
reason for the 640 permissions. This is by design.

dangling-relative-symlink /usr/share/zoneminder/www/cambozola.jar
../../java/cambozola.jar
Zoneminder expects the cambozola.jar file to exist within zoneminder's web
root. Hence the purpose of the symlink.

explicit-lib-dependency libcurl
libcurl is one of the methods zoneminder uses to receive a stream from a
camera. If memory serves, rpmbuild does not autodetect this.

explicit-lib-dependency libjpeg-turbo
This is to ensure we have the turbo jpeg library rather than the legacy jpeg
library. Older el6 distros can have both so we want to make sure the turbo
library is installed.

no-manual-page-for-binary zmXXXXX.xx
These entries are incorrect. Zoneminder uses pod2man to dynamically create man
pages for its executables.

all the rest items under zoneminder's api folder
Zoneminder uses cakephp 2.8 and these entries are all part of that framework. I
am hesitant to do anything about these entries because they are from a
different project. Please advise.


Whew! Lots of information here, but I still feel like I am forgetting
something.


Referenced Bugs:


You are receiving this mail because: