summaryrefslogtreecommitdiff
path: root/pcr/zoneminder/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'pcr/zoneminder/PKGBUILD')
-rw-r--r--pcr/zoneminder/PKGBUILD248
1 files changed, 139 insertions, 109 deletions
diff --git a/pcr/zoneminder/PKGBUILD b/pcr/zoneminder/PKGBUILD
index 9ecf77051..ba6c7bc02 100644
--- a/pcr/zoneminder/PKGBUILD
+++ b/pcr/zoneminder/PKGBUILD
@@ -1,120 +1,150 @@
-# Contributor (Arch): Troy Will <troydwill@gmail.com>
-# Contributor (Arch): /dev/rs0 </dev/rs0@secretco.de.com>
-# Contributor (Arch): Jacek Burghardt <jacek@hebe.us>
-# Contributor (Arch): Vojtech Aschenbrenner <v@asch.cz>
-# Contributor (Arch): Jason Gardner <buhrietoe@gmail.com>
-# Contributor (Arch): Ross melin <rdmelin@gmail.com>
-# Maintainer: Márcio Silva <coadde@hyperbola.info>
+# Maintainer (AUR): Mesmer <mesmer@fisica.if.uff.br>
+# Contributor (AUR): Troy Will <troydwill at gmail dot com>
+# Contributor (AUR): /dev/rs0 </dev/rs0@secretco.de.com>
+# Contributor (AUR): Jacek Burghardt <jacek@hebe.us>
+# Contributor (AUR): Vojtech Aschenbrenner <v@asch.cz>
+# Contributor (AUR): Jason Gardner <buhrietoe@gmail.com>
+# Contributor (AUR): Ross melin <rdmelin@gmail.com>
+# Contributor (AUR): Charles Spence IV <cspence@unomaha.edu>
+# Contributor (AUR): Joe Julian <me@joejulian.name>
+# Contributor: Márcio Silva <coadde@hyperbola.info>
# Contributor: André Silva <emulatorman@hyperbola.info>
# Orginally based on a Debian Squeeze package
+# parabola changes and rationale:
+# - corrected license
+# - renamed tarball to avoid collisions
+
+_pkgname=zoneminder
pkgname=zoneminder
-pkgver=1.28.0
+pkgver=1.30.4
pkgrel=1
pkgdesc='Capture, analyse, record and monitor video security cameras'
-arch=('i686' 'x86_64' 'armv7h')
-backup=('etc/zm.conf')
-url="https://github.com/ZoneMinder/ZoneMinder/releases"
-license=('GPL2')
-depends=('apache' 'cambozola' 'ffmpeg' 'gnutls' 'mariadb' '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' 'php' 'php-apache' 'php-gd' 'php-mcrypt')
-makedepends=('netpbm' 'cmake')
-optdepends=('netpbm')
-options=(!libtool)
-install=$pkgname.install
-source=(https://github.com/ZoneMinder/ZoneMinder/archive/v$pkgver.tar.gz
- httpd-$pkgname.conf
- $pkgname.service
- sysctl-$pkgname.conf)
-sha512sums=('3e18993b0539729491052c97d8c94227ccc089eb40277c2f07682f30049033303c7cfe9734fdac6d33ae67df29c76eb72bf7fbb5dae8227e8831fa603b61c375'
- '4ce0d8eba9d006d258f5b8a83920fc17f1f602b96518d37b7a47cd9b6eb84ef2587641a6ba839a469c3f0e33b46475866187279ae3f8be0d4054b074ee5d6b08'
- 'cfb0eb87a989236c72741a496ddc6a73aa2696e5beaaca4836d3c231ddb24c7ef5e9f65e7afa49674f2115cbfa4a07c75486e1947ce294c816ddbb875f3b99cf'
- '7330c179f1e2db815a675560d3d84648be02f7d0292f8cbe21d6033577fe688ed71ad23b5b8c9dc309395b45ebb554f9499e7a4b57091959b69679011fa59044')
-
-prepare() {
- cd $srcdir/ZoneMinder-$pkgver
-
- # Patch for disable ZM_CHECK_FOR_UPDATES
- sed -i '\|ZM_CHECK_FOR_UPDATES|,+1 s|yes|no|;
- ' scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in
-
- # Patch for support html5 video and flv
- sed -i '\|ZM_MPEG_LIVE_FORMAT|,+1 s|swf|ogg|;
- \|ZM_MPEG_REPLAY_FORMAT|,+1 s|swf|ogg|;
- \|ZM_FFMPEG_FORMATS|,+1 s|mpg mpeg wmv asf avi[*] mov swf 3gp[*][*]|mpg mpeg wmv asf avi* mov flv swf 3gp** webm ogg matroska mp4 h264|;
- ' scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in
-
- # Patch for change ZM name to ZoneMinder
- sed -i '\|ZM_WEB_TITLE_PREFIX|,+1 s|"ZM"|"ZoneMinder"|;
- ' scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in
-
- # Patch for remove HACK in Makefile.am
- sed -i '\|This is a HACK|d;
- \|^install-data-hook:$|,+5 d;
- s| install-data-hook||;
- \|^uninstall-hook:$|,+5 d;
- s| uninstall-hook||;
- ' Makefile.am
+arch=( i686 x86_64 armv7h )
+backup=( etc/zm.conf )
+url="https://github.com/$pkgname/$pkgname/releases"
+license=( GPL2 )
+depends=(
+ mariadb perl-dbd-mysql perl-dbi
+ apache php php-apache php-gd php-mcrypt perl-php-serialization
+ perl-libwww perl-net-sftp-foreign
+ ffmpeg vlc perl-sys-mmap
+ gnutls polkit
+ perl-expect perl-archive-zip perl-date-manip
+ perl-mime-lite perl-mime-tools
+)
+makedepends=(
+ cmake netpbm git
+)
+optdepends=(
+ 'php-apcu-bci: Bring back the API for android control'
+ netpbm
+ cambozola
+ perl-time-modules
+ perl-x10
+ perl-astro-suntime
+)
+install=$_pkgname.install
+
+source=(
+ $pkgname-$pkgver.tar.gz::https://github.com/$pkgname/$pkgname/archive/$pkgver.tar.gz
+ httpd-zoneminder.conf
+ zoneminder.service
+ uio.patch
+ fabs.patch
+ zoneminder-tmpfile.conf
+)
+sha256sums=('879f57fdb1e013b3f17b1b0e87c5935683dad14922951d5f29d1370c1e490f2e'
+ 'ff7382b38ac07dadead0ad4d583e3dbcf8da4aaa06b76d048ee334f69f95db67'
+ '043d77a995553c533d62f48db4b719d29cf6c7074f215d866130e97be57ed646'
+ 'd1816cac69be5e807d22c37fcbe6fef99e38151a5c71233b875c0ebf101fb460'
+ 'fd20faed09eaf825933c2a87b1d04febf99d183b2b36b0041df1e2b2990c49c2'
+ 'cc8af737c3c07750fc71317c81999376e4bbb39da883780164a8747b3d7c95a7')
+
+
+prepare () {
+ cd $srcdir/$pkgname-$pkgver/web/api/app/Plugin/
+ if [ ! -d "crud" ]; then
+ git clone -b 3.0 https://github.com/FriendsOfCake/crud.git
+ mkdir -p Crud
+ mv crud/* Crud
+ fi
+ patch $srcdir/$pkgname-$pkgver/src/zm_image.cpp < $srcdir/fabs.patch
+ patch $srcdir/$pkgname-$pkgver/src/zm_comms.h < $srcdir/uio.patch
}
build() {
- cd $srcdir/ZoneMinder-$pkgver
-
- cmake -DCMAKE_INSTALL_PREFIX=/usr \
- -DZM_TARGET_DISTRO=arch \
- -DZM_CGIDIR=/srv/http/cgi-bin \
- -DZM_CONTENTDIR=/var/cache/$pkgname \
- -DZM_LOGDIR=/var/log/$pkgname \
- -DZM_RUNDIR=/run/$pkgname \
- -DZM_SOCKDIR=/run/$pkgname \
- -DZM_TMPDIR=/var/tmp \
- -DZM_WEB_USER=http \
- -DZM_WEB_GROUP=http \
- -DZM_WEBDIR=/srv/http/$pkgname
-
- make V=0
-}
-
+ cd $srcdir/$pkgname-$pkgver
+
+ cmake -DCMAKE_INSTALL_PREFIX=/usr \
+ -DZM_PERL_SUBPREFIX=/lib/perl5 \
+ -DZM_WEBDIR=/srv/http/zoneminder \
+ -DZM_CGIDIR=/srv/http/cgi-bin \
+ -DZM_WEB_USER=http \
+ -DZM_CONTENTDIR=/var/cache/zoneminder \
+ -DZM_LOGDIR=/var/log/zoneminder \
+ -DZM_RUNDIR=/run/zoneminder \
+ -DZM_TMPDIR=/var/lib/zoneminder/temp \
+ -DZM_SOCKDIR=/var/lib/zoneminder/sock .
+
+ make V=0
+}
+
package() {
- cd $srcdir/ZoneMinder-$pkgver
-
- make DESTDIR=$pkgdir install
-
- # BEGIN CREATE_ZONEMINDER_DIRECTORIES
- #mkdir -pv $pkgdir/{etc/{httpd/conf/extra,sysctl.d},srv/http/cgi-bin,usr/{lib/systemd/system,share/{licenses/$pkgname,$pkgname/db}}}
- mkdir -pv $pkgdir/run/zm
- chown -v http.http $pkgdir/run/zm
- mkdir -pv $pkgdir/var/{cache/$pkgname,log/$pkgname}
- mkdir -pv $pkgdir/srv/http/$pkgname/socks
- chown -Rv http.http $pkgdir/{etc/zm.conf,var/{cache/$pkgname,log/$pkgname}}
- chown -Rv http.http $pkgdir/srv/http/$pkgname/socks
- chmod -v 0700 $pkgdir/etc/zm.conf
- # END CREATE_ZONEMINDER_DIRECTORIES
-
- # Make content directories in /var/cache/$pkgname and link them
- for i in events images temp; do
- #mv -v $pkgdir/srv/http/$pkgname/$i $pkgdir/var/cache/$pkgname/$i
- mkdir -v $pkgdir/var/cache/$pkgname/$i
- #chown -v http.http $pkgdir/var/cache/$pkgname/$i
- ln -sv /var/cache/$pkgbase/$i $pkgdir/srv/http/$pkgname/$i
- chown -hv http.http $pkgdir/srv/http/$pkgname/$i
- done
-
- # Create a link to the Zoneminder cgi binaries
- ln -sv /srv/http/cgi-bin $pkgdir/srv/http/$pkgname
-
- chown -hv http.http $pkgdir/srv/http/{cgi-bin,$pkgname,$pkgname/cgi-bin}
-
- # Link Cambozola
- ln -vs /usr/share/cambozola/cambozola.jar $pkgdir/srv/http/$pkgname
-
- # Install configuration files
- #mkdir -pv $pkgdir/etc/httpd/conf/extra
- install -vDm 644 $srcdir/httpd-$pkgname.conf $pkgdir/etc/httpd/conf/extra
- #mkdir -pv $pkgdir/usr/lib/systemd/system
- install -vDm 644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system
- install -vDm 644 $srcdir/sysctl-$pkgname.conf $pkgdir/etc/sysctl.d
- install -vDm 644 COPYING $pkgdir/usr/share/licenses/$pkgname
- install -vDm 644 db/zm*.sql $pkgdir/usr/share/$pkgname/db
+
+ cd $srcdir/$pkgname-$pkgver
+
+ DESTDIR=$pkgdir make install
+
+ # Change Polkit directory permissions to Arch Linux policy
+ chmod -v 700 $pkgdir/usr/share/polkit-1/rules.d/
+ chown -v polkitd $pkgdir/usr/share/polkit-1/rules.d/
+
+ # BEGIN CREATE_ZONEMINDER_DIRECTORIES
+ mkdir -pv $pkgdir/var/{cache/zoneminder,log/zoneminder}
+ chown -Rv http.http $pkgdir/var/{cache/zoneminder,log/zoneminder}
+
+ # corresponds to -DZM_SOCKDIR=/var/lib/zoneminder/sock
+ mkdir -pv $pkgdir/var/lib/zoneminder/sock
+ chown -v http.http $pkgdir/var/lib/zoneminder/sock
+
+ # corresponds to -DZM_TMPDIR=/var/lib/zoneminder/temp
+ mkdir -pv $pkgdir/var/lib/zoneminder/temp
+ chown -v http.http $pkgdir/var/lib/zoneminder/temp
+
+ chown -v http.http $pkgdir/etc/zm.conf
+ chmod 0700 $pkgdir/etc/zm.conf
+ # END CREATE_ZONEMINDER_DIRECTORIES
+
+ # Make content directories in /var/cache/zoneminder and to link them in /srv/http/zoneminder
+ for i in events images temp; do
+ mkdir $pkgdir/var/cache/$_pkgname/$i
+ chown -v http.http $pkgdir/var/cache/$_pkgname/$i
+ ln -s /var/cache/$_pkgname/$i $pkgdir/srv/http/$_pkgname/$i
+ chown -v --no-dereference http.http $pkgdir/srv/http/$_pkgname/$i
+ done
+
+ # Create a link to the Zoneminder cgi binaries
+ ln -sv /srv/http/cgi-bin $pkgdir/srv/http/$_pkgname
+
+ chown -h http.http $pkgdir/srv/http/{cgi-bin,$_pkgname,$_pkgname/cgi-bin}
+
+ # Link Cambozola
+ # ln -s /usr/share/cambozola/cambozola.jar $pkgdir/srv/http/$_pkgname
+
+ # Install configuration files
+ mkdir -p $pkgdir/etc/httpd/conf/extra
+ install -D -m 644 $srcdir/httpd-$_pkgname.conf $pkgdir/etc/httpd/conf/extra
+
+ mkdir -p $pkgdir/usr/lib/systemd/system
+ 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
+
+ mkdir -p $pkgdir/usr/share/doc/$_pkgname
+ # install -D -m 644 $srcdir/README $pkgdir/usr/share/doc/$_pkgname
+
+ install -Dm644 ../zoneminder-tmpfile.conf "$pkgdir"/usr/lib/tmpfiles.d/zoneminder.conf
+
}