First import of zoneminder package (into devel).

This commit is contained in:
mebourne 2007-06-30 23:34:42 +00:00
commit bd17e75d8f
8 changed files with 332 additions and 0 deletions

View file

@ -0,0 +1,2 @@
ZoneMinder-1.22.3.tar.gz
cambozola-0.68.tar.gz

8
README.Fedora Normal file
View file

@ -0,0 +1,8 @@
The Zoneminder web interface is disabled by default, you will need to edit
this file to enable it:
/etc/httpd/conf.d/zoneminder.conf
This package probably does not work with SELinux enabled at the moment. It may
be necessary to disable SELinux for httpd, or even completely for Zoneminder
to function. This will be addressed in a later release.

BIN
redalert.wav Executable file

Binary file not shown.

View file

@ -0,0 +1,2 @@
cfc9aa9c2cd750c825b9dfa5f96918af ZoneMinder-1.22.3.tar.gz
e4fac8b6ee94c9075b14bb95be4f860b cambozola-0.68.tar.gz

View file

@ -0,0 +1,107 @@
--- db/Makefile.am.orig 2006-12-27 23:50:07.000000000 +0000
+++ db/Makefile.am 2006-12-27 23:50:21.000000000 +0000
@@ -1,7 +1,16 @@
AUTOMAKE_OPTIONS = gnu
+zmdbdatadir = $(pkgdatadir)/db
+
EXTRA_DIST = \
zm_create.sql.in \
+ $(dbupgrade_scripts)
+
+dist_zmdbdata_DATA = \
+ zm_create.sql \
+ $(dbupgrade_scripts)
+
+dbupgrade_scripts = \
zm_update-0.0.1.sql \
zm_update-0.9.7.sql \
zm_update-0.9.8.sql \
--- scripts/zmupdate.pl.orig 2006-12-27 23:59:20.000000000 +0000
+++ scripts/zmupdate.pl 2006-12-27 23:59:35.000000000 +0000
@@ -320,7 +320,7 @@
$command .= " -p".$db_pass;
}
}
- $command .= " ".ZM_DB_NAME." < ".ZM_PATH_BUILD."/db/zm_update-".$version.".sql";
+ $command .= " ".ZM_DB_NAME." < ".ZM_PATH_DATA."/db/zm_update-".$version.".sql";
print( "Executing '$command'\n" ) if ( DBG_LEVEL > 0 );
my $output = qx($command);
--- configure.in.orig 2006-12-27 23:55:41.000000000 +0000
+++ configure.in 2006-12-27 23:59:07.000000000 +0000
@@ -1,10 +1,8 @@
-AC_INIT(zm,1.22.3,support@zoneminder.com,ZoneMinder)
+AC_INIT(zm,1.22.3,support@zoneminder.com,zoneminder)
AC_CONFIG_SRCDIR(src/zm.h)
AM_INIT_AUTOMAKE
AM_CONFIG_HEADER(config.h)
-PATH_BUILD=`pwd`
-AC_SUBST(PATH_BUILD)
TIME_BUILD=`date +'%s'`
AC_SUBST(TIME_BUILD)
@@ -216,8 +214,10 @@
AC_DEFINE_DIR([BINDIR],[bindir],[Expanded binary directory])
AC_DEFINE_DIR([LIBDIR],[libdir],[Expanded library directory])
+AC_DEFINE_DIR([DATADIR],[datadir],[Expanded data directory])
+AC_SUBST(PKGDATADIR,"$DATADIR/$PACKAGE")
AC_SUBST(RUNDIR,"/var/run")
-AC_SUBST(ZM_RUNDIR,"$RUNDIR/zm")
+AC_SUBST(ZM_RUNDIR,"$RUNDIR/$PACKAGE")
AC_SUBST(ZM_PID,"$ZM_RUNDIR/zm.pid")
AC_DEFINE_DIR([SYSCONFDIR],[sysconfdir],[Expanded configuration directory])
AC_SUBST(ZM_CONFIG,"$SYSCONFDIR/zm.conf")
--- zm.conf.in.orig 2006-12-27 23:53:38.000000000 +0000
+++ zm.conf.in 2006-12-27 23:59:11.000000000 +0000
@@ -12,8 +12,8 @@
# Current version of ZoneMinder
ZM_VERSION=@VERSION@
-# Path to build directory, used mostly for finding DB upgrade scripts
-ZM_PATH_BUILD=@PATH_BUILD@
+# Path to installed data directory, used mostly for finding DB upgrade scripts
+ZM_PATH_DATA=@PKGDATADIR@
# Build time, used to record when to trigger various checks
ZM_TIME_BUILD=@TIME_BUILD@
--- scripts/zm.in.dbinstall 2007-04-03 00:41:48.000000000 +0100
+++ scripts/zm.in 2007-04-03 00:42:46.000000000 +0100
@@ -6,10 +6,10 @@
# Source function library.
. /etc/rc.d/init.d/functions
-prog=ZoneMinder
+prog="@PACKAGE@"
ZM_CONFIG="@ZM_CONFIG@"
pidfile="@ZM_RUNDIR@"
-LOCKFILE=/var/lock/subsys/zm
+LOCKFILE=/var/lock/subsys/$prog
loadconf()
{
@@ -29,7 +29,7 @@
zmupdate || return $?
loadconf || return $?
#Make sure the directory for our PID folder exists or create one.
- [ ! -d /var/run/zm ] \
+ [ ! -d $pidfile ] \
&& mkdir -m 774 $pidfile \
&& chown $ZM_WEB_USER:$ZM_WEB_GROUP $pidfile
#Make sure the folder for the socks file exists or create one
@@ -63,11 +63,11 @@
loadconf
result=`$command status`
if [ "$result" = "running" ]; then
- echo "ZoneMinder is running"
+ echo "$prog is running"
$ZM_PATH_BIN/zmu -l
RETVAL=0
else
- echo "ZoneMinder is stopped"
+ echo "$prog is stopped"
RETVAL=1
fi
}

