Initial upload for opensuse rpm
This commit is contained in:
parent
64686a3c60
commit
43b259c5cd
|
@ -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 "")
|
|
@ -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=<from version>
|
||||||
|
|
||||||
|
|
||||||
|
If unsure then run it this way:
|
||||||
|
|
||||||
|
sudo zmupdate.pl --user=root --pass=<mysql_root_pwd> --version=<from 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
|
||||||
|
|
||||||
|
|
|
@ -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
|
|
@ -0,0 +1 @@
|
||||||
|
../redhat/redalert.wav
|
|
@ -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 <prefix>/lib, default: <libdir>/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: <prefix>/<zmperlsubprefix>")
|
||||||
|
-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")
|
|
@ -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 <david.wilcox@cloverbeen.com> - 1.26.5
|
||||||
|
- Latest update for Opensuse 13.1 - work is still in progress
|
||||||
|
|
||||||
|
* Thu Feb 06 2014 David Wilcox <david.wilcox@cloverbeen.com> - 1.26.5
|
||||||
|
- Initial build for OpenSuse 13.1 - based on Fedora 19 build
|
||||||
|
|
||||||
|
* Mon Oct 07 2013 Andrew Bauer <knnniggett@users.sourceforge.net> - 1.26.4
|
||||||
|
- Initial cmake build.
|
||||||
|
|
||||||
|
* Sat Oct 05 2013 Andrew Bauer <knnniggett@users.sourceforge.net> - 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 <knnniggett@users.sourceforge.net> - 1.26.3
|
||||||
|
- Initial rebuild for ZoneMinder 1.26.3 release.
|
||||||
|
|
||||||
|
* Fri Feb 15 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.25.0-13
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jan 21 2013 Adam Tkac <atkac redhat com> - 1.25.0-12
|
||||||
|
- rebuild due to "jpeg8-ABI" feature drop
|
||||||
|
|
||||||
|
* Mon Jan 7 2013 Remi Collet <rcollet@redhat.com> - 1.25.0-11
|
||||||
|
- fix configuration file for httpd 2.4, #871502
|
||||||
|
|
||||||
|
* Fri Dec 21 2012 Adam Tkac <atkac redhat com> - 1.25.0-10
|
||||||
|
- rebuild against new libjpeg
|
||||||
|
|
||||||
|
* Thu Aug 09 2012 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.25.0-9
|
||||||
|
- Add patch to work around v4l2 api breakage in 3.5 kernel.
|
||||||
|
|
||||||
|
* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.25.0-8
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Jun 23 2012 Petr Pisar <ppisar@redhat.com> - 1.25.0-7
|
||||||
|
- Perl 5.16 rebuild
|
||||||
|
|
||||||
|
* Wed Mar 21 2012 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.25.0-6
|
||||||
|
- Fix stupid thinko in sql modifications.
|
||||||
|
|
||||||
|
* Sat Feb 25 2012 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.25.0-5
|
||||||
|
- Clean up macro usage.
|
||||||
|
|
||||||
|
* Sat Feb 25 2012 Jason L Tibbitts III <tibbs@math.uh.edu> - 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 <tibbs@math.uh.edu> - 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 <tibbs@math.uh.edu> - 1.25.0-2
|
||||||
|
- Rebuild for new pcre.
|
||||||
|
|
||||||
|
* Thu Jan 19 2012 Jason L Tibbitts III <tibbs@math.uh.edu> - 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 <rel-eng@lists.fedoraproject.org> - 1.24.4-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Sep 15 2011 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.24.4-3
|
||||||
|
- Re-add the dist-tag that somehow got lost.
|
||||||
|
|
||||||
|
* Thu Sep 15 2011 Jason L Tibbitts III <tibbs@math.uh.edu> - 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 <tibbs@math.uh.edu> - 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 <contyk@redhat.com> - 1.24.3-7.20110324svn3310
|
||||||
|
- Perl mass rebuild
|
||||||
|
|
||||||
|
* Wed Jul 20 2011 Petr Sabata <contyk@redhat.com> - 1.24.3-6.20110324svn3310
|
||||||
|
- Perl mass rebuild
|
||||||
|
|
||||||
|
* Mon May 09 2011 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.24.3-5.20110324svn3310
|
||||||
|
- Bump for gnutls update.
|
||||||
|
|
||||||
|
* Thu Mar 24 2011 Jason L Tibbitts III <tibbs@math.uh.edu> - 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 <dan@danny.cz> - 1.24.3-3
|
||||||
|
- rebuilt for mysql 5.5.10 (soname bump in libmysqlclient)
|
||||||
|
|
||||||
|
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.24.3-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jan 25 2011 Jason L Tibbitts III <tibbs@math.uh.edu> - 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 <tibbs@math.uh.edu> - 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 <mmaslano@redhat.com> - 1.24.2-5
|
||||||
|
- Mass rebuild with perl-5.12.0
|
||||||
|
|
||||||
|
* Fri Dec 4 2009 Stepan Kasal <skasal@redhat.com> - 1.24.2-4
|
||||||
|
- rebuild against perl 5.10.1
|
||||||
|
- use Perl vendorarch and archlib variables correctly
|
||||||
|
|
||||||
|
* Mon Jul 27 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.24.2-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 22 2009 Jason L Tibbitts III <tibbs@math.uh.edu> - 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 <tibbs@math.uh.edu> - 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 <martin@zepler.org> - 1.24.1-3
|
||||||
|
- Remove unused Sys::Mmap perl dependency RPM is finding
|
||||||
|
|
||||||
|
* Sat Apr 11 2009 Martin Ebourne <martin@zepler.org> - 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 <martin@zepler.org> - 1.24.1-1
|
||||||
|
- Patch for gcc 4.4 compilation errors
|
||||||
|
- Upgrade to 1.24.1
|
||||||
|
|
||||||
|
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.23.3-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Jan 24 2009 Caolán McNamara <caolanm@redhat.com> - 1.23.3-3
|
||||||
|
- rebuild for dependencies
|
||||||
|
|
||||||
|
* Mon Dec 15 2008 Martin Ebourne <martin@zepler.org> - 1.23.3-2
|
||||||
|
- Fix permissions on zm.conf
|
||||||
|
|
||||||
|
* Fri Jul 11 2008 Jason L Tibbitts III <tibbs@math.uh.edu> - 1.23.3-1
|
||||||
|
- Initial attempt at packaging 1.23.
|
||||||
|
|
||||||
|
* Tue Jul 1 2008 Martin Ebourne <martin@zepler.org> - 1.22.3-15
|
||||||
|
- Add perl module compat dependency, bz #453590
|
||||||
|
|
||||||
|
* Tue May 6 2008 Martin Ebourne <martin@zepler.org> - 1.22.3-14
|
||||||
|
- Remove default runlevel, bz #441315
|
||||||
|
|
||||||
|
* Mon Apr 28 2008 Jason L Tibbitts III <tibbs@math.uh.edu> - 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 <rel-eng@fedoraproject.org> - 1.22.3-12
|
||||||
|
- Autorebuild for GCC 4.3
|
||||||
|
|
||||||
|
* Thu Jan 3 2008 Martin Ebourne <martin@zepler.org> - 1.22.3-11
|
||||||
|
- Fix compilation on gcc 4.3
|
||||||
|
|
||||||
|
* Thu Dec 6 2007 Martin Ebourne <martin@zepler.org> - 1.22.3-10
|
||||||
|
- Rebuild for new openssl
|
||||||
|
|
||||||
|
* Thu Aug 2 2007 Martin Ebourne <martin@zepler.org> - 1.22.3-8
|
||||||
|
- Fix licence tag
|
||||||
|
|
||||||
|
* Thu Jul 12 2007 Martin Ebourne <martin@zepler.org> - 1.22.3-7
|
||||||
|
- Fixes from testing by Jitz including missing dependencies and database creation
|
||||||
|
|
||||||
|
* Sat Jun 30 2007 Martin Ebourne <martin@zepler.org> - 1.22.3-6
|
||||||
|
- Disable crashtrace on ppc
|
||||||
|
|
||||||
|
* 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
|
|
@ -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"
|
||||||
|
<Directory "srv/www/htdocs/zoneminder">
|
||||||
|
Options -Indexes +MultiViews +FollowSymLinks
|
||||||
|
AllowOverride All
|
||||||
|
<IfModule mod_authz_core.c>
|
||||||
|
# Apache 2.4
|
||||||
|
Require all granted
|
||||||
|
</IfModule>
|
||||||
|
<IfModule !mod_authz_core.c>
|
||||||
|
# Apache 2.2
|
||||||
|
Order deny,allow
|
||||||
|
Allow from all
|
||||||
|
</IfModule>
|
||||||
|
# The code unfortunately uses short tags in many places
|
||||||
|
php_value short_open_tag 1
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
ScriptAlias /cgi-bin/zm "/srv/www/cgi-bin"
|
||||||
|
<Directory "/srv/www/cgi-bin">
|
||||||
|
AllowOverride All
|
||||||
|
Options ExecCGI
|
||||||
|
<IfModule mod_authz_core.c>
|
||||||
|
# Apache 2.4
|
||||||
|
Require all granted
|
||||||
|
</IfModule>
|
||||||
|
<IfModule !mod_authz_core.c>
|
||||||
|
# Apache 2.2
|
||||||
|
Order deny,allow
|
||||||
|
Allow from all
|
||||||
|
</IfModule>
|
||||||
|
</Directory>
|
|
@ -0,0 +1,8 @@
|
||||||
|
/var/log/zoneminder/*.log {
|
||||||
|
missingok
|
||||||
|
notifempty
|
||||||
|
sharedscripts
|
||||||
|
postrotate
|
||||||
|
/opt/zoneminder/bin/zmpkg.pl logrot 2> /dev/null > /dev/null || :
|
||||||
|
endscript
|
||||||
|
}
|
|
@ -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
|
|
@ -0,0 +1 @@
|
||||||
|
d /var/run/zmtmp 0755 wwwrun www
|
Loading…
Reference in New Issue