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 0000000..41e23e0
Binary files /dev/null and b/redalert.wav differ
diff --git a/sources b/sources
index e69de29..f961341 100644
--- a/sources
+++ b/sources
@@ -0,0 +1,2 @@
+cfc9aa9c2cd750c825b9dfa5f96918af ZoneMinder-1.22.3.tar.gz
+e4fac8b6ee94c9075b14bb95be4f860b cambozola-0.68.tar.gz
diff --git a/zoneminder-1.22.3-dbinstall.patch b/zoneminder-1.22.3-dbinstall.patch
new file mode 100644
index 0000000..9a969f8
--- /dev/null
+++ b/zoneminder-1.22.3-dbinstall.patch
@@ -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
+ }
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