From bd17e75d8ff2eba559766be596a8973eaeea1ea3 Mon Sep 17 00:00:00 2001 From: mebourne Date: Sat, 30 Jun 2007 23:34:42 +0000 Subject: [PATCH] First import of zoneminder package (into devel). --- .cvsignore | 2 + README.Fedora | 8 ++ redalert.wav | Bin 0 -> 45404 bytes sources | 2 + zoneminder-1.22.3-dbinstall.patch | 107 ++++++++++++++++++ zoneminder-1.22.3-installfix.patch | 15 +++ zoneminder.conf | 30 ++++++ zoneminder.spec | 168 +++++++++++++++++++++++++++++ 8 files changed, 332 insertions(+) create mode 100644 README.Fedora create mode 100755 redalert.wav create mode 100644 zoneminder-1.22.3-dbinstall.patch create mode 100644 zoneminder-1.22.3-installfix.patch create mode 100644 zoneminder.conf create mode 100644 zoneminder.spec diff --git a/.cvsignore b/.cvsignore index e69de29..56372b2 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1,2 @@ +ZoneMinder-1.22.3.tar.gz +cambozola-0.68.tar.gz diff --git a/README.Fedora b/README.Fedora new file mode 100644 index 0000000..f018c4e --- /dev/null +++ b/README.Fedora @@ -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. diff --git a/redalert.wav b/redalert.wav new file mode 100755 index 0000000000000000000000000000000000000000..41e23e0794bdc42f187e51b454767b51727346c5 GIT binary patch literal 45404 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 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 + } diff --git a/zoneminder-1.22.3-installfix.patch b/zoneminder-1.22.3-installfix.patch new file mode 100644 index 0000000..516d634 --- /dev/null +++ b/zoneminder-1.22.3-installfix.patch @@ -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) ) diff --git a/zoneminder.conf b/zoneminder.conf new file mode 100644 index 0000000..3e61dcc --- /dev/null +++ b/zoneminder.conf @@ -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" + + Options -Indexes MultiViews FollowSymLinks + AllowOverride All + Order allow,deny + Allow from all +Deny from all # DELETE THIS LINE + + +ScriptAlias /cgi-bin/zm "/usr/libexec/zoneminder/cgi-bin" + + AllowOverride All + Options ExecCGI + Order allow,deny + Allow from all + diff --git a/zoneminder.spec b/zoneminder.spec new file mode 100644 index 0000000..9d50270 --- /dev/null +++ b/zoneminder.spec @@ -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 - 1.22.3-5 +- Fix uid for directories in /var/lib/zoneminder + +* Tue Jun 26 2007 Martin Ebourne - 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 - 1.22.3-3 +- Changes recommended in review by Jason Tibbitts + +* Mon Apr 2 2007 Martin Ebourne - 1.22.3-2 +- Standardised on package name of zoneminder + +* Thu Dec 28 2006 Martin Ebourne - 1.22.3-1 +- First version. Uses some parts from zm-1.20.1 by Corey DeLasaux and Serg Oskin