summaryrefslogtreecommitdiffstats
path: root/abs/core/zoneminder/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/zoneminder/PKGBUILD')
-rw-r--r--abs/core/zoneminder/PKGBUILD310
1 files changed, 114 insertions, 196 deletions
diff --git a/abs/core/zoneminder/PKGBUILD b/abs/core/zoneminder/PKGBUILD
index 33118bd..75b3301 100644
--- a/abs/core/zoneminder/PKGBUILD
+++ b/abs/core/zoneminder/PKGBUILD
@@ -1,218 +1,136 @@
-# Maintainer: Vojtech Aschenbrenner <v@asch.cz>
+# Contributor: Troy Will <troydwill@gmail.com>
+# Contributor: /dev/rs0 </dev/rs0@secretco.de.com>
+# Contributor: Jacek Burghardt <jacek@hebe.us>
+# Contributor: 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): Márcio Silva <coadde@lavabit.com>
# Contributor (Parabola): André Silva <emulatorman@lavabit.com>
-
-# based of debian squeeze package
-
+# Orginally based on a Debian Squeeze package
+
+pkgbase=zoneminder
pkgname=zoneminder
-pkgver=1.25.0
-pkgrel=23
+pkgver=1.28.0
+pkgrel=1
pkgdesc='Capture, analyse, record and monitor video security cameras'
-arch=(
- i686
- x86_64
- mips64el
-)
-backup=(
- etc/zm.conf
-)
-url="http://www.$pkgname.com"
-license=(
- GPL
-)
+arch=( i686 x86_64 mips64el arm )
+
+backup=( etc/zm.conf )
+url="https://github.com/ZoneMinder/ZoneMinder/releases"
+license=( GPL )
+
depends=(
- #apache
- lighttpd
- cambozola
- #ffmpeg-static
- ffmpeg
- 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
+ lighttpd
+ cambozola
+ 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
+ netpbm
+ cmake
)
+
optdepends=(
- netpbm
+ netpbm
)
-install=$pkgname.install
+
+install=$pkgbase.install
+
source=(
- http://www.$pkgname.com/downloads/ZoneMinder-$pkgver.tar.gz
- httpd-$pkgname.conf
- $pkgname
- $pkgname.service
- patch-ffmpeg-0.11.patch
- zm.include
- zm.sysctrl.conf
- zm_gen_light.conf
+ https://github.com/ZoneMinder/ZoneMinder/archive/v$pkgver.tar.gz
+ httpd-zoneminder.conf
+ zoneminder.service
+ zm.include
+ zm.sysctrl.conf
+ zm_gen_light.conf
)
-
+
build() {
- cd $srcdir/ZoneMinder-$pkgver
-
- # ZM_RUNDIR need change to run dir
- export CPPFLAGS=-D__STDC_CONSTANT_MACROS\
- ZM_LOGDIR=/var/log/$pkgname\
- ZM_RUNDIR=/tmp/$pkgname\
- ZM_SSL_LIB=gnutls\
- ZM_TMPDIR=/tmp/$pkgname
-
- # 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 v4l1 compat 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\/v4l1compat.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=/data/srv/httpd/cgi-bin\
- --with-extralibs='-L/usr/lib -L/usr/lib/mysql'\
- --with-ffmpeg=/usr\
- --with-libarch=lib\
- --with-mysql=/usr\
- --with-webdir=/data/srv/httpd/$pkgname\
- --with-webgroup=http\
- --with-webhost=localhost\
- --with-webuser=http
-
- make V=0
+ cd $srcdir/ZoneMinder-$pkgver
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr \
+ -DZM_CGIDIR=/data/srv/http/cgi-bin \
+ -DZM_WEBDIR=/data/srv/http/zoneminder \
+ -DZM_WEB_USER=http \
+ -DZM_CONTENTDIR=/var/cache/zoneminder \
+ -DZM_LOGDIR=/var/log/zoneminder \
+ -DZM_RUNDIR=/var/run/zm \
+ -DZM_TMPDIR=/var/tmp \
+ -DZM_SOCKDIR=/data/srv/zoneminder/socks/ .
+
+ make V=0
}
-
+
package() {
- cd $srcdir/ZoneMinder-$pkgver
-
- make DESTDIR=$pkgdir install
-
- mkdir -p $pkgdir/{etc/{httpd/conf/extra,rc.d},data/srv/httpd/{cgi-bin,$pkgname},usr/{lib/systemd/system,share/{license/$pkgname,$pkgname/db}},var/{cache/$pkgname,log/$pkgname}}
-
- chown -R http.http $pkgdir/{etc/zm.conf,var/{cache/$pkgname,log/$pkgname}}
- chmod 0700 $pkgdir/etc/zm.conf
-
- for i in events images temp; do
- mv $pkgdir/data/srv/httpd/$pkgname/$i $pkgdir/var/cache/$pkgname/$i
- ln -s /var/cache/$pkgname/$i $pkgdir/data/srv/httpd/$pkgname/$i
- chown -h http.http $pkgdir/data/srv/httpd/$pkgname/$i
- done
-
- ln -s /data/srv/httpd/cgi-bin $pkgdir/data/srv/httpd/$pkgname
- chown -h http.http $pkgdir/data/srv/httpd/{cgi-bin,$pkgname,$pkgname/cgi-bin}
-
- ln -s /usr/share/cambozola/cambozola.jar $pkgdir/data/srv/httpd/$pkgname
- mkdir -p $pkgdir/etc/lighttpd
-
- install -D -m 644 $srcdir/zm.include $pkgdir/etc/lighttpd/
- #sysctrl conf
- install -o root -g root -D -m 0755 $srcdir/zm.sysctrl.conf $startdir/pkg/etc/sysctl.d/zm.conf
- #gen_light_conf
- install -D -m0744 ${srcdir}/zm_gen_light.conf ${pkgdir}/etc/gen_light_conf.d/zoneminder.conf
-
- install -D -m 644 $srcdir/httpd-$pkgname.conf $pkgdir/etc/httpd/conf/extra
- install -D -m 644 $srcdir/$pkgname $pkgdir/etc/rc.d
- install -D -m 644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system
- install -D -m 644 COPYING $pkgdir/usr/share/license/$pkgname
- install -D -m 644 db/zm*.sql $pkgdir/usr/share/$pkgname/db
+ cd $srcdir/ZoneMinder-$pkgver
+
+ DESTDIR=$pkgdir make install
+
+ # BEGIN CREATE_ZONEMINDER_DIRECTORIES
+ mkdir -p $pkgdir/var/run/zm
+ chown -v http.http $pkgdir/var/run/zm
+ mkdir -p $pkgdir/var/{cache/$pkgbase,log/$pkgbase}
+ mkdir -p $pkgdir/data/srv/zoneminder/socks
+ chown -Rv http.http $pkgdir/{etc/zm.conf,var/{cache/$pkgbase,log/$pkgbase}}
+ chown -Rv http.http $pkgdir/data/srv/zoneminder/socks
+ chmod 0700 $pkgdir/etc/zm.conf
+ # END CREATE_ZONEMINDER_DIRECTORIES
+
+ # Make content directories in /var/cache/zoneminder and link them
+ for i in events images temp; do
+ mkdir $pkgdir/var/cache/$pkgbase/$i
+ # chown -v http.http $pkgdir/var/cache/$pkgbase/$i
+ ln -s /var/cache/$pkgbase/$i $pkgdir/data/srv/http/$pkgbase/$i
+ chown -v --no-dereference http.http $pkgdir/data/srv/http/$pkgbase/$i
+ done
+
+ # Create a link to the Zoneminder cgi binaries
+ ln -sv /data/srv/http/cgi-bin $pkgdir/data/srv/http/$pkgbase
+
+ chown -h http.http $pkgdir/data/srv/http/{cgi-bin,$pkgbase,$pkgbase/cgi-bin}
+
+ # Link Cambozola
+ ln -s /usr/share/cambozola/cambozola.jar $pkgdir/data/srv/http/$pkgbase
+
+ # Install configuration files
+ mkdir -p $pkgdir/etc/httpd/conf/extra
+ install -D -m 644 $srcdir/httpd-$pkgbase.conf $pkgdir/etc/httpd/conf/extra
+ mkdir -p $pkgdir/usr/lib/systemd/system
+ 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
+
+ #LinHES stuff
+ #lighttpd zm include
+ install -D -m644 $srcdir/zm.include $pkgdir/etc/lighttpd/zm.include
+ #sysctrl conf - to set the shared mem
+ install -o root -g root -D -m0755 $srcdir/zm.sysctrl.conf $pkgdir/etc/sysctl.d/zm.conf
+ #gen_light_conf
+ install -D -m0744 ${srcdir}/zm_gen_light.conf $pkgdir/etc/gen_light_conf.d/zoneminder.conf
}
-md5sums=('eaefa14befd482154970541252aa1a39'
- '72380d8793a784ec24cb6809aea4a739'
- '034b61cda8849fc3001849e76ef26041'
- 'ca3fe00739707b9f92eaaa9034d4da2b'
- '81c8be870260142e2633eedf73c72040'
+md5sums=('b0317c6fe003de9a0c7c76078b0adc2b'
+ 'dcaa22b9030bc7b5b76568dbe8ea9eca'
+ 'bb801be691cbe1ed98f395b2ebe5c882'
'9d93f9b7b0a1384df533efde19ed3021'
'c528e75443ae421cb7f63e12350c692a'
'81cb12b36616a299ec808ac70a809ec2')