diff options
Diffstat (limited to 'abs/core/zoneminder/PKGBUILD')
-rw-r--r-- | abs/core/zoneminder/PKGBUILD | 179 |
1 files changed, 102 insertions, 77 deletions
diff --git a/abs/core/zoneminder/PKGBUILD b/abs/core/zoneminder/PKGBUILD index e5c6b5d..e48da09 100644 --- a/abs/core/zoneminder/PKGBUILD +++ b/abs/core/zoneminder/PKGBUILD @@ -1,4 +1,4 @@ -# Contributor: Troy Will <troydwill@gmail.com> +# Maintainer: Troy Will <troydwill at gmail dot com> # Contributor: /dev/rs0 </dev/rs0@secretco.de.com> # Contributor: Jacek Burghardt <jacek@hebe.us> # Contributor: Vojtech Aschenbrenner <v@asch.cz> @@ -6,120 +6,151 @@ # Contributor: Ross melin <rdmelin@gmail.com> # Contributor (Parabola): Márcio Silva <coadde@lavabit.com> # Contributor (Parabola): André Silva <emulatorman@lavabit.com> +# Contributor: Charles Spence IV <cspence@unomaha.edu> +# Contributor: Joe Julian <me@joejulian.name> # Orginally based on a Debian Squeeze package - -pkgbase=zoneminder +_pkgname=zoneminder pkgname=zoneminder -pkgver=1.28.0 -pkgrel=5 +pkgver=1.30.0.r107.g66ae5c5 +pkgrel=1 pkgdesc='Capture, analyse, record and monitor video security cameras' -arch=( i686 x86_64 mips64el arm ) - +arch=( i686 x86_64 mips64el arm armv7h ) backup=( etc/zm.conf ) url="https://github.com/ZoneMinder/ZoneMinder/releases" license=( GPL ) - depends=( - 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 + mysql perl-dbd-mysql perl-dbi + lighttpd php php-gd php-mcrypt perl-php-serialization + perl-libwww perl-net-sftp-foreign + ffmpeg perl-sys-mmap + gnutls polkit + perl-expect perl-archive-zip perl-date-manip + perl-mime-lite perl-mime-tools ) - makedepends=( - netpbm - cmake + cmake make gcc netpbm ) - optdepends=( netpbm + cambozola + perl-time-modules + perl-x10 + perl-astro-suntime ) - -install=$pkgbase.install +install=$pkgname.install source=( - https://github.com/ZoneMinder/ZoneMinder/archive/v$pkgver.tar.gz + git://github.com/$_pkgname/$_pkgname.git + git://github.com/FriendsOfCake/crud.git httpd-zoneminder.conf zoneminder.service + zoneminder-tmpfile.conf zm.include - zm.sysctrl.conf + zm.sysctrl.conf zm_gen_light.conf ) - +# Because the source is not static, skip Git checksum: +sha256sums=('SKIP' + 'SKIP' + 'ff7382b38ac07dadead0ad4d583e3dbcf8da4aaa06b76d048ee334f69f95db67' + '043d77a995553c533d62f48db4b719d29cf6c7074f215d866130e97be57ed646' + 'cc8af737c3c07750fc71317c81999376e4bbb39da883780164a8747b3d7c95a7' + '894c3f43fb9d77aec9edaed98bc556c90bed9326de57bc17cd33b44ab7818335' + 'bb50ad6411426d90df00568b967bf762844978cd34b84435ecbfc0d652c67b42' + 'eafcd625248731382506622eb3ff9b736b670f601692386723bd63275cacc781' + ) +pkgver() { + cd "$_pkgname" + # See https://wiki.archlinux.org/index.php/VCS_package_guidelines#The_pkgver.28.29_function + git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' +} + +prepare () { + cd $srcdir/$_pkgname + git submodule init + git config submodule.web/api/app/Plugin/Crud.url $srcdir/crud + git config submodule.web/api/app/Plugin/Crud.branch 3.0 + git submodule update +} + build() { - cd $srcdir/ZoneMinder-$pkgver + cd $srcdir/$_pkgname - cmake -DCMAKE_INSTALL_PREFIX=/usr \ - -DZM_CGIDIR=/data/srv/httpd/cgi-bin \ - -DZM_WEBDIR=/data/srv/httpd/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/ . + # ZM_PERL_SUBPREFIX=/lib/perl5 flag added to force Perl modules + # to /usr/lib/perl5/ on non i686 architectures + cmake -DCMAKE_INSTALL_PREFIX=/usr \ + -DZM_PERL_SUBPREFIX=/lib/perl5 \ + -DZM_WEBDIR=/data/srv/httpd/zoneminder \ + -DZM_CGIDIR=/data/srv/httpd/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=/data/srv/zoneminder/sock . + make V=0 } package() { - cd $srcdir/ZoneMinder-$pkgver + cd $srcdir/$_pkgname 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 -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 + mkdir -pv $pkgdir/var/{cache/zoneminder,log/zoneminder} + chown -Rv http.http $pkgdir/var/{cache/zoneminder,log/zoneminder} + + # corresponds to -DZM_SOCKDIR=/data/srv/zoneminder/sock + mkdir -pv $pkgdir/data/srv/zoneminder/sock + chown -v http.http $pkgdir/data/srv/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 link them + # Make content directories in /var/cache/zoneminder and to link them in /srv/httpd/zoneminder 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/httpd/$pkgbase/$i - chown -v --no-dereference http.http $pkgdir/data/srv/httpd/$pkgbase/$i + mkdir $pkgdir/var/cache/$pkgname/$i + chown -v http.http $pkgdir/var/cache/$pkgname/$i + ln -s /var/cache/$pkgname/$i $pkgdir/data/srv/httpd/$pkgname/$i + chown -v --no-dereference http.http $pkgdir/data/srv/httpd/$pkgname/$i done # Create a link to the Zoneminder cgi binaries - ln -sv /data/srv/httpd/cgi-bin $pkgdir/data/srv/httpd/$pkgbase + ln -sv /data/srv/httpd/cgi-bin $pkgdir/data/srv/httpd/$pkgname - chown -h http.http $pkgdir/data/srv/httpd/{cgi-bin,$pkgbase,$pkgbase/cgi-bin} + chown -h http.http $pkgdir/data/srv/httpd/{cgi-bin,$pkgname,$pkgname/cgi-bin} # Link Cambozola - ln -s /usr/share/cambozola/cambozola.jar $pkgdir/data/srv/httpd/$pkgbase + # ln -s /usr/share/cambozola/cambozola.jar $pkgdir/data/srv/httpd/$pkgname # Install configuration files -# don't need these in LinHES as we use lighttpd not apache -# 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 + # don't need these in LinHES as we use lighttpd not apache + #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 #LinHES stuff #lighttpd zm include @@ -129,9 +160,3 @@ package() { #gen_light_conf install -D -m0744 ${srcdir}/zm_gen_light.conf $pkgdir/etc/gen_light_conf.d/zoneminder.conf } -md5sums=('b0317c6fe003de9a0c7c76078b0adc2b' - 'dcaa22b9030bc7b5b76568dbe8ea9eca' - 'bb801be691cbe1ed98f395b2ebe5c882' - '9d93f9b7b0a1384df533efde19ed3021' - 'c528e75443ae421cb7f63e12350c692a' - '81cb12b36616a299ec808ac70a809ec2') |