It looks like the package installation does not create /var/log/zm directory and later the software complains about that. At least in my case, I had to manually create that directory and set its ownership to www:www. Another nit is that the package message suggests to set date.timezone in PHP configuration. It looks like the newer zoneminder recommends to set the time zone in zoneminder's configuration. https://zoneminder.readthedocs.io/en/stable/userguide/gettingstarted.html
Yet another issue I noticed is that at least some files under /usr/local/www/zoneminder/lang/ use incorrect -- for FreeBSD -- locale names and, thus, those locales do not take effect. For example, en_gb.php has 'en_GB.utf8' while on FreeBSD it should be 'en_GB.UTF-8'. As a result, dates are shown in the US / C format (e.g. month/day). Fixing the locale name fixes the date display.
^Triage: reporter is committer, assign accordingly
1. Create /var/log/zm. Also "events" dir must be in /var/db/zoneminder, not in /var/cache/zoneminder. Patch: diff -ur /usr/ports/multimedia/zoneminder.orig/pkg-plist /usr/ports/multimedia/zoneminder/pkg-plist --- /usr/ports/multimedia/zoneminder.orig/pkg-plist +++ /usr/ports/multimedia/zoneminder/pkg-plist @@ -8149,8 +8149,9 @@ @dir(%%WWWOWN%%,%%WWWGRP%%,) %%WWWDIR%%/api/app/tmp @dir(%%WWWOWN%%,%%WWWGRP%%,) %%WWWDIR%%/temp @dir(%%WWWOWN%%,%%WWWGRP%%,) /var/cache/zoneminder -@dir(%%WWWOWN%%,%%WWWGRP%%,) /var/cache/zoneminder/events @dir(%%WWWOWN%%,%%WWWGRP%%,) /var/cache/zoneminder/images @dir(%%WWWOWN%%,%%WWWGRP%%,) /var/db/zoneminder +@dir(%%WWWOWN%%,%%WWWGRP%%,) /var/db/zoneminder/events +@dir(%%WWWOWN%%,%%WWWGRP%%,) /var/log/zm @dir(%%WWWOWN%%,%%WWWGRP%%,) /var/run/zm @dir(%%WWWOWN%%,%%WWWGRP%%,) /var/tmp/zm 2. About date.timezone: > PHP throws warning if date.timezone option is not set. So this recommendation for remove warning, AFAIU. 3. About /usr/local/www/zoneminder/lang/ > en_gb.php has 'en_GB.utf8' while on FreeBSD it should be 'en_GB.UTF-8' Fixed in upstream: https://github.com/ZoneMinder/zoneminder/commit/9ad7ce3823b2cb296f5e5b615883c04af5238801 4. Work on update to 1.36.32 now: https://github.com/ZoneMinder/zoneminder/issues/3505.
1. Forgot post patch for Makefile: --- multimedia/zoneminder.orig/Makefile +++ multimedia/zoneminder/Makefile @@ -105,9 +105,10 @@ ${MKDIR} ${STAGEDIR}${WWWDIR}/temp ${MKDIR} ${STAGEDIR}${WWWDIR}/api/app/tmp ${MKDIR} ${STAGEDIR}/var/cache/zoneminder - ${MKDIR} ${STAGEDIR}/var/cache/zoneminder/events ${MKDIR} ${STAGEDIR}/var/cache/zoneminder/images ${MKDIR} ${STAGEDIR}/var/db/zoneminder + ${MKDIR} ${STAGEDIR}/var/db/zoneminder/events + ${MKDIR} ${STAGEDIR}/var/log/zm ${MKDIR} ${STAGEDIR}/var/run/zm ${MKDIR} ${STAGEDIR}/var/tmp/zm
I have a patch that integrates your efforts to bring 1.36.32 and fix for the issues, mentioned here. I need testing though, however I can post the patch here.
(In reply to Ivan from comment #5) https://pastebin.com/bRCug87r
Created attachment 240372 [details] zoneminder 1.36.12 -> 1.36.33 update Zoneminder update 1.36.12 -> 1.36.33 The latest version brings php 8.1 compatibility and numerous fixes. --- It took a long time b/c 1.36.14 introduced an undefined behavior issue in packet queue under FreeBSD, crashing zmc processes every minute. Fortunately, ZM developers could identify and fix it. More information here https://github.com/ZoneMinder/zoneminder/issues/3505 Big thanks to everyone who helped me to update and test the port. Without your participation, 1.36.12 could be the last FreeBSD compatible version.
(In reply to Ivan from comment #7) Maybe sort USE_PHP: -USE_PHP= json pdo_mysql session gd sockets ctype opcache openssl hash intl sysvsem +USE_PHP= ctype gd hash intl json opcache openssl pdo_mysql session sockets sysvsem
Created attachment 240373 [details] zoneminder 1.36.12 -> 1.36.33 update Sorted USE_PHP dependencies
(In reply to Ivan from comment #9) It needs -p6 to apply to a git tree: git apply --check --verbose -p6 /tmp/zonem It's cleaner to do this on a git ports tree with your changes applied: git diff HEAD <port> and add that diff to a PR.
Created attachment 241376 [details] zoneminder 1.36.12 -> 1.36.33 update Proper diff paths handling
Committed, thanks!
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=71909fff64eb4a3abd28ba6a2a77441c1acad7e9 commit 71909fff64eb4a3abd28ba6a2a77441c1acad7e9 Author: Ivan <bsd@abinet.ru> AuthorDate: 2023-04-09 16:33:08 +0000 Commit: Kurt Jaeger <pi@FreeBSD.org> CommitDate: 2023-04-09 16:37:29 +0000 multimedia/zoneminder: update 1.36.12 -> 1.36.33, add php 8.1 compat - package installation now creates /var/log/zm - fixes some locale names PR: 267304 Changes: https://github.com/ZoneMinder/zoneminder/releases Tested-by: VVD <vvd@unislabs.com> multimedia/zoneminder/Makefile | 11 +++--- multimedia/zoneminder/distinfo | 10 ++--- multimedia/zoneminder/files/pkg-message.in | 5 +++ multimedia/zoneminder/pkg-plist | 61 +++++++++++++++--------------- 4 files changed, 46 insertions(+), 41 deletions(-)
Just for information: updated to 1.36.33 and it work fine now. Require "sudo -u www zmupdate.pl -f".