multimedia/x264: update to 0.157.2945 Changes: https://git.videolan.org/?p=x264.git;a=shortlog;h=72db437770fd1ce3961f624dd57a8e75ff65ae0b ABI: https://abi-laboratory.pro/tracker/timeline/x264/4f594e8803
Port details
multimedia/zoneminder 1.38.6
Complete security camera solution, fully web based with image analysis
Port info
- Maintainer
- bsd@abinet.ru
- Packages
- latest: zoneminder-php82 1.38.6, zoneminder-php83 1.38.6, zoneminder-php84 1.38.6, zoneminder-php85 1.38.6
- Upstream
- up to date
- Last update
- to 1.38.6 · abb6f898c0
- Quarterly
- 2026Q4: zoneminder-php82 1.38.6, zoneminder-php83 1.38.6, zoneminder-php84 1.38.6, zoneminder-php85 1.38.6 · last MFH 3849408b31
- WWW
- https://www.zoneminder.com/
- Links
- cgit · VuXML · Report wrong data
Install
- Package
# pkg install zoneminder-php82# pkg install zoneminder-php83# pkg install zoneminder-php84# pkg install zoneminder-php85installs zoneminder-php82 1.38.6, zoneminder-php83 1.38.6, zoneminder-php84 1.38.6, zoneminder-php85 1.38.6 fromlatest; fromquarterly(2026Q4) zoneminder-php82 1.38.6, zoneminder-php83 1.38.6, zoneminder-php84 1.38.6, zoneminder-php85 1.38.6- Port
# cd /usr/ports/multimedia/zoneminder && make install clean# make -C /usr/ports/multimedia/zoneminder config # change options first
- Size
- 10.0 MiB download · 57 MiB installed
- Depends on
- archivers/zip 3.0_6, comms/p5-Device-SerialPort 1.040000_2, converters/p5-JSON-MaybeXS 1.004008, databases/mysql84-client 8.4.11_1, databases/p5-DBD-mysql 5.008, databases/p5-DBI 1.656, databases/php82-pdo_mysql 8.2.35_2, devel/libunwind 20250904, devel/p5-Data-Dump 1.25, devel/p5-Data-UUID 1.227, devel/p5-Date-Manip 7.00, devel/p5-Number-Bytes-Human 0.11_2, devel/p5-SOAP-WSDL 3.004_1, devel/p5-Sys-CPU 0.61, devel/p5-Sys-MemInfo 0.99, devel/p5-Sys-Mmap 0.21, devel/pecl-APCu 5.1.28, devel/php82-intl 8.2.35_2, devel/php82-sysvsem 8.2.35_2, ftp/curl 8.23.0, graphics/jpeg-turbo 3.1.4.1, graphics/php82-gd 8.2.35_2, lang/perl5.42 5.42.3, lang/php82 8.2.35_2, multimedia/ffmpeg 9.0.2_2,1, net/p5-IO-Socket-Multicast 1.12_2, net/php82-sockets 8.2.35_2, security/p5-Bytes-Random-Secure 0.29, security/p5-Crypt-Eksblowfish 0.009_3, security/sudo 1.9.17p2_2, textproc/p5-XML-LibXML 2.0213,1, textproc/php82-ctype 8.2.35_2, www/p5-LWP-Protocol-https 6.17, www/p5-Test-LWP-UserAgent 0.036, www/php82-opcache 8.2.35_2, www/php82-session 8.2.35_2
- License
- GPLv2
- Options
- 1 of 2 on in the package: NLS
Show the 1 options that are off
V4L - pkg-message
Shown after installing
ZoneMinder requires a MySQL (or MySQL forks) database backend and a http server, capable to execute PHP and CGI scripts. To simplify things, we assume, that you use MySQL and NGINX on the same server. 1. Preliminary steps 1.1 Install databases/mysql57-server or newer You may choose your favourite method - ports or packages here. ZoneMinder use very simple queries, however it tends to write to the database quite a lot depending on your capture mode and number of cameras. So tweak your MySQL instance accordantly Now, enable and start MySQL sysrc mysql_server_enable="YES" service mysql-server start 1.2 Install www/nginx We provide an example for an HTTP install, however, you should use HTTPS if you plan to expose your installation to the public. There are plenty guides how to do it and security/letsencrypt.sh is a good way to get a valid SSL certificate. Probably, your installation will be behind reverse proxy, so this example should work for you. Please, notive the following issues with ZM: - web interface has several hardcoded /zm in url generation, so it is mandatory to serve your installtion from /zm subfolder - if behind reverse proxy, HTTP_X_FORWARDED_PROTO must be supplied or link generation will use http:// Your server block should include the following: server { listen 80; root /usr/local/www/zoneminder; index index.php gzip off; location /cgi-bin/nph-zms { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_pass unix:/var/run/fcgiwrap/fcgiwrap.sock; } location /zm/cache { alias /var/cache/zoneminder; } location /zm { alias /usr/local/www/zoneminder; location ~ \.php$ { if (!-f $request_filename) { return 404; } include fastcgi_params; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_index index.php; fastcgi_pass unix:/var/run/php-fpm.sock; } location ~ \.(jpg|jpeg|gif|png|ico)$ { access_log off; expires 33d; } location /zm/api/ { alias /usr/local/www/zoneminder; rewrite ^/zm/api(.+)$ /zm/api/app/webroot/index.php?p=$1 last; } } } Enable and start NGINX sysrc nginx_enable="YES" service nginx start 1.3 Install www/fcgiwrap As NGINX lacks it's own CGI wrapper, we need external one. Please note that ZoneMinder's montage page use simultaneous access to all cameras, so you need to use at least as many fcgiwrap workers as your number of cameras. The following example assumes you have 4. Enable and start FcgiWrap sysrc fcgiwrap_enable="YES" sysrc fcgiwrap_user="www" sysrc fcgiwrap_socket_owner="www" sysrc fcgiwrap_flags="-c 4" 1.4 PHP is installed as a dependency to ZoneMinder. However, you should tweak some of it's settings. Edit /usr/local/etc/php-fpm.conf and set listen = /var/run/php-fpm.sock listen.owner = www listen.group = www env[PATH] = /usr/local/bin:/usr/bin:/bin If you want to set another path for the socket file, make sure you change it in your NGINX config well. The env[PATH] needs to be set to locate the zip utility as ZoneMinder's export functions rely on exec(). Sorry, chroot folks. PHP throws warning if date.timezone option is not set. The best place to do it is to create new ini file in /usr/local/etc/php with overrides date.timezone = "UTC" Enable and start php-fpm sysrc php_fpm_enable="YES" service php-fpm start 1.5 ZoneMinder keeps the last 1-3 frames from monitors as cache when broadcasting stream through zms. This can be a performance hog if placed on spindle drive or add wear to SSD. The best practice is put it on tmpfs. See https://www.freebsd.org/cgi/man.cgi?query=tmpfs for more information. ZoneMinder will use /tmp for default. If you plan to change it, see ZM_PATH_MAP setting. Edit /etc/fstab and add the following: tmpfs /tmp tmpfs rw,nosuid,mode=01777 0 0 2. ZoneMinder installation Connect to MySQL under root and create zm user and populate database. mysql -u root -p CREATE DATABASE zm; GRANT ALL PRIVILEGES ON zm.* TO 'zmuser'@'localhost' IDENTIFIED BY 'zmpass'; FLUSH PRIVILEGES; quit; mysql -u root -p zm < /usr/local/share/zoneminder/db/zm_create.sql 2.1 If you have chosen to change the ZoneMinder MySQL credentials to something other than zmuser/zmpass then you must now edit /usr/local/etc/zm.conf. Change ZM_DB_USER and ZM_DB_PASS to the values you created in the previous step. Enable and start ZoneMinder sysrc zoneminder_enable="YES" service zoneminder startShown after upgrading
To perform an upgrade from any version: 1. Stop ZoneMinder service zoneminder stop 2. Upgrade database sudo -u www zmupdate.pl 3. Start ZoneMinder service zoneminder start If you see error ERROR 1419 (HY000) during database update, set log_bin_trust_function_creators = 1 in runtime or in mysql server config; For example, login as root and issue SET GLOBAL log_bin_trust_function_creators = 1; If ZM interface complains about absent configuration parameters, zmupdate.pl script contains --freshen option to add them. You can execute it with sudo -u www zmupdate.pl --freshen Starting from version 1.36, ZM doesn't need too much tmpfs space. zmc process now allocates memory as needed. tmpfs backed /tmp is still needed by zms to store 1-3 images, so you shrink your tmpfs /tmp drasticallyi (if you followed installation guide).
- Note
- Size, dependencies, options and messages are those of zoneminder-php82.
Packages by version and architecture
latest
| FreeBSD version | amd64 | aarch64 | i386 |
|---|---|---|---|
| FreeBSD 16 | 1.38.6 | 1.38.6 | – |
| FreeBSD 15 | 1.38.6 | 1.38.6 | – |
| FreeBSD 14 | 1.38.6 | 1.38.3 | ✗ |
quarterly (2026Q4)
| FreeBSD version | amd64 | aarch64 | i386 |
|---|---|---|---|
| FreeBSD 15 | 1.38.6 | 1.38.6 | – |
| FreeBSD 14 | 1.38.6 | 1.38.6 | ✗ |
version as in the ports tree (latest) or the most common one (quarterly) · different version · ✗ not built · – no packages for this platform. Package sets that have not been rebuilt for 60 days are left out.
Unaddressed (1)
The CVE record lists the packaged version 1.38.6 as affected, and no VuXML entry names the CVE. What does this mean?
| CVE | CVSS | Published | Description |
|---|---|---|---|
| CVE-2026-72556 | 8.8 | 2026-08-11 | A remote code execution vulnerability in ZoneMinder 1.39.17 allows any authenticated user to execute OS commands by exploiting a broken permission check in the Filter cl… |
VuXML only (0)
Listed in VuXML, the packaged version 1.38.6 is still in the affected range; pkg audit reports it. What does this mean?
None.
Fixed (5)
Show 5 fixed
VuXML entries whose affected range the packaged version has left, plus CVEs from the last 90 days that this version is already past (fixed by update).
| CVE | CVSS | Published | Description |
|---|---|---|---|
| CVE-2026-102608 | 9.0 | 2026-10-16 | ZoneMinder is a free, open source closed-circuit television software application. Prior to 1.38.3, downloadEvents() manually wraps a monitor Name value in single quotes … |
| CVE-2026-30971 | 8.8 | 2026-10-16 | ZoneMinder is a free, open source closed-circuit television software application. Prior to 1.39.2, 1.38.2, and 1.36.40, ZoneMinder interpolates an unvalidated monitor De… |
| CVE-2026-102607 | 8.8 | 2026-10-16 | ZoneMinder is a free, open source closed-circuit television software application. Prior to 1.38.3, the exportEvents() function concatenates the attacker-controlled expor… |
| CVE-2024-58386 | 7.1 | 2026-09-28 | ZoneMinder versions 1.37.0 before 1.38.0 contain a path traversal vulnerability in the files view that allows authenticated users to read arbitrary files. The path param… |
| CVE-2026-54258 | 6.5 | 2026-09-11 | ZoneMinder is a free, open source closed-circuit television software application. Versions prior to 1.36.39, 1.38.4, and 1.39.11 allow an authenticated low-privileged us… |
Problem reports (0) · open in Bugzilla, most recently changed first
None.
Commits (139)
multimedia/zoneminder: unbreak with libc++ 8 In file included from src/zm_box.cpp:20: In file included from src/zm.h:27: In file included from src/zm_config.h:27: In file included from /usr/include/c++/v1/string:505: In file included from /usr/include/c++/v1/string_view:176: In file included from /usr/include/c++/v1/__string:57: In file included from /usr/include/c++/v1/algorithm:640: In file included from /usr/include/c++/v1/initializer_list:47: In file included from /usr/include/c++/v1/cstddef:38: version:1:1: error: expected unqualified-id 1.32.3 ^ PR: 236192 Approved by: portmgr blanketf9fbdd5a5d
multimedia/zoneminder: remove support for PHP 5.66a910eebde
Change cmake default behaviour to outsource. Ports that build out of source now simply can use "USES=cmake" instead of "USES=cmake:outsource". Ports that fail to build out of source now need to specify "USES=cmake:insource". I tried to only set insource where explictely needed. PR: 232038 Exp-run by: antoine707c6bf295
multimedia/zoneminder: update 1.32.2 -> 1.32.3 PR: 233876 Approved by: Ivan <bsd@abinet.ru> (maintainer) Relnotes: https://github.com/ZoneMinder/zoneminder/releases/tag/1.32.3c4c8bc0847
multimedia/zoneminder: update 1.30.4 -> 1.32.2 PR: 233289 Submitted by: Ivan <bsd@abinet.ru> (maintainer) Reviewed by: lme Relnotes: http://www.zoneminder.com/blog/2018/10/13/tuesdays-gone-release.html https://github.com/ZoneMinder/zoneminder/releases/tag/1.32.0f9e7f55b3a
multimedia/ffmpeg: update to 4.1 Changes: https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/n4.1:/Changelog ABI: https://abi-laboratory.pro/tracker/timeline/ffmpeg/0872f77fd4
Bump PORTREVISION to chase update of multimedia/v4l_compat and libv4l84b6aee905
Improve zoneminder ports: - add patch to make it compile with a recent clang (from -current) - add missing fcgiwrap config option to the FreeBSD readme - sync pkg-descr and highlight difference between the ports in pkg-descr and COMMENT Approved by: maintainera52109fe7d
multimedia/zoneminder: AVFMT_RAWPICTURE is part of libavformata7e80be8ca
multimedia/zoneminder{,-h264}: unbreak with ffmpeg 4.0
src/zm_mpeg.cpp:243:19: error: use of undeclared identifier 'CODEC_FLAG_QSCALE'
c->flags |= CODEC_FLAG_QSCALE;
^
src/zm_mpeg.cpp:268:19: error: use of undeclared identifier 'CODEC_FLAG_GLOBAL_HEADER'
c->flags |= CODEC_FLAG_GLOBAL_HEADER;
^
src/zm_mpeg.cpp:428:22: error: use of undeclared identifier 'AVFMT_RAWPICTURE'
if ( !(of->flags & AVFMT_RAWPICTURE) )
^
src/zm_mpeg.cpp:675:20: error: use of undeclared identifier 'AVFMT_RAWPICTURE'
if ( of->flags & AVFMT_RAWPICTURE )
^
src/zm_sdp.cpp:497:38: error: use of undeclared
identifier 'FF_INPUT_BUFFER_PADDING_SIZE'
packet_size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
^
src/zm_videostore.cpp:116:31: error: use of undeclared identifier 'CODEC_FLAG_GLOBAL_HEADER'
video_st->codec->flags |= CODEC_FLAG_GLOBAL_HEADER;
^
src/zm_videostore.cpp:149:35: error: use of undeclared identifier 'CODEC_FLAG_GLOBAL_HEADER'
audio_st->codec->flags |= CODEC_FLAG_GLOBAL_HEADER;
^
src/zm_videostore.cpp:286:74: error: use of undeclared identifier 'AVFMT_RAWPICTURE'
if (video_st->codec->codec_type == AVMEDIA_TYPE_VIDEO && (fmt->flags & AVFMT_RAWPICTURE)) {
^
PR: 227726
Reported by: antoine (via exp-run)68e8abc92dmultimedia/ffmpeg: update to 4.0 - FFSERVER support was removed upstream - libressl now uses libtls backend instead of patching openssl one - Clang i386 no longer uses 16-byte aligned stack Changes: https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/n4.0:/Changelog ABI: https://abi-laboratory.pro/tracker/timeline/ffmpeg/ PR: 227726 Exp-run by: antoine Differential Revision: https://reviews.freebsd.org/D15175c400a2c8b6
Introduce PHP flavors. Ports using USES=php:phpize, php:ext, php:zend, and php:pecl are now flavored. They will automatically get flavors (php56, php70, php71, php72) depending of the versions they support (set with IGNORE_WITH_PHP). As a consequence, ports using USES=pear and USES=horde are also flavored. PR: 226242 Submitted by: mat Exp-run by: antoine Approved by: portmgr Sponsored by: Absolight Differential Revision: https://reviews.freebsd.org/D14208a1993564e0
Move devel/p5-Sys-Cpu to devel/p5-Sys-CPU - Strip shared library - Bump PORTREVISION for package change - Bump PORTREVISION of dependent ports for dependency change - Pass maintainership to perl@2c0bfe9da5
Do not abuse INSTALL_MAN when installing documentation, examples, and other miscellaneous files that are not actually manual pages (part 2).a247b2f47d
multimedia/ffmpeg: update to 3.4
Notable changes:
- i386/amd64 now depend on NASM per https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/4f9297ac3b39
- NETCDF is now MYSOFA but the dependency doesn't exist in ports yet
- SCHROEDINGER is gone per https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/220b24c7c9
- DRM, LIBRSVG2, LIBXML2 are new options
- ABI isn't completely compatible: some structs have changed
Minor cleanup:
- Don't pass --disable-{in,out}dev when it's already blocked by disabled dependency
- Drop redundant "Enable" from option descriptions
- Switch CDIO_DESC to use Mk/bsd.options.desc.mk
Changes: https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/n3.4:/Changelog
ABI: https://abi-laboratory.pro/tracker/timeline/ffmpeg/
PR: 223057
Exp-run by: antoine84e727457fMake ninja opt-out in cmake.mk
Using ninja instead of make (1) can lead to significant speed ups while building.
Therefore switch from having the ninja generator opt-in to having it opt-out.
Previously cmake-ports that wanted to use ninja could set
CMAKE_NINJA=yes
now, ports that do not work with ninja can set
cmake:<existing args>,noninja
Note, that needing this should be an exception and most often points to a broken
cmake of the port.
The ports using cmake were modified
* removed USES=gmake, if ninja is used
* removed MAKE_ARGS, if ninja is used
* added the cmake-argument noninja if necessary
PR: 219629
PR: 213331
Exp-run by: antoine
Reviewed by: rakuco
Differential Revision: https://reviews.freebsd.org/D107485e373eaa92- Update to 1.30.4 PR: 219748 Submitted by: bsd@abinet.ru (maintainer)ece5ed8402
Fix OPTIONS_DEFAULT: remove NLS which is added by framework Approved by: portmgr (blanket)9517538203
Remove svn keywords from patches. Sponsored by: Absolightaa1ca03dda
- Update to 1.30.3 PR: 218292 Submitted by: maintainer3ce3a0d97e
Chase ffmpeg 3.3 update (ABI changes) PR: 218658 Submitted by: riggsb50a4186ce
multimedia/zoneminder{-h264}: fix build with clang 4.0
PR: 216627
Reported by: jbeich
Submitted by: Ivan <bsd@abinet.ru> (maintainer)
MFH: 2017Q114389cc24f- Remove always-true/false conditions after FreeBSD 9, 10.1, 10.2 EOL Approved by: portmgr blanket8244fe99bc
Never set WRKSRC when using USE_GITHUB. If you want to set WRKSRC, set GH_PROJECT instead. - The GitHub URLs are case insensitive, but the distribution files you get out of them are not. - If the repository was renamed, the old URL will still work, but the distribution name will be ith the new name. Sponsored by: Absolightd83ff1e42e
multimedia/ffmpeg: update to 3.2.2 Changes: https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/n3.2.2:/Changelog PR: 207547 Submitted by: riggs, ebirth@b0ss.net (libressl fix) Exp-run by: antoine (3 tries)0c612c4aa3
Fix build and update to 1.30 PR: ports/211681 Submitted by: Ivan (bsd@abinet.ru) Approved by: maintainer00a4bcd4bf
multimedia/zoneminder: Upgrade from 1.30.0-rc1 to 1.30.0-rc2 Changes: https://github.com/ZoneMinder/ZoneMinder/releases/tag/v1.30.0-rc2 PR: 210939 Submitted by: Ivan <bsd@abinet.ru> Approved by: pi (mentor)5b387656e1
- Add missing php dependencies, works with PHP7 - Documentation tweaks PR: 210442 Submitted by: maintainer81c5c108ac
multimedia/zoneminder: Fix Malformed conditional introduced by last commit Without an inclusion, OSVERSION and ARCH aren't defined. While here, couple OSVERSION with OPSYS. It's not strictly necessary in this case, but it maintains consistency with other ports. The previous change was apparently committed without any verification. Approved by: just-fix-it7244904cd3
Fix multimedia/zoneminder build on 9.3-i386 and head-amd64 PR: 210261 Submitted by: bsd@abinet.ru Approved by: jadawin Differential Revision: https://reviews.freebsd.org/D685471cf1564f9
multimedia/zoneminder: Unbreak build for systems with v4l1 Systems lacking video4linux2, but with video4linux1 fail to build ZM due to v4l2 specific macro. PR: 210088 Submitted by: Ivan <bsd@abinet.ru> (maintainer)08b7f2debd
multimedia/zoneminder: 1.25.0 -> 1.30.0 - submitter becomes maintainer - A huge list of changes since April 2013 can be found here: https://github.com/ZoneMinder/ZoneMinder/releases/ PR: 210007 Submitted by: bsd@abinet.rubfde1e8cb6
- Fix trailing whitespace in pkg-descrs, categories [g-n]* Approved by: portmgr blanket4e942b6419
many ports: mark broken on powerpc6486cd4fbe5a
Remove ${PORTSDIR}/ from dependencies, categories m, n, o, and p.
With hat: portmgr
Sponsored by: Absolight8d6597e0bb- Ignore php7138445784e
Drop 8 support. With hat: portmgr Sponsored by: Absolight Differential Revision: https://reviews.freebsd.org/D36947f0f664d7e
Convert to USES=jpeg6e5719ca80
- Add empty directory to plist471dc942a3
- Fix BUILD_DEPENDS - Bump PORTREVISION as this may change version of php used in run dependsb9bad70d18
Add patch to allow for building with newer libv4l. https://reviews.freebsd.org/D1482 Obtained from: upstreamba8fae4960
Change the way Perl modules are installed, update the default Perl to 5.18. Before, we had: site_perl : lib/perl5/site_perl/5.18 site_perl/perl_arch : lib/perl5/site_perl/5.18/mach perl_man3 : lib/perl5/5.18/man/man3 Now we have: site_perl : lib/perl5/site_perl site_arch : lib/perl5/site_perl/mach/5.18 perl_man3 : lib/perl5/site_perl/man/man3 Modules without any .so will be installed at the same place regardless of the Perl version, minimizing the upgrade when the major Perl version is changed. It uses a version dependent directory for modules with compiled bits. As PERL_ARCH is no longer needed in plists, it has been removed from PLIST_SUB. The USE_PERL5=fixpacklist keyword is removed, the .packlist file is now always removed, as is perllocal.pod. The old site_perl and site_perl/arch directories have been kept in the default Perl @INC for all Perl ports, and will be phased out as these old Perl versions expire. PR: 194969 Differential Revision: https://reviews.freebsd.org/D1019 Exp-run by: antoine Reviewed by: perl@ Approved by: portmgreee58d187e
Fix build as a user. Sponsored by: Absolightb4ab5320cf
Replace some occurences of mach with PERL_ARCH (and a couple of other small noop fixes.) With hat: perl@ Sponsored by: Absolightd291ad32ca
multimedia/zoneminder: fix syntax error in main php page PR: 192363 Submitted by: p-fbsd-bugs@ziemba.usbdee884ec7
multimedia/zoneminder: add missing files/patch-src_zm_thread.h patch-src_zm_thread.h fixes the break on HEAD PR: 192123 Submitted by: p-fbsd-bugs@ziemba.us49b576cccd
multimedia/zoneminder: STAGE support and compilation fixes for 10.x. PR: 192123 Submitted by: p-fbsd-bugs@ziemba.us (G. Paul Ziemba)e578190ffd
Reset maintainership for ports not staged with no pending PR With hat: portmgra5ac46e19e
Modernize LIB_DEPENDS With hat: portmgrffb7170399