Package Details: zoneminder 1.32.3-3

Git Clone URL: (read-only)
Package Base: zoneminder
Description: A full-featured, open source, state-of-the-art video surveillance software system
Upstream URL:
Keywords: camera cctv monitor record security surveillance video zoneminder
Licenses: GPL2
Conflicts: zoneminder-git
Submitter: None
Maintainer: Nocifer
Last Packager: Nocifer
Votes: 58
Popularity: 0.908269
First Submitted: 2008-03-21 00:09
Last Updated: 2019-06-02 21:28

Required by (1)

Sources (9)

Pinned Comments

Nocifer commented on 2018-10-02 14:34

Any and all feedback will be much appreciated. Thanks!


Update: 1.32.2-3 -> 1.32.3-1

  • Changed Nginx's configuration so that now it listens on all interfaces instead of only on localhost. This fixes remote access and also prevents some potential conflicts with other conf files that may be present.
  • Added proper support for multiserver setups in the install script during updates: now it will properly check whether we're running a local database server or not and will run the updater accordingly. Also added a new function for updating the PTZ control presets.
  • Enabled PHP's disabled-by-default semaphore support. This fixes issues like camera playback controls not working and camera device info (e.g. current state, fps, zoom level, et al) not being shown.
  • Gave 'zmuser' some new privileges on database 'zm' that are needed to perform the 1.32.3 update.

Update: 1.32.2-2 -> 1.32.2-3

  • Added spawn-fcgi & multiwatch as dependencies. Now fcgiwrap will spawn in multiple instances, so ZoneMinder will be able to utilize more than one CGI threads at the same time and thus show concurrent camera streams, which solves issues like having no image while editing zones, etc. The default number of instances is 10, which should be enough for 2 or 3 cameras, but you can of course edit the provided service file and change the number as you see fit. Big thanks to @chapatt for bringing this to my attention!

Update: 1.32.2-1 -> 1.32.2-2

  • Included a /zm/ link inside the /www/ folder that points back to /www/. This fixes pretty much every instance of sloppy hardcoded links within ZM's codebase. Big thanks to @Kubax for the idea!

Update: 1.32.1-3 -> 1.32.2-1

NOTE: There's a bunch of small-ish errors in ZM's operation due to some parts of it having the localhost/zm/ link hardcoded and thus breaking when ZM is run from anywhere else, e.g. localhost:8095. I'm in the process of locating these errors and either reporting them upstream or fixing them myself, but I can't know for sure when or even if they'll be fixed. Big thanks to @Kubax for reporting this.

  • Changed temp folder location: /var/lib/zoneminder/temp -> /var/tmp/zoneminder
  • Fixed /api/app/tmp to correctly point to the temp folder
  • Overhauled how the install script makes the choice between Nginx and Apache, as follows:
    • If Nginx is installed and active, regardless of whether Apache is also installed or active or both, we choose Nginx.
    • If Nginx is installed but inactive, and Apache is not installed, we choose Nginx.
    • If Nginx is installed but inactive, and Apache is installed, we choose Apache.
    • If Nginx is not installed, and Apache is installed, we choose Apache.
    • If neither of them is installed, we simply inform the user about it and do nothing.

It's a fairly simple script and I have tested it as much as I can, but things usually find a way to break apart after introducing such... uhm... breaking changes. If things do break for you, please blame me and not the script itself; and also report here what exactly is broken so I can fix it ;)

Update: 1.32.1-2 -> 1.32.1-3

  • MariaDB no longer required (for use with remote databases)
  • Apache added as an optional dependency and preferred over Nginx if both are installed

Update: 1.32.1-1 -> 1.32.1-2

  • Fixed update process (it erroneously required zoneminder.service to be active while updating its database, when it should rather be the opposite)
  • Fixed desktop launcher
  • Added logrotate support
  • Removed 'perl-module-load-conditional' from dependencies as it is already included in core Perl package
  • Other minor fixes (e.g. the license file was being installed in the wrong place)

Latest Comments

1 2 3 4 5 6 ... Next › Last »

ultimategrandson commented on 2019-08-25 22:57

@Nocifer My intention is to put the DB on a different server. So I'll experiment with modifying the makepkg script and see how it goes. Happy to try out the build if you enable ARM on the package. Thanks.

Nocifer commented on 2019-08-25 20:04

@ultimategrandson A MySQL-compatible database is needed for ZoneMinder to work properly (PostgreSQL for example is not compatible if memory serves) but it's not a hard requirement to install it on the same machine as ZoneMinder (it could be installed on another server and accessed remotely) nor is it necessary to specifically use MariaDB (MySQL itself for example is perfectly compatible).

If for whatever reason you need to remove MariaDB as a dependency, then you'll need to edit the PKGBUILD and delete or comment out line 63. The same goes for Nginx by the way: if you don't need it you can delete or comment out line 60. The install script is supposed to understand when MariaDB and/or Nginx are missing and act accordingly, but of course your mileage may vary, so keep in mind that things may indeed break at some point or another. It goes without saying of course that if they do break, your feedback about what happened would be most welcome :)