View file

@ -0,0 +1,15 @@
--- Makefile.am.orig 2006-12-25 01:21:07.000000000 +0000
+++ Makefile.am 2006-12-25 01:22:04.000000000 +0000
@@ -23,9 +23,9 @@
# Yes, you are correct. This is a HACK!
install-data-hook:
( cd $(DESTDIR)$(sysconfdir); chown $(webuser):$(webgroup) $(sysconf_DATA); chmod 600 $(sysconf_DATA) )
- -( if ! test -e $(RUNDIR); then mkdir $(RUNDIR); fi )
- ( if ! test -e $(ZM_RUNDIR); then mkdir $(ZM_RUNDIR); fi; chown $(webuser):$(webgroup) $(ZM_RUNDIR); chmod u+w $(ZM_RUNDIR) )
+ -( if ! test -e $(DESTDIR)$(RUNDIR); then mkdir $(DESTDIR)$(RUNDIR); fi )
+ ( if ! test -e $(DESTDIR)$(ZM_RUNDIR); then mkdir $(DESTDIR)$(ZM_RUNDIR); fi; chown $(webuser):$(webgroup) $(DESTDIR)$(ZM_RUNDIR); chmod u+w $(DESTDIR)$(ZM_RUNDIR) )
uninstall-hook:
@-( cd $(DESTDIR)$(webdir); rm -rf events graphics images sounds temp )
- @-( rm -rf $(ZM_RUNDIR) )
+ @-( rm -rf $(DESTDIR)$(ZM_RUNDIR) )

30
zoneminder.conf Normal file
View file

