Package Details: zoneminder 1.36.33-2

Git Clone URL: https://aur.archlinux.org/zoneminder.git (read-only, click to copy)
Package Base: zoneminder
Description: A full-featured, open source, state-of-the-art video surveillance software system
Upstream URL: https://www.zoneminder.com/
Keywords: camera cctv monitor record security surveillance video zoneminder
Licenses: GPL-2.0-only
Conflicts: zoneminder-git
Submitter: None
Maintainer: Nocifer
Last Packager: Nocifer
Votes: 72
Popularity: 1.48
First Submitted: 2008-03-21 00:09 (UTC)
Last Updated: 2024-02-12 12:50 (UTC)

Dependencies (46)

Sources (8)

Latest Comments

« First ‹ Previous 1 .. 26 27 28 29 30 31 32 33 34 35 36 .. 62 Next › Last »

hardroid commented on 2018-06-07 16:17 (UTC) (edited on 2018-06-07 16:51 (UTC) by hardroid)

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

Then:

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

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

Then:

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: ...
_pkgname=zoneminder
pkgname=zoneminder
pkgver=1.30.4
pkgrel=1
pkgdesc='Capture, analyse, record and monitor video security cameras'
arch=( i686 x86_64 mips64el arm armv7h )
backup=( etc/zm.conf )
url="https://github.com/ZoneMinder/ZoneMinder/releases"
license=( GPL )
depends=(
    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
)
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=(
    https://github.com/ZoneMinder/ZoneMinder/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/zoneminder-$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/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/

    # 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

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 (UTC) (edited on 2018-06-03 07:23 (UTC) by JohnyRi)

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 (UTC)

@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 (UTC) (edited on 2018-05-21 21:57 (UTC) by hexadecagram)

@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 (UTC)

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

jlanzobr commented on 2018-05-14 00:30 (UTC)

Additionally, the current pkgbuild doesn't build.

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