Regarding ARM compatibility: last year it was reported by some other user that one of the required Perl packages could not be built on ARM, but I don't have an ARM system myself so I just took them on their word. But if you say you built it successfully, then that probably means we can now safely include ARM as compatible, so I'll do so on the next update. And if there are any bumps along the road (e.g. ZoneMinder building on ARM but then not working properly during runtime) I guess this will be a good way to encounter them and maybe even fix them.

ultimategrandson commented on 2019-08-25 02:03

Using Yay (and ignoring the arch warnings), I actually installed this package on Archlinux ARM (Raspberry Pi 2) and it works perfectly, this actually worked better than the Rapbian package, at least in my experience, as the zmNinja app worked out of the box.

I'm a bit of a noob but; the dependencies that are installed; are they all really required to run Zoneminder or are they just required to build it? I understand ffmpeg, etc are necessary but could MariaDB be made optional? Or is there a way to exclude certain packages when I install?

ImNtReal commented on 2019-08-07 17:19

Ok. I can handle it that way. It's a bit confusing to me why they didn't just include all defaults in /etc/zoneminder/zm.conf, and only use the conf.d directory for user overrides.

Nocifer commented on 2019-08-06 05:51

@ImNtReal well, I could, but perhaps it would be simpler if you just made a new conf file inside /etc/zoneminder/conf.d and named it e.g. 03-custom.conf and used that one to override the stuff in 01-system-paths.conf? The reason for that is that 01-system-paths.conf is not supposed to contain any user adjustments, it even says so on the tin:

# To make custom changes to the variables below, create a new configuration
# file, with an extention of .conf, containing your desired modifications.

Not that it matters much, if you ask me, but perhaps there is some valid reason for this warning, related to how ZM works internally. Anyway, if you really find it that much of a bother, I guess it won't hurt to add 01-system-paths.conf to the backup array when I next update the package and leave it up to the user. But I must warn you, judging by the ZM upstream's very slow progress as of late, this next update could be tomorrow or it could be next year :)

ImNtReal commented on 2019-08-05 18:14

Could you add etc/zoneminder/conf.d/01-system-paths.conf to the backup array, so my changes don't get wiped when I update?

zombielinux commented on 2019-06-13 11:49

That's what did it. Seems to be online now.

Nocifer commented on 2019-06-13 10:53

@zombielinux Well the issue is clear then: for some reason, 8 out of the 12 AUR modules in your build script's array are still installed against perl 5.28 instead of 5.30, and this can also be attested by 'pacman -Qqo /usr/lib/perl5/5.28' displaying them in its output (there shouldn't even be a 5.28 folder in there anymore). If I were you I'd try to install the already compiled packages one by one by hand, i.e. 'pacman -U /var/cache/pacman/pkg/AUR/packages/package_name.pkg.tar.xz'. That's more or less what I did (in my case I used an AUR helper to reinstall them in one go but it's the same thing) and everything went smoothly.

zombielinux commented on 2019-06-13 10:15

No worries.

Here is my zoneminder build script.

AurArray=("perl-sys-meminfo" "perl-sys-mmap" "perl-io-socket-multicast" "perl-class-std" "perl-class-std-fast" "perl-soap-wsdl" "perl-cpanel-json-xs" "perl-json-maybexs" "perl-net-sftp-foreign" "perl-php-serialization" "perl-sys-cpu" "perl-uri-encode" "zoneminder")
sudo pacman -Syu perl-inc-latest perl-module-build perl-types-serialiser perl-common-sense perl-json perl-json-xs libglvnd

for i in "${AurArray[@]}";
#   echo $i
    rm -rf $PREFIX/$i
    git clone$i.git $PREFIX/$i
    cd $PREFIX/$i
    makepkg -si

journalctl errors

Jun 13 06:13:23 zoneminder[46821]: Can't locate Sys/ in @INC (you may need to install the Sys::Mmap module) (@INC contains: /usr/lib/perl5/5.30/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/5.30/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/5.30/core_perl /usr/share/perl5/core_perl) at /usr/share/perl5/vendor_perl/ZoneMinder/Memory/ line 69.
Jun 13 06:13:23 zoneminder[46821]: BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/ZoneMinder/Memory/ line 69.
Jun 13 06:13:23 zoneminder[46821]: Compilation failed in require at /usr/share/perl5/vendor_perl/ZoneMinder/ line 121.
Jun 13 06:13:23 zoneminder[46821]: Compilation failed in require at /usr/share/perl5/vendor_perl/ line 37.
Jun 13 06:13:23 zoneminder[46821]: BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/ line 37.
Jun 13 06:13:23 zoneminder[46821]: Compilation failed in require at /usr/bin/ line 34.
Jun 13 06:13:23 zoneminder[46821]: BEGIN failed--compilation aborted at /usr/bin/ line 34.

pacman -Qqo '/usr/lib/perl5/5.28' output

[root@zoneminder ~]# pacman -Qqo '/usr/lib/perl5/5.28'

Nocifer commented on 2019-06-13 08:46

@zombielinux Alright, I may have misjudged then. Myself I didn't get any errors when I tried running ZoneMinder with 5.30, so could you elaborate on what kind of errors you're getting and how to reproduce them? If there are indeed errors with 5.30 they should be reported to upstream.