diff --git a/distros/opensuse/CMakeLists.txt b/distros/opensuse/CMakeLists.txt new file mode 100644 index 000000000..309dac11b --- /dev/null +++ b/distros/opensuse/CMakeLists.txt @@ -0,0 +1,43 @@ +# CMakeLists.txt for the OpenSuse Target Distro. + +# Download jscalendar & move files into position +file(DOWNLOAD http://downloads.sourceforge.net/jscalendar/jscalendar-1.0.zip ${CMAKE_CURRENT_SOURCE_DIR}/jscalendar-1.0.zip STATUS download_jsc) +if(download_jsc EQUAL 0) +message(STATUS "Jscalander successfully downloaded. Installing...") +execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/jscalendar.sh WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ERROR_VARIABLE unzip_jsc) +message(STATUS "Status of jscalender script was: ${unzip_jsc}") +else(download_jsc EQUAL 0) +message(STATUS "Unable to download optional jscalander. Skipping...") +endif(download_jsc EQUAL 0) + +# Create several empty folders +file(MAKE_DIRECTORY sock swap zoneminder zoneminder-upload events images temp) + +# Install the empty folders +#install(DIRECTORY run DESTINATION /var DIRECTORY_PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_WRITE GROUP_READ GROUP_EXECUTE WORLD_WRITE WORLD_READ WORLD_EXECUTE) +#install(DIRECTORY sock swap DESTINATION /var/lib/zoneminder DIRECTORY_PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) +install(DIRECTORY zoneminder DESTINATION /var/log DIRECTORY_PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) +install(DIRECTORY zoneminder DESTINATION /var/run DIRECTORY_PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) +install(DIRECTORY zoneminder-upload DESTINATION /var/spool DIRECTORY_PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) +install(DIRECTORY zoneminder DESTINATION /srv/www/htdocs DIRECTORY_PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) +install(DIRECTORY events images DESTINATION /srv/www/htdocs/zoneminder DIRECTORY_PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) + +# Create symlinks +install(CODE "execute_process(COMMAND ln -sf ../../../../srv/www/htdocs/zoneminder/events \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/zoneminder/events\")") +install(CODE "execute_process(COMMAND ln -sf ../../../../srv/www/htdocs/zoneminder/images \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/zoneminder/images\")") +install(CODE "execute_process(COMMAND ln -sf ../../../../srv/www/htdocs/zoneminder/temp \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/zoneminder/temp\")") + +# Opensuse cambazola? requires cambozola as a separate package so just link to it +#install(CODE "execute_process(COMMAND ln -sf ../../java/cambozola.jar \"\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/zoneminder/www/cambozola.jar\")") + +# Install auxillary files required to run zoneminder on OpenSuse +install(FILES zoneminder.conf DESTINATION /etc/apache2/conf.d PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ) +install(FILES zoneminder.logrotate DESTINATION /etc/logrotate.d RENAME zoneminder PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ) +install(FILES zoneminder.tmpfiles DESTINATION /etc/tmpfiles.d RENAME zoneminder.conf PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) +install(FILES redalert.wav DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/zoneminder/www/sounds PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) +install(FILES zoneminder.service DESTINATION /usr/lib/systemd/system PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ) + +# Install jscalendar +if(unzip_jsc STREQUAL "") +install(DIRECTORY jscalendar-1.0/ DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATAROOTDIR}/zoneminder/www/tools/jscalendar) +endif(unzip_jsc STREQUAL "") diff --git a/distros/opensuse/README.OpenSuse b/distros/opensuse/README.OpenSuse new file mode 100644 index 000000000..b0bfd4d13 --- /dev/null +++ b/distros/opensuse/README.OpenSuse @@ -0,0 +1,159 @@ +New installs +============ + +This needs to be updated for OpenSuse + +1. Unless you are already using the MySQL server or you are running it + remotely you will need to ensure that the server is installed and secured: + + NOTE: the default database for OpenSuse is mariadb, which is a direct + replacement for mysql + + IMPORTANT: mariadb defaults to strict mode of operation which will cause + some zoneminder database writes to fail. + In order to turn this off - which will be for the whole database you will + need to edit /etc/my.cnf and comment out the record + + sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES . + + To install the database issue the following commands as root: + + zypper in mariadb + + systemctl enable mysql + + systemctl start mysql.service + + mysql_secure_installation + + +2. Using the password for the root account set during the previous step, you + will need to create the ZoneMinder database, assuming your database server + is local: + + mysql -uroot -p < /opt/zoneminder/share/zoneminder/db/zm_create.sql + mysqladmin -uroot -p reload + +3. The database needs a user. One is not created by default because this would + introduce an obvious security issue. The following should set this up: + + mysqladmin -uroot -p reload + grant select,insert,update,delete,alter on zm.* to + 'zmuser'@localhost identified by 'zmpass'; + + Obviously, change at least zmpass to an actual, secure password or + passphrase. You can change zmuser as well if you like. + +4. Edit /etc/zm.conf and, at the bottom, change ZM_DB_PASS and perhaps + ZM_DB_USER to match. + +5. Edit /etc/php5/apache2/php.ini, uncomment the date.timezone line, and add + your local timezone. For whatever reason, PHP will complain loudly if + this is not set, or if it is set incorrectly, and these complaints will + show up in the zoneminder logging system as errors. + + If you are not sure of the proper timezone specification to use, look at + http://php.net/date.timezone + +6. 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. Run + + setenforce 0 + + for testing, and edit /etc/sysconfig/selinux to disable it at boot time. + +7. IMPORTANT: Edit /etc/httpd/conf.d/zoneminder.conf and/or /etc/httpd/conf. + +*********** This needs checking for OpenSuse + + The httpd.conf file included with this version of Fedora processes the conf.d + folder after the default ScriptAlias directive in the httpd.conf file. + Previously, the conf.d folder was processed before the default ScriptAlias + directive. This causes a ScriptAlias overlap and breaks Zoneminder's + streaming abilities. + + Reference: http://httpd.apache.org/docs/2.4/mod/mod_alias.html#order + Bug Report: https://bugzilla.redhat.com/show_bug.cgi?id=973067 + + WORKAROUND #1 + If you are running zoneminder on a dedicated server then the simplest + solution may be to simply comment out the line in httpd.conf that reads: + + ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" + + WORKAROUND #2 + If you need both the default cgi-bin folder & the zoneminder cgi-bin folder + then a solution might be to move the following line before the default + ScriptAlias directive in the httpd.conf file: + + IncludeOptional conf.d/*.conf + +8. Now start the web server: + + sudo systemctl enable apache2.service + sudo systemctl start apache2.service + +9. You should immediately visit http://localhost/zm and secure the system if + it is network facing. To do this: + + a) click Options, then System. + b) check OPT_USE_AUTH. + c) set AUTH_HASH_SECRET to a random string. + d) click Save and refresh the main browser window. + e) You should be prompted to log in; + the default username/password is admin/admin. + f) Open Options again, choose the newly visible Users tab. + g) click the admin user and set a password. + h) enable OPT_CONTROL on the Ssytem tab to enable ptz camera control. + +10. ************ Check for OpenSuse + +The zoneminder.service file fails at present but the zmpkg.pl script + can be run as root to start zoneminder. + + sudo zmpkg.pl start + + To start zoneminder automatically, create /etc/rc.d/rc.local and place the + following inside it: + #!/bin/sh + /usr/bin/zmpkg.pl start + + The rc.local file must be made executable. + +Upgrades +======== + +1. Update /etc/zm.conf. Check for any new settings and update the version + information. Comparing /etc/zm.conf and /etc/zm.conf.rpmnew should help to + do this. + +2. Add the mysql ALTER permission to the zmuser account: + + mysql -u root -p + grant alter on zm.* to + 'zmuser'@localhost identified by 'zmpass'; + + Since this is an upgrade, the assumption is that the zmuser account already + has select, insert, update, and delete permission. + +3. You will need to upgrade the ZoneMinder database as described in the + manual. Only if the previous step was succesful, may you run zmupdate like + so: + + sudo /opt/zoneminder/bin/zmupdate.pl --version= + + + If unsure then run it this way: + + sudo zmupdate.pl --user=root --pass= --version= + +4. To overcome a problem when applications my use private /tmp space when systemd is used + the OpenSuse rpm has changed the default directory for temporary files from /tmp to + /var/run/zoneminder. Whilst this change is directly inside the scripts, it does not, + at present, change the values held in the database. + You must therefore manually modify the database as follows: + + **** needs more information + + diff --git a/distros/opensuse/jscalendar.sh b/distros/opensuse/jscalendar.sh new file mode 100755 index 000000000..80acaafec --- /dev/null +++ b/distros/opensuse/jscalendar.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +unzip -o jscalendar-1.0.zip +mkdir -v jscalendar-doc +cd jscalendar-1.0 +mv -v *html *php doc/* README ../jscalendar-doc +rmdir -v doc diff --git a/distros/opensuse/redalert.wav b/distros/opensuse/redalert.wav new file mode 100644 index 000000000..8335ab23e --- /dev/null +++ b/distros/opensuse/redalert.wav @@ -0,0 +1 @@ +../redhat/redalert.wav diff --git a/distros/opensuse/zoneminder-1.26.5-opensuse.patch b/distros/opensuse/zoneminder-1.26.5-opensuse.patch new file mode 100644 index 000000000..de8d34106 --- /dev/null +++ b/distros/opensuse/zoneminder-1.26.5-opensuse.patch @@ -0,0 +1,49 @@ +--- CMakeLists.txt.orig 2014-03-06 20:29:40.041817163 +0000 ++++ CMakeLists.txt 2014-03-10 16:03:05.169663558 +0000 +@@ -65,7 +65,23 @@ + set(ZM_NO_X10 "OFF" CACHE BOOL "Set to ON to build ZoneMinder without X10 support. default: OFF") + set(ZM_PERL_SUBPREFIX "${CMAKE_INSTALL_LIBDIR}/perl5" CACHE PATH "Use a different directory for the zm perl modules. NOTE: This is a subprefix, e.g. lib will be turned into /lib, default: /perl5") + set(ZM_PERL_USE_PATH "${CMAKE_INSTALL_PREFIX}/${ZM_PERL_SUBPREFIX}" CACHE PATH "Override the include path for zm perl modules. Useful if you are moving the perl modules without using the ZM_PERL_SUBPREFIX option. default: /") +-set(ZM_TARGET_DISTRO "" CACHE STRING "Build ZoneMinder for a specific distribution. Currently, valid names are: f19, el6") ++set(ZM_TARGET_DISTRO "" CACHE STRING "Build ZoneMinder for a specific distribution. Currently, valid names are: f19, el6, OS13") ++ ++# Reassign some variables if a target distro has been specified ++if((ZM_TARGET_DISTRO STREQUAL "f19") OR (ZM_TARGET_DISTRO STREQUAL "el6")) ++ set(ZM_RUNDIR "/var/run/zoneminder") ++ set(ZM_TMPDIR "/var/lib/zoneminder/temp") ++ set(ZM_LOGDIR "/var/log/zoneminder") ++elseif(ZM_TARGET_DISTRO STREQUAL "OS13") ++ set(ZM_RUNDIR "/var/run/zoneminder") ++ set(ZM_TMPDIR "/var/run/zoneminder") ++ set(ZM_CONTENTDIR "/var/run/zoneminder") ++ set(ZM_LOGDIR "/var/log/zoneminder") ++ set(ZM_WEB_USER "wwwrun") ++ set(ZM_WEB_GROUP "www") ++ set(ZM_WEBDIR "/srv/www/htdocs/zoneminder") ++ set(ZM_CGIDIR "/srv/www/cgi-bin") ++endif((ZM_TARGET_DISTRO STREQUAL "f19") OR (ZM_TARGET_DISTRO STREQUAL "el6")) + + # Required for certain checks to work + set(CMAKE_EXTRA_INCLUDE_FILES ${CMAKE_EXTRA_INCLUDE_FILES} stdio.h stdlib.h math.h signal.h) +@@ -437,12 +453,6 @@ + set(ZM_DB_TYPE "mysql") + set(EXTRA_PERL_LIB "use lib '${ZM_PERL_USE_PATH}';") + +-# Reassign some variables if a target distro has been specified +-if((ZM_TARGET_DISTRO STREQUAL "f19") OR (ZM_TARGET_DISTRO STREQUAL "el6")) +- set(ZM_RUNDIR "/var/run/zoneminder") +- set(ZM_TMPDIR "/var/lib/zoneminder/temp") +- set(ZM_LOGDIR "/var/log/zoneminder") +-endif((ZM_TARGET_DISTRO STREQUAL "f19") OR (ZM_TARGET_DISTRO STREQUAL "el6")) + + # Generate files from the .in files + configure_file(zm.conf.in "${CMAKE_CURRENT_BINARY_DIR}/zm.conf" @ONLY) +@@ -461,6 +471,8 @@ + add_subdirectory(distros/fedora) + elseif(ZM_TARGET_DISTRO STREQUAL "el6") + add_subdirectory(distros/redhat) ++elseif(ZM_TARGET_DISTRO STREQUAL "OS13") ++ add_subdirectory(distros/opensuse) + else(ZM_TARGET_DISTRO STREQUAL "el6") + add_subdirectory(misc) + endif(ZM_TARGET_DISTRO STREQUAL "f19") diff --git a/distros/opensuse/zoneminder.cmake.OS13.spec b/distros/opensuse/zoneminder.cmake.OS13.spec new file mode 100644 index 000000000..4db5f3d5b --- /dev/null +++ b/distros/opensuse/zoneminder.cmake.OS13.spec @@ -0,0 +1,365 @@ +%define zmuid $(id -un) +%define zmgid $(id -gn) +%define zmuid_final wwwrun +%define zmgid_final www +# definitions for OpenSuse +%define zm_tmpdir /var/run/zoneminder +%define zm_instdir /opt/zoneminder +%define zm_rundir %{zm_instdir}/bin +# OpenSuse seems to have its web services in a different +# directory structure to some other distros +%define webroot /srv/www/htdocs +%define webcgi /srv/www/cgi-bin + +Name: zoneminder +Version: 1.26.5 +Release: 1%{?dist} +Summary: A camera monitoring and analysis tool +Group: System Environment/Daemons +# jscalendar is LGPL (any version): http://www.dynarch.com/projects/calendar/ +# Mootools is inder the MIT license: http://mootools.net/ +License: GPLv2+ and LGPLv2+ and MIT +URL: http://www.zoneminder.com/ + +Source: ZoneMinder-%{version}.tar.gz + +Patch1: zoneminder-1.26.5-opensuse.patch + +BuildRequires: cmake +BuildRequires: perl-DBI perl-DBD-mysql perl-Date-Manip perl-Sys-Mmap +BuildRequires: libjpeg62 libjpeg62-devel libmysqld-devel libSDL-devel libgcrypt-devel libgnutls-devel +BuildRequires: libffmpeg-devel x264 +BuildRequires: pcre-devel w32codec-all + +Requires: apache2 apache2-mod_php5 mysql +Requires: ffmpeg libavformat55 +Requires: php php-mysql +Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) +Requires: perl-Sys-Mmap perl-Date-Manip perl-DBD-mysql +Requires: perl-Archive-Tar perl-Archive-Zip +# Can't find suitable package for OpenSuse and not sure if needed +#Requires: perl-MIME-Entity perl-Net-SMTP perl-Net-FTP +Requires: perl-MIME-Lite +Requires: perl-LWP-Protocol-https + +# can't find systemd-units or systemd-sysv in OpenSuse +#Requires(post): systemd-units systemd-sysv +Requires(post): /usr/bin/gpasswd +Requires(post): /usr/bin/more +#Requires(preun): systemd-units +#Requires(postun): systemd-units + +%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. + +%prep +%setup -q -n ZoneMinder-%{version} +cp -R /home/makerpm/rpmbuild/SOURCES/opensuse distros +%patch1 -p0 -b .opensuse + +%build +# For OpenSuse 13.1 we need to set DENABLE_MMAP to yes to vercome a problem +# where tthe perl modules don't have shared memory enabled +%cmake \ + -DCMAKE_INSTALL_PREFIX=/opt/zoneminder \ + -DZM_TARGET_DISTRO="OS13" \ + -DZM_NO_X10=ON \ + -DENABLE_MMAP=yes + +make +# There doesn't seem to be any point in using the next make as the +# makefiles for cmake don't seem to support multiple streams +#make %{?_smp_mflags} + +%install +export DESTDIR=%{buildroot} +# don't understand why but the built system appears in build under BUILDROOT +cd build +make install prefix=\${RPM_BUILD_ROOT} +cd .. + +%post +if [ $1 -eq 1 ] ; then + # Initial installation + /bin/systemctl daemon-reload >/dev/null 2>&1 || : +fi + +# Allow zoneminder access to local video sources +/usr/bin/gpasswd -a %zmuid_final video + +# Make sure that the temporary directory exists +#mkdir -p %{zm_tmpdir} + +# Display the README for post installation instructions +#/usr/bin/less %{_docdir}/%{name}-%{version}/README.OpenSuse +# both less and more scroll straight off the end of the file +/usr/bin/more %{_docdir}/%{name}/README.OpenSuse + +%preun +if [ $1 -eq 0 ] ; then + # Package removal, not upgrade + /bin/systemctl --no-reload disable zoneminder.service > /dev/null 2>&1 || : + /bin/systemctl stop zoneminder.service > /dev/null 2>&1 || : +fi + +%postun +/bin/systemctl daemon-reload >/dev/null 2>&1 || : +if [ $1 -ge 1 ] ; then + # Package upgrade, not uninstall + /bin/systemctl try-restart zoneminder.service >/dev/null 2>&1 || : +fi + +# Next section removed for OpenSuse as the install starts +# at 1.26.5 for this rpm +# %triggerun -- zoneminder < 1.25.0-4 +# Save the current service runlevel info +# User must manually run systemd-sysv-convert --apply zoneminder +# to migrate them to systemd targets +# /usr/bin/systemd-sysv-convert --save zoneminder >/dev/null 2>&1 ||: + +# Run these because the SysV package being removed won't do them +# /sbin/chkconfig --del zoneminder >/dev/null 2>&1 || : +# /bin/systemctl try-restart zoneminder.service >/dev/null 2>&1 || : + + +%files +%defattr(-,root,root,-) +%doc AUTHORS COPYING README.md distros/opensuse/README.OpenSuse distros/opensuse/jscalendar-doc +%docdir /opt/zoneminder/share/man +%config %attr(640,root,%{zmgid_final}) /etc/zm.conf +%config(noreplace) %attr(644,root,root) /etc/apache2/conf.d/zoneminder.conf +%config(noreplace) %attr(644,root,root) /etc/tmpfiles.d/zoneminder.conf +%config(noreplace) %attr(644,root,root) /etc/logrotate.d/zoneminder + +%{_unitdir}/zoneminder.service + +# not sure why this is necessary but leaving in for compatibility +%attr(4755,root,root) %{zm_rundir}/zmfix + + +%{zm_instdir} +%{webcgi}/nph-zms +%{webcgi}/zms +%{webroot}/zoneminder +%dir %attr(755,%{zmuid_final},%{zmgid_final}) %{webcgi} +%dir %attr(755,%{zmuid_final},%{zmgid_final}) %{zm_tmpdir} +%dir %attr(755,%{zmuid_final},%{zmgid_final}) /var/log/zoneminder +%dir %attr(755,%{zmuid_final},%{zmgid_final}) /var/spool/zoneminder-upload + + +%changelog +* Tue Mar 18 2014 David Wilcox - 1.26.5 +- Latest update for Opensuse 13.1 - work is still in progress + +* Thu Feb 06 2014 David Wilcox - 1.26.5 +- Initial build for OpenSuse 13.1 - based on Fedora 19 build + +* Mon Oct 07 2013 Andrew Bauer - 1.26.4 +- Initial cmake build. + +* Sat Oct 05 2013 Andrew Bauer - 1.26.4 +- Fedora specific path changes have been moved to zoneminder-1.26.0-defaults.patch +- All files are now part of the zoneminder source tree. Update specfile accordingly. + +* Sat Sep 21 2013 Andrew Bauer - 1.26.3 +- Initial rebuild for ZoneMinder 1.26.3 release. + +* Fri Feb 15 2013 Fedora Release Engineering - 1.25.0-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Mon Jan 21 2013 Adam Tkac - 1.25.0-12 +- rebuild due to "jpeg8-ABI" feature drop + +* Mon Jan 7 2013 Remi Collet - 1.25.0-11 +- fix configuration file for httpd 2.4, #871502 + +* Fri Dec 21 2012 Adam Tkac - 1.25.0-10 +- rebuild against new libjpeg + +* Thu Aug 09 2012 Jason L Tibbitts III - 1.25.0-9 +- Add patch to work around v4l2 api breakage in 3.5 kernel. + +* Sun Jul 22 2012 Fedora Release Engineering - 1.25.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Jun 23 2012 Petr Pisar - 1.25.0-7 +- Perl 5.16 rebuild + +* Wed Mar 21 2012 Jason L Tibbitts III - 1.25.0-6 +- Fix stupid thinko in sql modifications. + +* Sat Feb 25 2012 Jason L Tibbitts III - 1.25.0-5 +- Clean up macro usage. + +* Sat Feb 25 2012 Jason L Tibbitts III - 1.25.0-4 +- Convert to systemd. +- Add tmpfiles.d configuration since the initscript isn't around to create + /run/zoneminder. +- Remove some pointless executable permissions. +- Add logrotate file. + +* Wed Feb 22 2012 Jason L Tibbitts III - 1.25.0-3 +- Update README.Fedora to reference systemctl and mention timezone info in + php.ini. +- Add proper default for EYEZM_LOG_TO_FILE. + + +* Thu Feb 09 2012 Jason L Tibbitts III - 1.25.0-2 +- Rebuild for new pcre. + +* Thu Jan 19 2012 Jason L Tibbitts III - 1.25.0-1 +- Update to 1.25.0 +- Fix gcc4.7 build problems. +- Drop gcc4.4 build fixes; for whatever reason they now break the build. +- Clean up old patches. +- Force setting of ZM_TMPDIR and ZM_RUNDIR. + +* Sat Jan 14 2012 Fedora Release Engineering - 1.24.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu Sep 15 2011 Jason L Tibbitts III - 1.24.4-3 +- Re-add the dist-tag that somehow got lost. + +* Thu Sep 15 2011 Jason L Tibbitts III - 1.24.4-2 +- Add patch for bug 711780 - fix syntax issue in Mapped.pm. +- Undo that patch, and undo another which was the cause of the whole mess. +- Fix up other patches so ZM_PATH_BUILD is both defined and useful. +- Make sure database creation mods actually take. +- Update Fedora-specific docs with some additional info. +- Use bundled mootools (javascript, so no guideline violation). +- Update download location. +- Update the gcrypt patch to actually work. +- Upstream changed the tarball without changing the version to patch a + vulnerability, so redownload. + +* Sun Aug 14 2011 Jason L Tibbitts III - 1.24.4-1 +- Initial attempt to upgrade to 1.24.4. +- Add patch from BZ 460310 to build against libgcrypt instead of requiring the + gnutls openssl libs. + +* Thu Jul 21 2011 Petr Sabata - 1.24.3-7.20110324svn3310 +- Perl mass rebuild + +* Wed Jul 20 2011 Petr Sabata - 1.24.3-6.20110324svn3310 +- Perl mass rebuild + +* Mon May 09 2011 Jason L Tibbitts III - 1.24.3-5.20110324svn3310 +- Bump for gnutls update. + +* Thu Mar 24 2011 Jason L Tibbitts III - 1.24.3-4.20110324svn3310 +- Update to latest 1.24.3 subversion. Turns out that what upstream was calling + 1.24.3 is really just an occasionally updated devel snapshot. +- Rebase various patches. + +* Wed Mar 23 2011 Dan Horák - 1.24.3-3 +- rebuilt for mysql 5.5.10 (soname bump in libmysqlclient) + +* Tue Feb 08 2011 Fedora Release Engineering - 1.24.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Jan 25 2011 Jason L Tibbitts III - 1.24.3-1 +- Update to latest upstream version. +- Rebase patches. +- Initial incomplete attempt to disable v4l1 support. + +* Fri Jan 21 2011 Jason L Tibbitts III - 1.24.2-6 +- Unbundle cambozola; instead link to the separately pacakged copy. +- Remove BuildRoot:, %%clean and buildroot cleaning in %%install. +- Git rid of mixed space/tab usage by removing all tabs. +- Remove unnecessary Conflicts: line. +- Attempt to force short_open_tag on for the code directories. +- Move default location of sockets, swaps, logfiles and some temporary files to + make more sense and allow things to work better with a future selinux policy. +- Fix errors in README.Fedora. + +* Wed Jun 02 2010 Marcela Maslanova - 1.24.2-5 +- Mass rebuild with perl-5.12.0 + +* Fri Dec 4 2009 Stepan Kasal - 1.24.2-4 +- rebuild against perl 5.10.1 +- use Perl vendorarch and archlib variables correctly + +* Mon Jul 27 2009 Fedora Release Engineering - 1.24.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Jul 22 2009 Jason L Tibbitts III - 1.24.2-2 +- Bump release since 1.24.2-1 was mistakenly tagged a few months ago. + +* Wed Jul 22 2009 Jason L Tibbitts III - 1.24.2-1 +- Initial update to 1.24.2. +- Rebase patches. +- Update mootools download location. +- Update to mootools 1.2.3. +- Add additional dependencies for some optional features. + +* Sat Apr 11 2009 Martin Ebourne - 1.24.1-3 +- Remove unused Sys::Mmap perl dependency RPM is finding + +* Sat Apr 11 2009 Martin Ebourne - 1.24.1-2 +- Update gcc44 patch to disable -frepo, seems to be broken with gcc44 +- Added noffmpeg patch to make building outside mock easier + +* Sat Mar 21 2009 Martin Ebourne - 1.24.1-1 +- Patch for gcc 4.4 compilation errors +- Upgrade to 1.24.1 + +* Wed Feb 25 2009 Fedora Release Engineering - 1.23.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Sat Jan 24 2009 Caolán McNamara - 1.23.3-3 +- rebuild for dependencies + +* Mon Dec 15 2008 Martin Ebourne - 1.23.3-2 +- Fix permissions on zm.conf + +* Fri Jul 11 2008 Jason L Tibbitts III - 1.23.3-1 +- Initial attempt at packaging 1.23. + +* Tue Jul 1 2008 Martin Ebourne - 1.22.3-15 +- Add perl module compat dependency, bz #453590 + +* Tue May 6 2008 Martin Ebourne - 1.22.3-14 +- Remove default runlevel, bz #441315 + +* Mon Apr 28 2008 Jason L Tibbitts III - 1.22.3-13 +- Backport patch for CVE-2008-1381 from 1.23.3 to 1.22.3. + +* Tue Feb 19 2008 Fedora Release Engineering - 1.22.3-12 +- Autorebuild for GCC 4.3 + +* Thu Jan 3 2008 Martin Ebourne - 1.22.3-11 +- Fix compilation on gcc 4.3 + +* Thu Dec 6 2007 Martin Ebourne - 1.22.3-10 +- Rebuild for new openssl + +* Thu Aug 2 2007 Martin Ebourne - 1.22.3-8 +- Fix licence tag + +* Thu Jul 12 2007 Martin Ebourne - 1.22.3-7 +- Fixes from testing by Jitz including missing dependencies and database creation + +* Sat Jun 30 2007 Martin Ebourne - 1.22.3-6 +- Disable crashtrace on ppc + +* 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 diff --git a/distros/opensuse/zoneminder.conf b/distros/opensuse/zoneminder.conf new file mode 100644 index 000000000..6173944b5 --- /dev/null +++ b/distros/opensuse/zoneminder.conf @@ -0,0 +1,45 @@ +# 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 "/srv/www/htdocs/zoneminder" + + Options -Indexes +MultiViews +FollowSymLinks + AllowOverride All + + # Apache 2.4 + Require all granted + + + # Apache 2.2 + Order deny,allow + Allow from all + + # The code unfortunately uses short tags in many places + php_value short_open_tag 1 + + +ScriptAlias /cgi-bin/zm "/srv/www/cgi-bin" + + AllowOverride All + Options ExecCGI + + # Apache 2.4 + Require all granted + + + # Apache 2.2 + Order deny,allow + Allow from all + + diff --git a/distros/opensuse/zoneminder.logrotate b/distros/opensuse/zoneminder.logrotate new file mode 100644 index 000000000..4326a28ff --- /dev/null +++ b/distros/opensuse/zoneminder.logrotate @@ -0,0 +1,8 @@ +/var/log/zoneminder/*.log { + missingok + notifempty + sharedscripts + postrotate + /opt/zoneminder/bin/zmpkg.pl logrot 2> /dev/null > /dev/null || : + endscript +} diff --git a/distros/opensuse/zoneminder.service b/distros/opensuse/zoneminder.service new file mode 100644 index 000000000..ce41fdf92 --- /dev/null +++ b/distros/opensuse/zoneminder.service @@ -0,0 +1,13 @@ +[Unit] +Description=Video security and surveillance system +After=mysqld.service + +[Service] +Type=forking +ExecStart=/opt/zoneminder/bin/zmpkg.pl start +ExecStop=/opt/zoneminder/bin/zmpkg.pl stop +ExecReload=/opt/zoneminder/bin/zmpkg.pl reload +PIDFile=/var/run/zoneminder/zm.pid + +[Install] +WantedBy=multi-user.target diff --git a/distros/opensuse/zoneminder.tmpfiles b/distros/opensuse/zoneminder.tmpfiles new file mode 100644 index 000000000..62bd00d75 --- /dev/null +++ b/distros/opensuse/zoneminder.tmpfiles @@ -0,0 +1 @@ +d /var/run/zmtmp 0755 wwwrun www