summaryrefslogtreecommitdiff
path: root/pcr
diff options
context:
space:
mode:
Diffstat (limited to 'pcr')
-rw-r--r--pcr/irssi-xmpp/PKGBUILD22
-rw-r--r--pcr/libav-static/PKGBUILD120
-rw-r--r--pcr/libav-static/avconv-static2
-rw-r--r--pcr/libav-static/avplay-static2
-rw-r--r--pcr/libav-static/avprobe-static2
-rw-r--r--pcr/libav-static/avserver-static2
-rw-r--r--pcr/libav-static/ffmpeg-libav-static2
-rw-r--r--pcr/libav-static/qt-faststart-libav-static2
-rw-r--r--pcr/zoneminder-libav/PKGBUILD195
-rw-r--r--pcr/zoneminder-libav/httpd-zoneminder.conf20
-rw-r--r--pcr/zoneminder-libav/zoneminder63
-rw-r--r--pcr/zoneminder-libav/zoneminder.install185
-rw-r--r--pcr/zoneminder-libav/zoneminder.service13
-rw-r--r--pcr/zoneminder-lts/PKGBUILD210
-rw-r--r--pcr/zoneminder-lts/httpd-zoneminder.conf20
-rw-r--r--pcr/zoneminder-lts/patch-ffmpeg-0.11.patch60
-rw-r--r--pcr/zoneminder-lts/zoneminder63
-rw-r--r--pcr/zoneminder-lts/zoneminder.install185
-rw-r--r--pcr/zoneminder-lts/zoneminder.service13
19 files changed, 1181 insertions, 0 deletions
diff --git a/pcr/irssi-xmpp/PKGBUILD b/pcr/irssi-xmpp/PKGBUILD
new file mode 100644
index 000000000..fa5d445c6
--- /dev/null
+++ b/pcr/irssi-xmpp/PKGBUILD
@@ -0,0 +1,22 @@
+# Maintainer: Yogesh Powar <yogesh.powar@gmail.com>
+pkgname=irssi-xmpp
+pkgver=0.52
+pkgrel=1
+pkgdesc="An irssi plugin to connect to the Jabber network."
+url="http://cybione.org/~irssi-xmpp"
+arch=('i686' 'x86_64' 'mips64el')
+license=('GPL')
+depends=('loudmouth>=1.4.0' 'irssi>=0.8.13')
+source=("http://cybione.org/~irssi-xmpp/files/${pkgname}-${pkgver}.tar.gz")
+md5sums=('f48d66ddf6a6d8e4d04bfc44b83dc3c7')
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+ export PREFIX=/usr/
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+ make DESTDIR="$pkgdir/" install
+}
diff --git a/pcr/libav-static/PKGBUILD b/pcr/libav-static/PKGBUILD
new file mode 100644
index 000000000..932213a3e
--- /dev/null
+++ b/pcr/libav-static/PKGBUILD
@@ -0,0 +1,120 @@
+# $Id$
+# Maintainer : Ionut Biru <ibiru@archlinux.org>
+# Contributor: Tom Newsom <Jeepster@gmx.co.uk>
+# Contributor: Paul Mattal <paul@archlinux.org>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+
+pkgbase=libav
+pkgname=libav-static
+pkgflag=-static
+pkgver=0.8.4
+pkgrel=2
+pkgdesc='Complete and free Internet live audio and video broadcasting solution for GNU/Linux, with static library'
+arch=(
+ i686
+ x86_64
+ mips64el
+)
+url="http://$pkgbase.org/"
+license=(
+ GPL
+)
+depends=(
+ alsa-lib
+ bzip2
+ gsm
+ lame
+ libpulse
+ libtheora
+ libva
+ libvorbis
+ libvpx
+ opencore-amr
+ openjpeg
+ rtmpdump
+ schroedinger
+ sdl
+ speex
+ x264
+ xvidcore
+ zlib
+)
+makedepends=(
+ yasm
+ libvdpau
+)
+source=(
+ http://$pkgbase.org/releases/$pkgbase-$pkgver.tar.gz
+ avconv$pkgflag
+ avplay$pkgflag
+ avprobe$pkgflag
+ avserver$pkgflag
+ ffmpeg-$pkgname
+ qt-faststart-$pkgname
+)
+sha512sums=(
+ d402c7d586708e29b92340c4d03d8431fe607f0b88c2762cc95671786cdb9a7221968164b571e11086b53b2169f3a657c6106dc769c04a1a035429d011e72610
+ 4a98c459df5f5bc5e42580b5f2081509719c057fdf55693b3554006b21adcaa29ee59ac0debfe0486fe1df8b9a937135d99e4ccc2df894a2634dd314eed93114
+ afd2eadd0a0522cd3665ccd2b819f06a99cc50e3bdac3a0ef200861664c7084cc5990a3c1a860f2f0cc9f835c33c09cb5c57a25dbab0673eb74ba0f4c980e539
+ 4e557c9eab6a97a3206df1dd49a516ae7be9490c894ff212cb5286ee097ae606c0b7a650c75278a71e4c91d0325eaee729937e1ae659ce0887c3c20ea8fe6333
+ f0fa50711d19babf3f485189fb37b17a87f31849dad9cf6a7324601bdde0856fe47d55a4d82c6839c93f39e970edcbeecfbcb70a8b4e7570250fa4c7bb6975fb
+ 8101ec9c3e0a945ea89f85f81ace52ce67159661e3440668726a5767ba6250a91533494f1aa8fc30ee97ff9af5d64636d0f0dbcb2da862124d35b6b5ec571f5b
+ 0133fae31e1df586317deb7235f5e74d22abd007038f82b9df10ea3eea6748945c50a0bbe8f588e8a5d1b7874b3fa2639430e1efa32b0cfe16383a32751d3245
+)
+
+build() {
+ cd $pkgbase-$pkgver
+
+ ./configure \
+ --prefix=/opt/$pkgname \
+ --enable-libmp3lame \
+ --enable-libvorbis \
+ --enable-libxvid \
+ --enable-libx264 \
+ --enable-libvpx \
+ --enable-libtheora \
+ --enable-libgsm \
+ --enable-libspeex \
+ --enable-postproc \
+ --enable-shared \
+ --enable-x11grab \
+ --enable-libopencore_amrnb \
+ --enable-libopencore_amrwb \
+ --enable-libschroedinger \
+ --enable-libopenjpeg \
+ --enable-librtmp \
+ --enable-libpulse \
+ --enable-gpl \
+ --enable-version3 \
+ --enable-runtime-cpudetect \
+ --disable-debug \
+ --enable-static
+
+ make
+ make tools/qt-faststart
+ make doc/ffmpeg.1
+ make doc/av{play,server}.1
+}
+
+package() {
+ cd $pkgbase-$pkgver
+ make DESTDIR=$pkgdir install install-man
+ install -m755 -d $pkgdir/etc/ld.so.conf.d
+ install -m755 -d $pkgdir/usr/bin
+ install -m755 -d $pkgdir/usr/share/man/man1
+ install -Dm755 tools/qt-faststart $pkgdir/opt/$pkgname/bin
+ ln -s /opt/$pkgname/bin/avconv $pkgdir/usr/bin/avconv$pkgflag
+ ln -s /opt/$pkgname/bin/avplay $pkgdir/usr/bin/avplay$pkgflag
+ ln -s /opt/$pkgname/bin/avprobe $pkgdir/usr/bin/avprobe$pkgflag
+ ln -s /opt/$pkgname/bin/avserver $pkgdir/usr/bin/avserver$pkgflag
+ ln -s /opt/$pkgname/bin/ffmpeg $pkgdir/usr/bin/ffmpeg-$pkgname
+ ln -s /opt/$pkgname/bin/qt-faststart $pkgdir/usr/bin/qt-faststart-$pkgname
+ ln -s /opt/$pkgname/share/man/man1/avconv.1 $pkgdir/usr/share/man/man1/avconv$pkgflag.1
+ ln -s /opt/$pkgname/share/man/man1/avplay.1 $pkgdir/usr/share/man/man1/avplay$pkgflag.1
+ ln -s /opt/$pkgname/share/man/man1/avprobe.1 $pkgdir/usr/share/man/man1/avprobe$pkgflag.1
+ ln -s /opt/$pkgname/share/man/man1/avserver.1 $pkgdir/usr/share/man/man1/avserver$pkgflag.1
+ ln -s /opt/$pkgname/share/man/man1/ffmpeg.1 $pkgdir/usr/share/man/man1/ffmpeg-$pkgname.1
+ echo /opt/libav-static/lib > $pkgdir/etc/ld.so.conf.d/libav-static.conf
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/pcr/libav-static/avconv-static b/pcr/libav-static/avconv-static
new file mode 100644
index 000000000..5f632bec0
--- /dev/null
+++ b/pcr/libav-static/avconv-static
@@ -0,0 +1,2 @@
+#!/bin/bash
+LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/libav-static/lib /opt/libav-static/bin/avconv $*
diff --git a/pcr/libav-static/avplay-static b/pcr/libav-static/avplay-static
new file mode 100644
index 000000000..8db2da816
--- /dev/null
+++ b/pcr/libav-static/avplay-static
@@ -0,0 +1,2 @@
+#!/bin/bash
+LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/libav-static/lib /opt/libav-static/bin/avplay $*
diff --git a/pcr/libav-static/avprobe-static b/pcr/libav-static/avprobe-static
new file mode 100644
index 000000000..44b730287
--- /dev/null
+++ b/pcr/libav-static/avprobe-static
@@ -0,0 +1,2 @@
+#!/bin/bash
+LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/libav-static/lib /opt/libav-static/bin/avprobe $*
diff --git a/pcr/libav-static/avserver-static b/pcr/libav-static/avserver-static
new file mode 100644
index 000000000..642d4722c
--- /dev/null
+++ b/pcr/libav-static/avserver-static
@@ -0,0 +1,2 @@
+#!/bin/bash
+LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/libav-static/lib /opt/libav-static/bin/avserver $*
diff --git a/pcr/libav-static/ffmpeg-libav-static b/pcr/libav-static/ffmpeg-libav-static
new file mode 100644
index 000000000..3f9ef6d52
--- /dev/null
+++ b/pcr/libav-static/ffmpeg-libav-static
@@ -0,0 +1,2 @@
+#!/bin/bash
+LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/libav-static/lib /opt/libav-static/bin/ffmpeg $*
diff --git a/pcr/libav-static/qt-faststart-libav-static b/pcr/libav-static/qt-faststart-libav-static
new file mode 100644
index 000000000..8613091c4
--- /dev/null
+++ b/pcr/libav-static/qt-faststart-libav-static
@@ -0,0 +1,2 @@
+#!/bin/bash
+LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/libav-static/lib /opt/libav-static/bin/qt-faststart $*
diff --git a/pcr/zoneminder-libav/PKGBUILD b/pcr/zoneminder-libav/PKGBUILD
new file mode 100644
index 000000000..4567de8ea
--- /dev/null
+++ b/pcr/zoneminder-libav/PKGBUILD
@@ -0,0 +1,195 @@
+# Maintainer: Vojtech Aschenbrenner <v@asch.cz>
+# Contributor: Jason Gardner <buhrietoe@gmail.com>
+# Contributor: Ross melin <rdmelin@gmail.com>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+# Contributor (Parabola): André Silva <emulatorman@lavabit.com>
+
+# based of debian squeeze package
+
+pkgbase=zoneminder
+pkgname=zoneminder-libav
+pkgver=1.25.0
+pkgrel=1
+pkgdesc='Capture, analyse, record and monitor video security cameras'
+arch=(
+ i686
+ x86_64
+ mips64el
+)
+backup=(
+ etc/zm.conf
+)
+url="http://www.$pkgbase.com"
+license=(
+ GPL
+)
+depends=(
+ apache
+ cambozola
+ libav-static
+ gnutls
+ mysql
+ perl-archive-zip
+ perl-date-manip
+ perl-dbd-mysql
+ perl-dbi
+ perl-expect
+ perl-libwww
+ perl-mime-lite
+ perl-mime-tools
+ perl-php-serialization
+ perl-net-sftp-foreign
+ perl-sys-mmap
+ perl-time-modules
+ perl-x10
+ php
+ php-apache
+ php-gd
+ php-mcrypt
+)
+makedepends=(
+ netpbm
+)
+optdepends=(
+ netpbm
+)
+provides=(
+ $pkgbase=$pkgver
+)
+conflicts=(
+ $pkgbase
+)
+install=$pkgbase.install
+source=(
+ http://www.$pkgbase.com/downloads/ZoneMinder-$pkgver.tar.gz
+ httpd-$pkgbase.conf
+ $pkgbase
+ $pkgbase.service
+)
+sha512sums=(
+ 3e18993b0539729491052c97d8c94227ccc089eb40277c2f07682f30049033303c7cfe9734fdac6d33ae67df29c76eb72bf7fbb5dae8227e8831fa603b61c375
+ 4ce0d8eba9d006d258f5b8a83920fc17f1f602b96518d37b7a47cd9b6eb84ef2587641a6ba839a469c3f0e33b46475866187279ae3f8be0d4054b074ee5d6b08
+ ab4e1d5ddaf4d9cd53d6ca59d7965902afd6a2dc830fbbafa270736c52c2b3563075fee860bb0276466f96e9dbfb71b259ac45a4ae2e4ead8eaec154a0159eb0
+ cfb0eb87a989236c72741a496ddc6a73aa2696e5beaaca4836d3c231ddb24c7ef5e9f65e7afa49674f2115cbfa4a07c75486e1947ce294c816ddbb875f3b99cf
+)
+
+build() {
+ cd $srcdir/ZoneMinder-$pkgver
+
+ # ZM_RUNDIR need change to run dir
+ export CPPFLAGS=-D__STDC_CONSTANT_MACROS\
+ ZM_LOGDIR=/var/log/$pkgbase\
+ ZM_RUNDIR=/tmp/$pkgbase\
+ ZM_SSL_LIB=gnutls\
+ ZM_TMPDIR=/tmp/$pkgbase
+
+ # Patch for GCC 4.7.x
+ sed -i -e 's/^#include <errno.h>/#include <errno.h>\n#include <unistd.h>/'\
+ src/zm_logger.cpp || read
+ sed -i -e 's/^#include <pthread.h>/#include <pthread.h>\n#include <unistd.h>/'\
+ src/zm_thread.h || read
+
+ # Patch for automake 1.12
+ sed -i -e '/am__api_version=/ s/1.11/1.12/'\
+ configure || read
+
+ # Patch for disable ZM_CHECK_FOR_UPDATES
+ sed -i -e '/ZM_CHECK_FOR_UPDATES/,+1 s/yes/no/'\
+ scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in || read
+
+ # Patch for support html5 video and flv
+ sed -i -e '/ZM_MPEG_LIVE_FORMAT/,+1 s/swf/webm/;/ZM_MPEG_REPLAY_FORMAT/,+1 s/swf/webm/;
+ /ZM_FFMPEG_FORMATS/,+1 s/mpg mpeg wmv asf avi\* mov swf 3gp\*\*/mpg mpeg wmv asf avi\* mov flv swf 3gp\*\* webm ogg h254/'\
+ scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in || read
+
+ # Patch for change path run dir
+ sed -i -e '/ZM_PATH_SOCKS/,+1 s/TMP/RUN/'\
+ scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in || read
+
+ # Patch for change ZM name to ZoneMinder
+ sed -i -e '/ZM_WEB_TITLE_PREFIX/,+1 s/"ZM"/"ZoneMinder"/'\
+ scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in || read
+
+ # Patch for v4l2 convert support
+ sed -i -e "s/$ENV{SHELL} = \'\/bin\/sh\' if exists $ENV{SHELL};/$ENV{SHELL} = \'\/bin\/sh\' if exists $ENV{SHELL};\n$ENV{LD_PRELOAD} = \'\/usr\/lib\/libv4l\/v4l2convert.so\' ;/"\
+ scripts/zmdc.pl.in || read
+
+ # Patch for add more socket tries
+ sed -i -e '/$max_socket_tries/ s/3/15/'\
+ web/ajax/stream.php || read
+
+ # Patch for wrong "suppported"
+ sed -i -e 's/suppported/supported/'\
+ src/zm_local_camera.cpp || read
+
+ # Patch for type cast in linux-libre kernel 3.5
+ sed -i -e 's/enum v4l2_buf_type type = v4l2_data.fmt.type;/enum v4l2_buf_type type = (v4l2_buf_type)v4l2_data.fmt.type;/'\
+ src/zm_local_camera.cpp || read
+
+ # Patch for drop custom perl install paths
+ sed -i -e '/# Slight hack for non-standard perl install paths/,+10 d;
+ s/^AC_SUBST(ZM_CONFIG,"$SYSCONFDIR\/zm.conf")/AC_SUBST(ZM_CONFIG,"$SYSCONFDIR\/zm.conf")\n\nEXTRA_PERL_LIB="# Include from system perl paths only"\nPERL_MM_PARMS="INSTALLDIRS=vendor"/'\
+ configure.ac
+
+ # Patch for support ffmpeg with <libavutil/mathematics.h> and C library
+ sed -i -e 's/^extern "C" {/extern "C" {\n#ifdef _STDINT_H\n#undef _STDINT_H\n#endif\n#include <stdint.h>/
+ s/^#include <libavutil\/avutil.h>/#include <libavutil\/avutil.h>\n#include <libavutil\/mathematics.h>/'\
+ src/zm_ffmpeg.h
+ sed -i -e 's/^AM_CONFIG_HEADER(config.h)/AM_CONFIG_HEADER(config.h)\n\nAC_SUBST([AM_CXXFLAGS], [-D__STDC_CONSTANT_MACROS])/;
+ s/^AC_CHECK_HEADERS(mysql\/mysql.h,,AC_MSG_ERROR(zm requires MySQL headers - check that MySQL development packages are installed),)/AC_CHECK_HEADERS(mysql\/mysql.h,,AC_MSG_ERROR(zm requires MySQL headers - check that MySQL development packages are installed),)\nAC_LANG_PUSH([C])/;
+ s/^AC_CHECK_HEADERS(libswscale\/swscale.h,,,)/AC_CHECK_HEADERS(libswscale\/swscale.h,,,)\nAC_LANG_POP([C])/'\
+ configure.ac
+
+ # Patch for wrong install run, tmp and log dir
+ sed -i -e '/ install-data-hook/d;/install-data-hook:/d;/# Yes, you are correct. This is a HACK!/d;
+ / ( cd $(DESTDIR)$(sysconfdir); chown $(webuser):$(webgroup) $(sysconf_DATA); chmod 600 $(sysconf_DATA) )/d;
+ / ( if ! test -e $(ZM_RUNDIR); then mkdir -p $(ZM_RUNDIR); fi; if test "$(ZM_RUNDIR)" != "\/var\/run"; then chown $(webuser):$(webgroup) $(ZM_RUNDIR); chmod u+w $(ZM_RUNDIR); fi )/d;
+ / ( if ! test -e $(ZM_TMPDIR); then mkdir -m 700 -p $(ZM_TMPDIR); fi; if test "$(ZM_TMPDIR)" != "\/tmp"; then chown $(webuser):$(webgroup) $(ZM_TMPDIR); chmod u+w $(ZM_TMPDIR); fi )/d;
+ / ( if ! test -e $(ZM_LOGDIR); then mkdir -p $(ZM_LOGDIR); fi; if test "$(ZM_LOGDIR)" != "\/var\/log"; then chown $(webuser):$(webgroup) $(ZM_LOGDIR); chmod u+w $(ZM_LOGDIR); fi )/,+1 d'\
+ Makefile.{am,in}
+
+ ./configure --prefix=/usr\
+ --enable-crashtrace=no\
+ --enable-debug=no\
+ --enable-mmap=yes\
+ --sysconfdir=/etc\
+ --with-cgidir=/srv/http/cgi-bin\
+ --with-extralibs='-L/usr/lib -L/usr/lib/mysql'\
+ --with-ffmpeg=/opt/libav-static\
+ --with-libarch=lib\
+ --with-mysql=/usr\
+ --with-webdir=/srv/http/$pkgbase\
+ --with-webgroup=http\
+ --with-webhost=localhost\
+ --with-webuser=http
+
+ make V=0
+}
+
+package() {
+ cd $srcdir/ZoneMinder-$pkgver
+
+ make DESTDIR=$pkgdir install
+
+ mkdir -p $pkgdir/{etc/{httpd/conf/extra,rc.d},srv/http/{cgi-bin,$pkgbase},usr/{lib/systemd/system,share/{license/$pkgbase,$pkgbase/db}},var/{cache/$pkgbase,log/$pkgbase}}
+
+ chown -R http.http $pkgdir/{etc/zm.conf,var/{cache/$pkgbase,log/$pkgbase}}
+ chmod 0700 $pkgdir/etc/zm.conf
+
+ for i in events images temp; do
+ mv $pkgdir/srv/http/$pkgbase/$i $pkgdir/var/cache/$pkgbase/$i
+ ln -s /var/cache/$pkgbase/$i $pkgdir/srv/http/$pkgbase/$i
+ chown -h http.http $pkgdir/srv/http/$pkgbase/$i
+ done
+
+ ln -s /srv/http/cgi-bin $pkgdir/srv/http/$pkgbase
+ chown -h http.http $pkgdir/srv/http/{cgi-bin,$pkgbase,$pkgbase/cgi-bin}
+
+ ln -s /usr/share/cambozola/cambozola.jar $pkgdir/srv/http/$pkgbase
+
+ install -D -m 644 $srcdir/httpd-$pkgbase.conf $pkgdir/etc/httpd/conf/extra
+ install -D -m 644 $srcdir/$pkgbase $pkgdir/etc/rc.d
+ install -D -m 644 $srcdir/$pkgbase.service $pkgdir/usr/lib/systemd/system
+ install -D -m 644 COPYING $pkgdir/usr/share/license/$pkgbase
+ install -D -m 644 db/zm*.sql $pkgdir/usr/share/$pkgbase/db
+}
diff --git a/pcr/zoneminder-libav/httpd-zoneminder.conf b/pcr/zoneminder-libav/httpd-zoneminder.conf
new file mode 100644
index 000000000..aeb089bc1
--- /dev/null
+++ b/pcr/zoneminder-libav/httpd-zoneminder.conf
@@ -0,0 +1,20 @@
+# /etc/httpd/conf/extra/httpd-zm.conf
+# Config for zoneminder web app
+
+Alias /zm "/srv/http/zoneminder"
+<Directory "/srv/http/zoneminder">
+ Options -Indexes MultiViews FollowSymLinks
+ AllowOverride None
+ Order allow,deny
+ Allow from all
+ # The code unfortunately uses short tags in many places
+ php_value short_open_tag On
+</Directory>
+
+ScriptAlias /cgi-bin "/srv/http/cgi-bin"
+<Directory "/srv/http/cgi-bin">
+ AllowOverride None
+ Options ExecCGI FollowSymLinks
+ Order allow,deny
+ Allow from all
+</Directory>
diff --git a/pcr/zoneminder-libav/zoneminder b/pcr/zoneminder-libav/zoneminder
new file mode 100644
index 000000000..c4cbf4d3f
--- /dev/null
+++ b/pcr/zoneminder-libav/zoneminder
@@ -0,0 +1,63 @@
+#!/bin/bash
+
+daemon_name=zm
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+ start)
+ stat_busy "Starting Zoneminder"
+ /usr/bin/zmfix -a
+ if /usr/bin/zmpkg.pl start >/dev/null ; then
+ add_daemon $daemon_name
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping Zoneminder"
+ if /usr/bin/zmpkg.pl stop >/dev/null ; then
+ rm_daemon $daemon_name
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ reload)
+ stat_busy "Reloading Zoneminder"
+ if /usr/bin/zmpkg.pl graceful >/dev/null ; then
+ add_daemon $daemon_name
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ restart)
+ stat_busy "Restarting Zoneminder"
+ if /usr/bin/zmpkg.pl restart >/dev/null ; then
+ add_daemon $daemon_name
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ status)
+ stat_busy "Checking Zoneminder status";
+ ck_status $daemon_name
+ ;;
+
+ *)
+ echo "usage: $0 {start|stop|reload|restart|status}"
+esac
+
+exit 0
diff --git a/pcr/zoneminder-libav/zoneminder.install b/pcr/zoneminder-libav/zoneminder.install
new file mode 100644
index 000000000..ecacf6437
--- /dev/null
+++ b/pcr/zoneminder-libav/zoneminder.install
@@ -0,0 +1,185 @@
+pre_install() {
+ set -e
+ abort=false
+ if [ -L /srv/http/zoneminder/events ]; then
+ l=$(readlink /srv/http/zoneminder/events)
+ if [ $l != /var/cache/zoneminder/events ]; then
+ abort=true
+ fi
+ fi
+ if [ -L /srv/http/zoneminder/images ]; then
+ l=$(readlink /srv/http/zoneminder/images)
+ if [ $l != /var/cache/zoneminder/images ]; then
+ abort=true
+ fi
+ fi
+ if [ $abort = true ]; then
+ cat >&2 << EOF
+Aborting installation of zoneminder due to non-default symlinks in
+/srv/http/zoneminder for the images and/or events directory, which could
+result in loss of data. Please move your data in each of these directories to
+/var/cache/zoneminder before installing zoneminder from the package.
+EOF
+ exit 1
+ fi
+ exit 0
+}
+
+post_install() {
+ if [[ -d /var/log/zoneminder ]]; then
+ chmod 0755 /var/log/zoneminder
+ chown http.http /var/log/zoneminder
+ else
+ mkdir -m 0755 /var/log/zoneminder
+ chown http.http /var/log/zoneminder
+ fi
+ if [[ -d /tmp/zoneminder ]]; then
+ chmod 0700 /tmp/zoneminder
+ chown http.http /tmp/zoneminder
+ else
+ mkdir -m 0700 /tmp/zoneminder
+ chown http.http /tmp/zoneminder
+ fi
+ sed -i -e '
+ /^;extension=mysql.so/ s/^;//;
+ /^#extension=mysql.so/ s/^#//;
+ /^;extension=mysqli.so/ s/^;//;
+ /^#extension=mysqli.so/ s/^#//;
+ /^;extension=gd.so/ s/^;//;
+ /^#extension=gd.so/ s/^#//;
+ /^;extension=gettext.so/ s/^;//;
+ /^#extension=gettext.so/ s/^#//;
+ /^;extension=mcrypt.so/ s/^;//;
+ /^#extension=mcrypt.so/ s/^#//;
+ /^;extension=session.so/ s/^;//;
+ /^#extension=session.so/ s/^#//;
+ /^;extension=sockets.so/ s/^;//;
+ /^#extension=sockets.so/ s/^#//;
+ /^;extension=openssl.so/ s/^;//;
+ /^#extension=openssl.so/ s/^#//;
+ /^;extension=ftp.so/ s/^;//;
+ /^#extension=ftp.so/ s/^#//;
+ /^;extension=zip.so/ s/^;//;
+ /^#extension=zip.so/ s/^#//;
+ /^;open_basedir/ s/^;//;
+ /^#open_basedir/ s/^#//;
+ /^open_basedir/ s/:\/etc//;
+ /^open_basedir/ s/:\/etc\///;
+ /^open_basedir/ s/$/:\/etc/;
+ /^open_basedir/ s/:\/srv\/http\/zoneminder//;
+ /^open_basedir/ s/:\/srv\/http\/zoneminder\///;
+ /^open_basedir/ s/$/:\/srv\/http\/zoneminder/;
+ /^open_basedir/ s/:\/var\/cache\/zoneminder//;
+ /^open_basedir/ s/:\/var\/cache\/zoneminder\///;
+ /^open_basedir/ s/$/:\/var\/cache\/zoneminder/;
+ ' /etc/php/php.ini || read
+ sed -i -e '
+ /^LoadModule php5_module modules\/libphp5.so/d;
+ /^LoadModule rewrite_module modules\/mod_rewrite.so/ s/$/\nLoadModule php5_module modules\/libphp5.so/;
+ /^# PHP 5/d;
+ /^# ZoneMinder/d;
+ /^Include \/etc\/httpd\/conf\/extra\/php5_module.conf/d;
+ /^Include \/etc\/httpd\/conf\/extra\/httpd-zoneminder.conf/d;
+ /^Include conf\/extra\/httpd-default.conf/ s/$/\n\n# PHP 5\n\Include \/etc\/httpd\/conf\/extra\/php5_module.conf\n\n# ZoneMinder\nInclude \/etc\/httpd\/conf\/extra\/httpd-zoneminder.conf/;
+ ' /etc/httpd/conf/httpd.conf || read
+ gpasswd -a http video
+ cat << EOF
+Note for mysql:
+==> To run Zoneminder, you must install the database running mysql service (as root):
+==> "rc.d start mysqld" (in initscripts) or "systemctl start mysqld.service" (in systemd)
+==> and add Zoneminder database typing (with passsword):
+==> "mysqladmin --defaults-file=/etc/mysql/my.cnf -p -f reload"
+==> "cat /usr/share/zoneminder/db/zm_create.sql | mysql --defaults-file=/etc/mysql/my.cnf -p"
+==> "echo 'grant lock tables, alter,select,insert,update,delete on zm.* to 'zmuser'@localhost identified by "zmpass";' | mysql --defaults-file=/etc/mysql/my.cnf -p mysql"
+==> (or without passsword):
+==> "mysqladmin --defaults-file=/etc/mysql/my.cnf -f reload"
+==> "cat /usr/share/zoneminder/db/zm_create.sql | mysql --defaults-file=/etc/mysql/my.cnf"
+==> "echo 'grant lock tables, alter,select,insert,update,delete on zm.* to 'zmuser'@localhost identified by "zmpass";' | mysql --defaults-file=/etc/mysql/my.cnf mysql"
+
+Note for php:
+==> You must uncomment that line in /etc/php/php.ini:
+==> "extension=mysql.so"
+==> check and make sure these are uncommented:
+==> "extension=gd.so"
+==> "extension=gettext.so"
+==> "extension=mcrypt.so"
+==> "extension=mysqli.so"
+==> "extension=session.so"
+==> "extension=sockets.so"
+==> "extension=openssl.so"
+==> "extension=ftp.so"
+==> "extension=zip.so"
+==> check and add to open_basedir "/etc",
+==> "/srv/http/zoneminder" and "/var/cache/zoneminder" like so
+==> "open_basedir = /home:/tmp:/usr/share/pear:/etc:/srv/http/zoneminder:/var/cache/zoneminder"
+==> and set your timezone in php.ini:
+==> "date.timezone = <your_zone>/<your_city>"
+
+Note for apache:
+==> You must edit /etc/httpd/conf/httpd.conf and add the line:
+==> "LoadModule php5_module modules/libphp5.so"
+==> and:
+==> "Include /etc/httpd/conf/extra/php5_module.conf"
+==> "Include /etc/httpd/conf/extra/httpd-zoneminder.conf"
+EOF
+}
+
+post_upgrade() {
+ post_install
+ /usr/bin/zmupdate.pl -f >/dev/null
+}
+
+post_remove() {
+ if [[ -d /tmp/zoneminder ]]; then
+ rm -vr /tmp/zoneminder
+ fi
+ sed -i -e '
+ /^open_basedir/ s/:\/srv\/http\/zoneminder//;
+ /^open_basedir/ s/:\/srv\/http\/zoneminder\///;
+ /^open_basedir/ s/:\/var\/cache\/zoneminder\///
+ ' /etc/php/php.ini || read
+ sed -i -e '
+ /^# ZoneMinder/d;
+ /Include \/etc\/httpd\/conf\/extra\/httpd-zoneminder.conf/d;
+ ' /etc/httpd/conf/httpd.conf || read
+ cat << EOF
+Note:
+==> To clean Zoneminder mysql database, run as root (with password):
+==> "echo 'delete from user where User="zmuser";' | mysql --defaults-file=/etc/mysql/my.cnf -p mysql"
+==> "echo 'delete from db where User="zmuser";' | mysql --defaults-file=/etc/mysql/my.cnf -p mysql"
+==> "mysqladmin --defaults-file=/etc/mysql/my.cnf -p -f drop zm"
+==> (or without password):
+==> "echo 'delete from user where User="zmuser";' | mysql --defaults-file=/etc/mysql/my.cnf mysql"
+==> "echo 'delete from db where User="zmuser";' | mysql --defaults-file=/etc/mysql/my.cnf mysql"
+==> "mysqladmin --defaults-file=/etc/mysql/my.cnf -f drop zm"
+
+==> Disable http with php if it isn't needed with others servers,
+==> comment or remove that lines in /etc/httpd/conf/httpd.conf:
+==> "LoadModule php5_module modules/libphp5.so"
+==> "Include /etc/httpd/conf/extra/php5_module.conf"
+
+==> Remove line in /etc/httpd/conf/httpd.conf:
+==> "Include /etc/httpd/conf/extra/httpd-zoneminder.conf"
+
+==> Disable php with mysql if it isn't needed with others servers,
+==> comment that lines in /etc/php/php.ini:
+==> "extension=mysql.so"
+==> "extension=gd.so"
+==> "extension=gettext.so"
+==> "extension=mcrypt.so"
+==> "extension=mysqli.so"
+==> "extension=session.so"
+==> "extension=sockets.so"
+==> "date.timezone = <my_zone>/<my_city>"
+
+==> Drop http user on video group if it isn't needed with others servers:
+==> gpasswd -d http video
+
+==> Edit /etc/php/php.ini and remove "/etc", "/srv/http/zoneminder" and "/var/cache/zoneminder"
+==> in the "open_basedir".
+
+==> Remove log files and "zonemider" directory in "/var/log/zoneminder".
+
+==> Backup and remove "events", "images" and "temp" dirs in "/var/cache/zoneminder".
+EOF
+}
diff --git a/pcr/zoneminder-libav/zoneminder.service b/pcr/zoneminder-libav/zoneminder.service
new file mode 100644
index 000000000..05cae6f91
--- /dev/null
+++ b/pcr/zoneminder-libav/zoneminder.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Capture, analyse, record and monitor video security cameras
+After=network.target remote-fs.target
+Required=mysqld.service
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/zmpkg.pl start
+ExecRestart=/usr/bin/zmpkg.pl restart
+ExecStop=/usr/bin/zmpkg.pl stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/pcr/zoneminder-lts/PKGBUILD b/pcr/zoneminder-lts/PKGBUILD
new file mode 100644
index 000000000..1ae9441d2
--- /dev/null
+++ b/pcr/zoneminder-lts/PKGBUILD
@@ -0,0 +1,210 @@
+# Maintainer: Vojtech Aschenbrenner <v@asch.cz>
+# Contributor: Jason Gardner <buhrietoe@gmail.com>
+# Contributor: Ross melin <rdmelin@gmail.com>
+# Maintainer (Parabola): Márcio Silva <coadde@lavabit.com>
+# Contributor (Parabola): André Silva <emulatorman@lavabit.com>
+
+# based of debian squeeze package
+
+pkgbase=zoneminder
+pkgname=zoneminder-lts
+pkgver=1.24.4
+pkgrel=1
+pkgdesc='Capture, analyse, record and monitor video security cameras'
+arch=(
+ i686
+ x86_64
+ mips64el
+)
+backup=(
+ etc/zm.conf
+)
+url="http://www.$pkgbase.com"
+license=(
+ GPL
+)
+depends=(
+ apache
+ cambozola
+ ffmpeg-static
+ gnutls
+ mysql
+ perl-archive-zip
+ perl-date-manip
+ perl-dbd-mysql
+ perl-dbi
+ perl-expect
+ perl-libwww
+ perl-mime-lite
+ perl-mime-tools
+ perl-php-serialization
+ perl-net-sftp-foreign
+ perl-sys-mmap
+ perl-time-modules
+ perl-x10
+ php
+ php-apache
+ php-gd
+ php-mcrypt
+)
+makedepends=(
+ netpbm
+)
+optdepends=(
+ netpbm
+)
+provides=(
+ $pkgbase
+)
+conflicts=(
+ $pkgbase
+)
+install=$pkgbase.install
+source=(
+ http://www.$pkgbase.com/downloads/ZoneMinder-$pkgver.tar.gz
+ httpd-$pkgbase.conf
+ $pkgbase
+ $pkgbase.service
+ patch-ffmpeg-0.11.patch
+)
+sha512sums=(
+ 8bf01f029a8fbc140bfb73f3909057ee09c2439397773953da143218fe13d137b6fae61e3f46e3cbf6824ffe39329bba59eec767e57278e2dfbfbc630772ef5d
+ 4ce0d8eba9d006d258f5b8a83920fc17f1f602b96518d37b7a47cd9b6eb84ef2587641a6ba839a469c3f0e33b46475866187279ae3f8be0d4054b074ee5d6b08
+ ab4e1d5ddaf4d9cd53d6ca59d7965902afd6a2dc830fbbafa270736c52c2b3563075fee860bb0276466f96e9dbfb71b259ac45a4ae2e4ead8eaec154a0159eb0
+ cfb0eb87a989236c72741a496ddc6a73aa2696e5beaaca4836d3c231ddb24c7ef5e9f65e7afa49674f2115cbfa4a07c75486e1947ce294c816ddbb875f3b99cf
+ 382799ad6add1632d934544230520f942dae37913b58cfa19e0cb2b11e7002267b1fdb9aa535f2217bcccf0c85c4d754f316dc3980a3ca267e5b3f5500536024
+)
+
+build() {
+ cd $srcdir/ZoneMinder-$pkgver
+
+ # ZM_RUNDIR need change to run dir
+ export CPPFLAGS=-D__STDC_CONSTANT_MACROS\
+ ZM_LOGDIR=/var/log/$pkgbase\
+ ZM_RUNDIR=/tmp/$pkgbase\
+ ZM_SSL_LIB=gnutls\
+ ZM_TMPDIR=/tmp/$pkgbase
+
+ # Patch for GCC 4.7.x
+ #sed -i -e 's/^#include <errno.h>/#include <errno.h>\n#include <unistd.h>/'\
+ # src/zm_logger.cpp || read
+ sed -i -e 's/^#include <pthread.h>/#include <pthread.h>\n#include <unistd.h>/'\
+ src/zm_thread.h || read
+
+ # Patch for automake 1.12
+ sed -i -e '/am__api_version=/ s/1.11/1.12/'\
+ configure || read
+
+ # Patch for disable ZM_CHECK_FOR_UPDATES
+ sed -i -e '/ZM_CHECK_FOR_UPDATES/,+1 s/yes/no/'\
+ scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in || read
+
+ # Patch for support html5 video and flv
+ sed -i -e '/ZM_MPEG_LIVE_FORMAT/,+1 s/swf/webm/;/ZM_MPEG_REPLAY_FORMAT/,+1 s/swf/webm/;
+ /ZM_FFMPEG_FORMATS/,+1 s/mpg mpeg wmv asf avi\* mov swf 3gp\*\*/mpg mpeg wmv asf avi\* mov flv swf 3gp\*\* webm ogg h254/'\
+ scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in || read
+
+ # Patch for change path run dir
+ sed -i -e '/ZM_PATH_SOCKS/,+1 s/TMP/RUN/'\
+ scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in || read
+
+ # Patch for change ZM name to ZoneMinder
+ sed -i -e '/ZM_WEB_TITLE_PREFIX/,+1 s/"ZM"/"ZoneMinder"/'\
+ scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in || read
+
+ # Patch for v4l2 convert support
+ sed -i -e "s/$ENV{SHELL} = \'\/bin\/sh\' if exists $ENV{SHELL};/$ENV{SHELL} = \'\/bin\/sh\' if exists $ENV{SHELL};\n$ENV{LD_PRELOAD} = \'\/usr\/lib\/libv4l\/v4l2convert.so\' ;/"\
+ scripts/zmdc.pl.in || read
+
+ # Patch for add more socket tries
+ sed -i -e '/$max_socket_tries/ s/3/15/'\
+ web/ajax/stream.php || read
+
+ # Patch for wrong "suppported"
+ sed -i -e 's/suppported/supported/'\
+ src/zm_local_camera.cpp || read
+
+ # Patch for type cast in linux-libre kernel 3.5
+ sed -i -e 's/enum v4l2_buf_type type = v4l2_data.fmt.type;/enum v4l2_buf_type type = (v4l2_buf_type)v4l2_data.fmt.type;/'\
+ src/zm_local_camera.cpp || read
+
+ # Patch for drop custom perl install paths
+ sed -i -e '/# Slight hack for non-standard perl install paths/,+10 d;
+ s/^AC_SUBST(ZM_CONFIG,"$SYSCONFDIR\/zm.conf")/AC_SUBST(ZM_CONFIG,"$SYSCONFDIR\/zm.conf")\n\nEXTRA_PERL_LIB="# Include from system perl paths only"\nPERL_MM_PARMS="INSTALLDIRS=vendor"/'\
+ configure.ac
+
+ # Patch for support new ffmpeg
+ patch -p1 < $srcdir/patch-ffmpeg-0.11.patch
+# sed -i -e 's/if ( av_open_input_file( \&mFormatContext, mPath.c_str(), NULL, 0, NULL ) !=0 )/if ( avformat_open_input( \&mFormatContext, mPath.c_str(), NULL, NULL ) !=0 )/;
+# s/if ( avcodec_open( mCodecContext, mCodec ) < 0 )/if ( avcodec_open2( mCodecContext, mCodec, NULL ) < 0 )/'\
+# src/zm_ffmpeg_camera.cpp
+# sed -i -e 's/if ( av_set_parameters(ofc, NULL) < 0 )/\/\*\n \* Removed in last ffmpeg\n \* if ( av_set_parameters(ofc, NULL) < 0 )/;
+# /Panic( "Invalid output format parameters" );/,+1 s/}/}\*/;
+# /if ( avio_open(&ofc->pb, filename, URL_WRONLY) < 0 )/ s/URL_WRONLY/AVIO_FLAG_WRITE/;
+# s/av_write_header(ofc);/avformat_write_header(ofc, NULL);/'\
+# src/zm_mpeg.cpp
+ sed -i -e 's/avcodec_init/avcodec_open/'\
+ configure{,.ac}
+
+ # Patch for support ffmpeg with <libavutil/mathematics.h> and C library
+ sed -i -e 's/^extern "C" {/extern "C" {\n#ifdef _STDINT_H\n#undef _STDINT_H\n#endif\n#include <stdint.h>/
+ s/^#include <libavutil\/avutil.h>/#include <libavutil\/avutil.h>\n#include <libavutil\/mathematics.h>/'\
+ src/zm_ffmpeg.h
+ sed -i -e 's/^AM_CONFIG_HEADER(config.h)/AM_CONFIG_HEADER(config.h)\n\nAC_SUBST([AM_CXXFLAGS], [-D__STDC_CONSTANT_MACROS])/;
+ s/^AC_CHECK_HEADERS(mysql\/mysql.h,,AC_MSG_ERROR(zm requires MySQL headers - check that MySQL development packages are installed),)/AC_CHECK_HEADERS(mysql\/mysql.h,,AC_MSG_ERROR(zm requires MySQL headers - check that MySQL development packages are installed),)\nAC_LANG_PUSH([C])/;
+ s/^AC_CHECK_HEADERS(libswscale\/swscale.h,,,)/AC_CHECK_HEADERS(libswscale\/swscale.h,,,)\nAC_LANG_POP([C])/'\
+ configure.ac
+
+ # Patch for wrong install run, tmp and log dir
+ sed -i -e '/ install-data-hook/d;/install-data-hook:/d;/# Yes, you are correct. This is a HACK!/d;
+ / ( cd $(DESTDIR)$(sysconfdir); chown $(webuser):$(webgroup) $(sysconf_DATA); chmod 600 $(sysconf_DATA) )/d;
+ / ( if ! test -e $(ZM_RUNDIR); then mkdir -p $(ZM_RUNDIR); fi; if test "$(ZM_RUNDIR)" != "\/var\/run"; then chown $(webuser):$(webgroup) $(ZM_RUNDIR); chmod u+w $(ZM_RUNDIR); fi )/d;
+ / ( if ! test -e $(ZM_TMPDIR); then mkdir -m 700 -p $(ZM_TMPDIR); fi; if test "$(ZM_TMPDIR)" != "\/tmp"; then chown $(webuser):$(webgroup) $(ZM_TMPDIR); chmod u+w $(ZM_TMPDIR); fi )/d;
+ / ( if ! test -e $(ZM_LOGDIR); then mkdir -p $(ZM_LOGDIR); fi; if test "$(ZM_LOGDIR)" != "\/var\/log"; then chown $(webuser):$(webgroup) $(ZM_LOGDIR); chmod u+w $(ZM_LOGDIR); fi )/,+1 d'\
+ Makefile.{am,in}
+
+ ./configure --prefix=/usr\
+ --enable-crashtrace=no\
+ --enable-debug=no\
+ --enable-mmap=yes\
+ --sysconfdir=/etc\
+ --with-cgidir=/srv/http/cgi-bin\
+ --with-extralibs='-L/usr/lib -L/usr/lib/mysql'\
+ --with-ffmpeg=/usr\
+ --with-libarch=lib\
+ --with-mysql=/usr\
+ --with-webdir=/srv/http/$pkgbase\
+ --with-webgroup=http\
+ --with-webhost=localhost\
+ --with-webuser=http
+
+ make V=0
+}
+
+package() {
+ cd $srcdir/ZoneMinder-$pkgver
+
+ make DESTDIR=$pkgdir install
+
+ mkdir -p $pkgdir/{etc/{httpd/conf/extra,rc.d},srv/http/{cgi-bin,$pkgbase},usr/{lib/systemd/system,share/{license/$pkgbase,$pkgbase/db}},var/{cache/$pkgbase,log/$pkgbase}}
+
+ chown -R http.http $pkgdir/{etc/zm.conf,var/{cache/$pkgbase,log/$pkgbase}}
+ chmod 0700 $pkgdir/etc/zm.conf
+
+ for i in events images temp; do
+ mv $pkgdir/srv/http/$pkgbase/$i $pkgdir/var/cache/$pkgbase/$i
+ ln -s /var/cache/$pkgbase/$i $pkgdir/srv/http/$pkgbase/$i
+ chown -h http.http $pkgdir/srv/http/$pkgbase/$i
+ done
+
+ ln -s /srv/http/cgi-bin $pkgdir/srv/http/$pkgbase
+ chown -h http.http $pkgdir/srv/http/{cgi-bin,$pkgbase,$pkgbase/cgi-bin}
+
+ ln -s /usr/share/cambozola/cambozola.jar $pkgdir/srv/http/$pkgbase
+
+ install -D -m 644 $srcdir/httpd-$pkgbase.conf $pkgdir/etc/httpd/conf/extra
+ install -D -m 644 $srcdir/$pkgbase $pkgdir/etc/rc.d
+ install -D -m 644 $srcdir/$pkgbase.service $pkgdir/usr/lib/systemd/system
+ install -D -m 644 COPYING $pkgdir/usr/share/license/$pkgbase
+ install -D -m 644 db/zm*.sql $pkgdir/usr/share/$pkgbase/db
+}
diff --git a/pcr/zoneminder-lts/httpd-zoneminder.conf b/pcr/zoneminder-lts/httpd-zoneminder.conf
new file mode 100644
index 000000000..aeb089bc1
--- /dev/null
+++ b/pcr/zoneminder-lts/httpd-zoneminder.conf
@@ -0,0 +1,20 @@
+# /etc/httpd/conf/extra/httpd-zm.conf
+# Config for zoneminder web app
+
+Alias /zm "/srv/http/zoneminder"
+<Directory "/srv/http/zoneminder">
+ Options -Indexes MultiViews FollowSymLinks
+ AllowOverride None
+ Order allow,deny
+ Allow from all
+ # The code unfortunately uses short tags in many places
+ php_value short_open_tag On
+</Directory>
+
+ScriptAlias /cgi-bin "/srv/http/cgi-bin"
+<Directory "/srv/http/cgi-bin">
+ AllowOverride None
+ Options ExecCGI FollowSymLinks
+ Order allow,deny
+ Allow from all
+</Directory>
diff --git a/pcr/zoneminder-lts/patch-ffmpeg-0.11.patch b/pcr/zoneminder-lts/patch-ffmpeg-0.11.patch
new file mode 100644
index 000000000..ac56e4c69
--- /dev/null
+++ b/pcr/zoneminder-lts/patch-ffmpeg-0.11.patch
@@ -0,0 +1,60 @@
+diff --git a/src/zm_ffmpeg_camera.cpp b/src/zm_ffmpeg_camera.cpp
+index 42927f6..61df606 100644
+--- a/src/zm_ffmpeg_camera.cpp
++++ b/src/zm_ffmpeg_camera.cpp
+@@ -91,7 +91,7 @@ int FfmpegCamera::PrimeCapture()
+ Info( "Priming capture from %s", mPath.c_str() );
+
+ // Open the input, not necessarily a file
+- if ( av_open_input_file( &mFormatContext, mPath.c_str(), NULL, 0, NULL ) !=0 )
++ if ( avformat_open_input( &mFormatContext, mPath.c_str(), NULL, NULL ) !=0 )
+ Fatal( "Unable to open input %s due to: %s", mPath.c_str(), strerror(errno) );
+
+ // Locate stream info from input
+@@ -122,7 +122,7 @@ int FfmpegCamera::PrimeCapture()
+ Fatal( "Can't find codec for video stream from %s", mPath.c_str() );
+
+ // Open the codec
+- if ( avcodec_open( mCodecContext, mCodec ) < 0 )
++ if ( avcodec_open2( mCodecContext, mCodec, NULL ) < 0 )
+ Fatal( "Unable to open codec for video stream from %s", mPath.c_str() );
+
+ // Allocate space for the native video frame
+
+diff --git a/src/zm_mpeg.cpp b/src/zm_mpeg.cpp
+index f5de2a4..d614346 100644
+--- a/src/zm_mpeg.cpp
++++ b/src/zm_mpeg.cpp
+@@ -130,10 +130,12 @@ void VideoStream::SetParameters()
+ {
+ /* set the output parameters (must be done even if no
+ parameters). */
+- if ( av_set_parameters(ofc, NULL) < 0 )
++ /*
++ * Removed in last ffmpeg
++ * if ( av_set_parameters(ofc, NULL) < 0 )
+ {
+ Panic( "Invalid output format parameters" );
+- }
++ }*/
+ //dump_format(ofc, 0, filename, 1);
+ }
+
+@@ -222,7 +224,7 @@ void VideoStream::OpenStream()
+ if ( !(of->flags & AVFMT_NOFILE) )
+ {
+ #if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(51,2,1)
+- if ( avio_open(&ofc->pb, filename, URL_WRONLY) < 0 )
++ if ( avio_open(&ofc->pb, filename, AVIO_FLAG_WRITE) < 0 )
+ #else
+ if ( url_fopen(&ofc->pb, filename, URL_WRONLY) < 0 )
+ #endif
+@@ -241,7 +243,7 @@ void VideoStream::OpenStream()
+ }
+
+ /* write the stream header, if any */
+- av_write_header(ofc);
++ avformat_write_header(ofc, NULL);
+ }
+
+ VideoStream::VideoStream( const char *filename, const char *format, int bitrate, double frame_rate, int colours, int subpixelorder, int width, int height )
diff --git a/pcr/zoneminder-lts/zoneminder b/pcr/zoneminder-lts/zoneminder
new file mode 100644
index 000000000..c4cbf4d3f
--- /dev/null
+++ b/pcr/zoneminder-lts/zoneminder
@@ -0,0 +1,63 @@
+#!/bin/bash
+
+daemon_name=zm
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+ start)
+ stat_busy "Starting Zoneminder"
+ /usr/bin/zmfix -a
+ if /usr/bin/zmpkg.pl start >/dev/null ; then
+ add_daemon $daemon_name
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ stop)
+ stat_busy "Stopping Zoneminder"
+ if /usr/bin/zmpkg.pl stop >/dev/null ; then
+ rm_daemon $daemon_name
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ reload)
+ stat_busy "Reloading Zoneminder"
+ if /usr/bin/zmpkg.pl graceful >/dev/null ; then
+ add_daemon $daemon_name
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ restart)
+ stat_busy "Restarting Zoneminder"
+ if /usr/bin/zmpkg.pl restart >/dev/null ; then
+ add_daemon $daemon_name
+ stat_done
+ else
+ stat_fail
+ exit 1
+ fi
+ ;;
+
+ status)
+ stat_busy "Checking Zoneminder status";
+ ck_status $daemon_name
+ ;;
+
+ *)
+ echo "usage: $0 {start|stop|reload|restart|status}"
+esac
+
+exit 0
diff --git a/pcr/zoneminder-lts/zoneminder.install b/pcr/zoneminder-lts/zoneminder.install
new file mode 100644
index 000000000..ecacf6437
--- /dev/null
+++ b/pcr/zoneminder-lts/zoneminder.install
@@ -0,0 +1,185 @@
+pre_install() {
+ set -e
+ abort=false
+ if [ -L /srv/http/zoneminder/events ]; then
+ l=$(readlink /srv/http/zoneminder/events)
+ if [ $l != /var/cache/zoneminder/events ]; then
+ abort=true
+ fi
+ fi
+ if [ -L /srv/http/zoneminder/images ]; then
+ l=$(readlink /srv/http/zoneminder/images)
+ if [ $l != /var/cache/zoneminder/images ]; then
+ abort=true
+ fi
+ fi
+ if [ $abort = true ]; then
+ cat >&2 << EOF
+Aborting installation of zoneminder due to non-default symlinks in
+/srv/http/zoneminder for the images and/or events directory, which could
+result in loss of data. Please move your data in each of these directories to
+/var/cache/zoneminder before installing zoneminder from the package.
+EOF
+ exit 1
+ fi
+ exit 0
+}
+
+post_install() {
+ if [[ -d /var/log/zoneminder ]]; then
+ chmod 0755 /var/log/zoneminder
+ chown http.http /var/log/zoneminder
+ else
+ mkdir -m 0755 /var/log/zoneminder
+ chown http.http /var/log/zoneminder
+ fi
+ if [[ -d /tmp/zoneminder ]]; then
+ chmod 0700 /tmp/zoneminder
+ chown http.http /tmp/zoneminder
+ else
+ mkdir -m 0700 /tmp/zoneminder
+ chown http.http /tmp/zoneminder
+ fi
+ sed -i -e '
+ /^;extension=mysql.so/ s/^;//;
+ /^#extension=mysql.so/ s/^#//;
+ /^;extension=mysqli.so/ s/^;//;
+ /^#extension=mysqli.so/ s/^#//;
+ /^;extension=gd.so/ s/^;//;
+ /^#extension=gd.so/ s/^#//;
+ /^;extension=gettext.so/ s/^;//;
+ /^#extension=gettext.so/ s/^#//;
+ /^;extension=mcrypt.so/ s/^;//;
+ /^#extension=mcrypt.so/ s/^#//;
+ /^;extension=session.so/ s/^;//;
+ /^#extension=session.so/ s/^#//;
+ /^;extension=sockets.so/ s/^;//;
+ /^#extension=sockets.so/ s/^#//;
+ /^;extension=openssl.so/ s/^;//;
+ /^#extension=openssl.so/ s/^#//;
+ /^;extension=ftp.so/ s/^;//;
+ /^#extension=ftp.so/ s/^#//;
+ /^;extension=zip.so/ s/^;//;
+ /^#extension=zip.so/ s/^#//;
+ /^;open_basedir/ s/^;//;
+ /^#open_basedir/ s/^#//;
+ /^open_basedir/ s/:\/etc//;
+ /^open_basedir/ s/:\/etc\///;
+ /^open_basedir/ s/$/:\/etc/;
+ /^open_basedir/ s/:\/srv\/http\/zoneminder//;
+ /^open_basedir/ s/:\/srv\/http\/zoneminder\///;
+ /^open_basedir/ s/$/:\/srv\/http\/zoneminder/;
+ /^open_basedir/ s/:\/var\/cache\/zoneminder//;
+ /^open_basedir/ s/:\/var\/cache\/zoneminder\///;
+ /^open_basedir/ s/$/:\/var\/cache\/zoneminder/;
+ ' /etc/php/php.ini || read
+ sed -i -e '
+ /^LoadModule php5_module modules\/libphp5.so/d;
+ /^LoadModule rewrite_module modules\/mod_rewrite.so/ s/$/\nLoadModule php5_module modules\/libphp5.so/;
+ /^# PHP 5/d;
+ /^# ZoneMinder/d;
+ /^Include \/etc\/httpd\/conf\/extra\/php5_module.conf/d;
+ /^Include \/etc\/httpd\/conf\/extra\/httpd-zoneminder.conf/d;
+ /^Include conf\/extra\/httpd-default.conf/ s/$/\n\n# PHP 5\n\Include \/etc\/httpd\/conf\/extra\/php5_module.conf\n\n# ZoneMinder\nInclude \/etc\/httpd\/conf\/extra\/httpd-zoneminder.conf/;
+ ' /etc/httpd/conf/httpd.conf || read
+ gpasswd -a http video
+ cat << EOF
+Note for mysql:
+==> To run Zoneminder, you must install the database running mysql service (as root):
+==> "rc.d start mysqld" (in initscripts) or "systemctl start mysqld.service" (in systemd)
+==> and add Zoneminder database typing (with passsword):
+==> "mysqladmin --defaults-file=/etc/mysql/my.cnf -p -f reload"
+==> "cat /usr/share/zoneminder/db/zm_create.sql | mysql --defaults-file=/etc/mysql/my.cnf -p"
+==> "echo 'grant lock tables, alter,select,insert,update,delete on zm.* to 'zmuser'@localhost identified by "zmpass";' | mysql --defaults-file=/etc/mysql/my.cnf -p mysql"
+==> (or without passsword):
+==> "mysqladmin --defaults-file=/etc/mysql/my.cnf -f reload"
+==> "cat /usr/share/zoneminder/db/zm_create.sql | mysql --defaults-file=/etc/mysql/my.cnf"
+==> "echo 'grant lock tables, alter,select,insert,update,delete on zm.* to 'zmuser'@localhost identified by "zmpass";' | mysql --defaults-file=/etc/mysql/my.cnf mysql"
+
+Note for php:
+==> You must uncomment that line in /etc/php/php.ini:
+==> "extension=mysql.so"
+==> check and make sure these are uncommented:
+==> "extension=gd.so"
+==> "extension=gettext.so"
+==> "extension=mcrypt.so"
+==> "extension=mysqli.so"
+==> "extension=session.so"
+==> "extension=sockets.so"
+==> "extension=openssl.so"
+==> "extension=ftp.so"
+==> "extension=zip.so"
+==> check and add to open_basedir "/etc",
+==> "/srv/http/zoneminder" and "/var/cache/zoneminder" like so
+==> "open_basedir = /home:/tmp:/usr/share/pear:/etc:/srv/http/zoneminder:/var/cache/zoneminder"
+==> and set your timezone in php.ini:
+==> "date.timezone = <your_zone>/<your_city>"
+
+Note for apache:
+==> You must edit /etc/httpd/conf/httpd.conf and add the line:
+==> "LoadModule php5_module modules/libphp5.so"
+==> and:
+==> "Include /etc/httpd/conf/extra/php5_module.conf"
+==> "Include /etc/httpd/conf/extra/httpd-zoneminder.conf"
+EOF
+}
+
+post_upgrade() {
+ post_install
+ /usr/bin/zmupdate.pl -f >/dev/null
+}
+
+post_remove() {
+ if [[ -d /tmp/zoneminder ]]; then
+ rm -vr /tmp/zoneminder
+ fi
+ sed -i -e '
+ /^open_basedir/ s/:\/srv\/http\/zoneminder//;
+ /^open_basedir/ s/:\/srv\/http\/zoneminder\///;
+ /^open_basedir/ s/:\/var\/cache\/zoneminder\///
+ ' /etc/php/php.ini || read
+ sed -i -e '
+ /^# ZoneMinder/d;
+ /Include \/etc\/httpd\/conf\/extra\/httpd-zoneminder.conf/d;
+ ' /etc/httpd/conf/httpd.conf || read
+ cat << EOF
+Note:
+==> To clean Zoneminder mysql database, run as root (with password):
+==> "echo 'delete from user where User="zmuser";' | mysql --defaults-file=/etc/mysql/my.cnf -p mysql"
+==> "echo 'delete from db where User="zmuser";' | mysql --defaults-file=/etc/mysql/my.cnf -p mysql"
+==> "mysqladmin --defaults-file=/etc/mysql/my.cnf -p -f drop zm"
+==> (or without password):
+==> "echo 'delete from user where User="zmuser";' | mysql --defaults-file=/etc/mysql/my.cnf mysql"
+==> "echo 'delete from db where User="zmuser";' | mysql --defaults-file=/etc/mysql/my.cnf mysql"
+==> "mysqladmin --defaults-file=/etc/mysql/my.cnf -f drop zm"
+
+==> Disable http with php if it isn't needed with others servers,
+==> comment or remove that lines in /etc/httpd/conf/httpd.conf:
+==> "LoadModule php5_module modules/libphp5.so"
+==> "Include /etc/httpd/conf/extra/php5_module.conf"
+
+==> Remove line in /etc/httpd/conf/httpd.conf:
+==> "Include /etc/httpd/conf/extra/httpd-zoneminder.conf"
+
+==> Disable php with mysql if it isn't needed with others servers,
+==> comment that lines in /etc/php/php.ini:
+==> "extension=mysql.so"
+==> "extension=gd.so"
+==> "extension=gettext.so"
+==> "extension=mcrypt.so"
+==> "extension=mysqli.so"
+==> "extension=session.so"
+==> "extension=sockets.so"
+==> "date.timezone = <my_zone>/<my_city>"
+
+==> Drop http user on video group if it isn't needed with others servers:
+==> gpasswd -d http video
+
+==> Edit /etc/php/php.ini and remove "/etc", "/srv/http/zoneminder" and "/var/cache/zoneminder"
+==> in the "open_basedir".
+
+==> Remove log files and "zonemider" directory in "/var/log/zoneminder".
+
+==> Backup and remove "events", "images" and "temp" dirs in "/var/cache/zoneminder".
+EOF
+}
diff --git a/pcr/zoneminder-lts/zoneminder.service b/pcr/zoneminder-lts/zoneminder.service
new file mode 100644
index 000000000..05cae6f91
--- /dev/null
+++ b/pcr/zoneminder-lts/zoneminder.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Capture, analyse, record and monitor video security cameras
+After=network.target remote-fs.target
+Required=mysqld.service
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/zmpkg.pl start
+ExecRestart=/usr/bin/zmpkg.pl restart
+ExecStop=/usr/bin/zmpkg.pl stop
+
+[Install]
+WantedBy=multi-user.target