@ -0,0 +1,30 @@
# The Zoneminder web interface has been disabled by default due to a small
# security issue in the default install.
#
# When using Zoneminder's own authentication, recorded CCTV images are
# accessible from the web directly without passing the authentication. This
# means any attacker could see your CCTV images without a password. In order
# to avoid this you can disable Zoneminder's authentication and configure
# standard Apache authentication (see the Apache documentation for details on
# this).
#
# If you still wish to use Zoneminder's own authentication, or have an
# internal site which needs no authentication, you need to delete the line
# marked below and restart Apache.
Alias /zm "/usr/share/zoneminder/www"
<Directory "/usr/share/zoneminder/www">
Options -Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
Deny from all # DELETE THIS LINE
</Directory>
ScriptAlias /cgi-bin/zm "/usr/libexec/zoneminder/cgi-bin"
<Directory "/usr/libexec/zoneminder/cgi-bin">
AllowOverride All
Options ExecCGI
Order allow,deny
Allow from all
</Directory>

168
zoneminder.spec Normal file
View file

@ -0,0 +1,168 @@
%define zmuid $(id -un)
%define zmgid $(id -gn)
%define zmuid_final apache
%define zmgid_final apache
Name: zoneminder
Version: 1.22.3
Release: 5%{?dist}
Summary: A camera monitoring and analysis tool
Group: System Environment/Daemons
License: GPL
URL: http://www.zoneminder.com/
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Source: http://www.zoneminder.com/fileadmin/downloads/ZoneMinder-%{version}.tar.gz
Source1: http://www.charliemouse.com/code/cambozola/cambozola-0.68.tar.gz
Source2: zoneminder.conf
Source3: redalert.wav
Source4: README.Fedora
Patch1: zoneminder-1.22.3-dbinstall.patch
Patch10: zoneminder-1.22.3-installfix.patch
Conflicts: zm <= 1.22.3
BuildRequires: automake
BuildRequires: mysql-devel pcre-devel libjpeg-devel
BuildRequires: perl(Archive::Tar) perl(Archive::Zip)
BuildRequires: perl(Date::Manip) perl(DBD::mysql)
BuildRequires: perl(ExtUtils::MakeMaker) perl(LWP::UserAgent)
BuildRequires: perl(MIME::Entity) perl(MIME::Lite)
Requires: httpd perl(DBD::mysql)
Requires(post): /sbin/chkconfig
Requires(preun): /sbin/chkconfig
Requires(preun): /sbin/service
Requires(postun): /sbin/service
%description
ZoneMinder is a set of applications which is intended to provide a complete
solution allowing you to capture, analyse, 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. This package includes cambozola.jar.
%prep
%setup -q -n ZoneMinder-%{version}
%patch1 -p0 -b .dbinstall
%patch10 -p0 -b .installfix
gunzip -c %{SOURCE1} | tar xf - cambozola-*/dist/cambozola.jar
cp %{SOURCE4} README.Fedora
%build
autoreconf
%configure \
--with-libarch=%{_lib} \
--with-mysql=%{_prefix} \
--with-webdir=%{_datadir}/%{name}/www \
--with-cgidir=%{_libexecdir}/%{name}/cgi-bin \
--with-webuser=%{zmuid} \
--with-webgroup=%{zmgid} \
--disable-debug
make %{?_smp_mflags}
%{__perl} -pi -e 's/(ZM_WEB_USER=).*$/${1}%{zmuid_final}/;' \
-e 's/(ZM_WEB_GROUP=).*$/${1}%{zmgid_final}/;' zm.conf
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_localstatedir}/run
make install DESTDIR=$RPM_BUILD_ROOT \
INSTALLDIRS=vendor
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{_lib}/perl5/vendor_perl/*.*/*-*
rm -rf $RPM_BUILD_ROOT%{_prefix}/%{_lib}/perl5/*.*/*-*
rm -f $RPM_BUILD_ROOT%{_bindir}/zmx10.pl
install -m 755 -d $RPM_BUILD_ROOT%{_localstatedir}/log/zoneminder
for dir in events images temp
do
install -m 755 -d $RPM_BUILD_ROOT%{_localstatedir}/lib/zoneminder/$dir
rmdir $RPM_BUILD_ROOT%{_datadir}/%{name}/www/$dir
ln -sf ../../../..%{_localstatedir}/lib/zoneminder/$dir $RPM_BUILD_ROOT%{_datadir}/%{name}/www/$dir
done
install -D -m 755 scripts/zm $RPM_BUILD_ROOT%{_initrddir}/zoneminder
install -D -m 644 cambozola-*/dist/cambozola.jar $RPM_BUILD_ROOT%{_datadir}/%{name}/www/cambozola.jar
install -D -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/zoneminder.conf
install -D -m 755 %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/%{name}/www/sounds/redalert.wav
%clean
rm -rf $RPM_BUILD_ROOT
%post
/sbin/chkconfig --add zoneminder
%preun
if [ $1 -eq 0 ]; then
/sbin/service zoneminder stop > /dev/null 2>&1 || :
/sbin/chkconfig --del zoneminder
fi
%postun
if [ $1 -ge 1 ]; then
/sbin/service zoneminder condrestart > /dev/null 2>&1 || :
fi
%files
%defattr(-,root,root,-)
%doc AUTHORS COPYING README README.html README.pdf README.Fedora
%config(noreplace) %attr(600,%{zmuid_final},%{zmgid_final}) %{_sysconfdir}/zm.conf
%config(noreplace) %attr(644,root,root) %{_sysconfdir}/httpd/conf.d/zoneminder.conf
%attr(755,root,root) %{_initrddir}/zoneminder
%{_bindir}/zma
%{_bindir}/zmaudit.pl
%{_bindir}/zmc
%{_bindir}/zmcontrol-*.pl
%{_bindir}/zmdc.pl
%{_bindir}/zmf
%{_bindir}/zmfilter.pl
%attr(4755,root,root) %{_bindir}/zmfix
%{_bindir}/zmpkg.pl
%{_bindir}/zmtrack.pl
%{_bindir}/zmtrigger.pl
%{_bindir}/zmu
%{_bindir}/zmupdate.pl
%{_bindir}/zmvideo.pl
%{_bindir}/zmwatch.pl
%{perl_vendorlib}/ZoneMinder*
%{_mandir}/man*/*
%dir %{_libexecdir}/%{name}
%{_libexecdir}/%{name}/cgi-bin
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/db
%{_datadir}/%{name}/www
%dir %attr(755,%{zmuid_final},%{zmgid_final}) %{_localstatedir}/lib/zoneminder
%dir %attr(755,%{zmuid_final},%{zmgid_final}) %{_localstatedir}/lib/zoneminder/events
%dir %attr(755,%{zmuid_final},%{zmgid_final}) %{_localstatedir}/lib/zoneminder/images
%dir %attr(755,%{zmuid_final},%{zmgid_final}) %{_localstatedir}/lib/zoneminder/temp
%dir %attr(755,%{zmuid_final},%{zmgid_final}) %{_localstatedir}/log/zoneminder
%changelog
* Sat Jun 30 2007 Martin Ebourne <martin@zepler.org> - 1.22.3-5
- Fix uid for directories in /var/lib/zoneminder
* Tue Jun 26 2007 Martin Ebourne <martin@zepler.org> - 1.22.3-4
- Added perl Archive::Tar dependency
- Disabled web interface due to lack of access control on the event images
* Sun Jun 10 2007 Martin Ebourne <martin@zepler.org> - 1.22.3-3
- Changes recommended in review by Jason Tibbitts
* Mon Apr 2 2007 Martin Ebourne <martin@zepler.org> - 1.22.3-2
- Standardised on package name of zoneminder
* Thu Dec 28 2006 Martin Ebourne <martin@zepler.org> - 1.22.3-1
- First version. Uses some parts from zm-1.20.1 by Corey DeLasaux and Serg Oskin