Package Details: zoneminder 1.30.4-1

Git Clone URL: (read-only)
Package Base: zoneminder
Description: Capture, analyse, record and monitor video security cameras
Upstream URL:
Keywords: analyse camera capture monitor record security video zoneminder
Licenses: GPL
Submitter: None
Maintainer: mesmer
Last Packager: mesmer
Votes: 54
Popularity: 0.202892
First Submitted: 2008-03-21 00:09
Last Updated: 2017-09-16 00:01

Required by (1)

Sources (6)

Latest Comments

hardroid commented on 2018-06-07 16:17

Finally I got this working with php-7.2!

And also with API works!

API from ubuntu package!

First I did JohnyRi's steps (thx JohnyRi!)

1) force remove ffmpeg by

pacman -Rdd ffmpeg

2) downgrading the x265 package to 2.7-1.

downgrade x265

3) install ffmpeg 3.4.2-2 using downgrade.

downgrade ffmpeg


installing perl-sys-cpu and perl-sys-meminfo

yaourt -S perl-sys-cpu perl-sys-meminfo


Compiling and installing with this PKGBUILD

a.) changed sha key to the new one

b.) changed ZoneMinder-$pkgver everywhere to zoneminder-$pkgver

c.) removed php-mcrypt from dependencies

# Maintainer: ...
pkgdesc='Capture, analyse, record and monitor video security cameras'
arch=( i686 x86_64 mips64el arm armv7h )
backup=( etc/zm.conf )
license=( GPL )
    mariadb perl-dbd-mysql perl-dbi
    apache php php-apache php-gd 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
    cmake netpbm git 
    'php-apcu-bci: Bring back the API for android control'


prepare () {
    cd $srcdir/zoneminder-$pkgver/web/api/app/Plugin/
    if [ ! -d "crud" ]; then
    git clone -b 3.0
    mkdir -p Crud
    mv  crud/* Crud
    patch $srcdir/zoneminder-$pkgver/src/zm_image.cpp < $srcdir/fabs.patch
    patch $srcdir/zoneminder-$pkgver/src/zm_comms.h < $srcdir/uio.patch

build() {
   cd $srcdir/zoneminder-$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

    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/

    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

    # 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

    # 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

Then I copied API Folder (/usr/share/zoneminder/www/api) from my ubuntu bionic installation:

Package: zoneminder
Version: 1.30.4-bionic
to the arch linux zoneminder api folder (/srv/http/zoneminder/api) (overwrite all existing)

This was the trick!

In ZMNinja Android App the "ZM cgi-bin URL" has to be changed from http://your-ip/zm/cgi-bin to http://your-ip/cgi-bin and it workes perfectly

JohnyRi commented on 2018-06-03 07:22

Hi, @sav I managed to temporarily fix the bug by doing this:

1) force remove ffmpeg by # pacman -Rdd ffmpeg.

2) downgrading the x265 package to 2.7-1.

3) install ffmpeg 3.4.2-2 using downgrade.

Hope this helps until the zoneminder package is fixed.

Be aware that doing upgrade without disabling x265 and ffmpeg packages to update would result in zoneminder stop working again.

sav commented on 2018-06-01 17:36

@antoined, after upgrading the system, rolled back the ffmpeg package to version 1-_3.4.2-2-x86_64 and zoneminder worked. Now this procedure does not work. When will we see the solution or update?

hexadecagram commented on 2018-05-21 21:52

@antoined: Also this:

==> Validating source files with sha256sums...
    1.30.4.tar.gz ... Passed
    backport-97380f0.patch ... Passed
    issue-1919.patch ... FAILED
    zoneminder-tmpfile.conf ... FAILED
    zoneminder.service ... FAILED
    zoneminder-php.ini ... FAILED
    zoneminder-nginx.conf ... Passed

hexadecagram commented on 2018-05-21 21:51

@antoined: Your PKGBUILD relies on perl-sys-cpu and perl-sys-meminfo but does not install them.

alanking commented on 2018-05-18 10:52

Thanks jlanzobr, was about to try to work out why zoneminder broke a few days ago for me. Best i downgrade ffmpeg i guess.

jlanzobr commented on 2018-05-14 00:30

Additionally, the current pkgbuild doesn't build.

==> Validating source files with sha256sums... 1.30.4.tar.gz ... FAILED

jlanzobr commented on 2018-05-14 00:27

Arch's ffmpeg package now provides and this package relies on, causing zmc to crash.

antoined commented on 2018-05-06 15:28

I'm working on an update for this package. You can see the work in progress here:

Difference with this package:

  • Based on nginx with php-fpm and fcgiwrap
  • Backport upstream commit 97380f0 to fix a compilation error
  • Backport upstream PR 1919 to fix a compilation error
  • Changes in zoneminder directories under /srv (/srv/zoneminder/{www,cgi-bin})

To do:

  • Post install
  • Support for ZoneMinder API (currently broken due to incompatibility with Cake 3.0 / PHP 7.2)

Feel free to comment or test!

kastelvak commented on 2018-03-03 23:55

need update pkgbild file

All comments