pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
zoneminder: Update pkgsrc README and Makefile comments
Module Name: pkgsrc-wip
Committed By: Greg Troxel <gdt%lexort.com@localhost>
Pushed By: gdt
Date: Fri May 26 15:40:21 2023 -0400
Changeset: 88dc3967d18861ed9eb53f76c69a78148d8bd356
Modified Files:
zoneminder/Makefile
zoneminder/TODO
zoneminder/files/README-pkgsrc.md
zoneminder/files/zoneminder.conf
Log Message:
zoneminder: Update pkgsrc README and Makefile comments
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=88dc3967d18861ed9eb53f76c69a78148d8bd356
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
zoneminder/Makefile | 19 ++++++++++--------
zoneminder/TODO | 10 +++++++---
zoneminder/files/README-pkgsrc.md | 41 ++++++++++++++++++++++++++++-----------
zoneminder/files/zoneminder.conf | 2 --
4 files changed, 48 insertions(+), 24 deletions(-)
diffs:
diff --git a/zoneminder/Makefile b/zoneminder/Makefile
index 8849496fc5..f796d3e707 100644
--- a/zoneminder/Makefile
+++ b/zoneminder/Makefile
@@ -49,21 +49,19 @@ USE_TOOLS+= gmake perl pkg-config
# configuration. We take the view that if an installation can be
# reasonably configured to use a module, that module should be a
# dependency, absent some reason that it is so heavyweight that it
-# should be an option.
-
+# should be an option. zoneminder discourages building from source
+# and does not appear to document the list of dependencies
DEPENDS+= p5-Archive-Zip-[0-9]*:../../archivers/p5-Archive-Zip
-DEPENDS+= p5-Date-Manip-[0-9]*:../../devel/p5-Date-Manip
DEPENDS+= p5-Device-SerialPort-[0-9]*:../../comms/p5-Device-SerialPort
DEPENDS+= p5-DBD-mysql-[0-9]*:../../databases/p5-DBD-mysql
+DEPENDS+= p5-Date-Manip-[0-9]*:../../devel/p5-Date-Manip
+DEPENDS+= p5-PHP-Serialization-[0-9]*:../../devel/p5-PHP-Serialization
+DEPENDS+= p5-Sys-Mmap-[0-9]*:../../devel/p5-Sys-Mmap
DEPENDS+= p5-MIME-Lite-[0-9]*:../../mail/p5-MIME-Lite
-# MIME::Entity is needed from p5-MIME-tools
DEPENDS+= p5-MIME-tools-[0-9]*:../../mail/p5-MIME-tools
DEPENDS+= p5-Net-SFTP-Foreign-[0-9]*:../../net/p5-Net-SFTP-Foreign
-DEPENDS+= p5-PHP-Serialization-[0-9]*:../../devel/p5-PHP-Serialization
-DEPENDS+= p5-Sys-MemInfo-[0-9]*:../../wip/p5-Sys-MemInfo
-DEPENDS+= p5-Sys-Mmap-[0-9]*:../../devel/p5-Sys-Mmap
+DEPENDS+= p5-Sys-MemInfo-[0-9]*:../../sysutils/p5-Sys-MemInfo
#DEPENDS+= {perl>=5.7.3,p5-Time-HiRes-[0-9]*}:../../time/p5-Time-HiRes
-# LWP::UserAgent is needed from p5-libwww
DEPENDS+= p5-libwww-[0-9]*:../../www/p5-libwww
# \todo: Decide to drop CONFIGURE_ARGS, validating that each has been
@@ -174,6 +172,7 @@ DEPENDS+= ${APACHE_PKG_PREFIX}-${PHP_PKG_PREFIX}-[0-9]*:../../www/ap-php
DEPENDS+= ${PHP_PKG_PREFIX}-gd-[0-9]*:../../graphics/php-gd
DEPENDS+= ${PHP_PKG_PREFIX}-pdo_mysql-[0-9]*:../../databases/php-pdo_mysql
DEPENDS+= ${PHP_PKG_PREFIX}-sockets-[0-9]*:../../net/php-sockets
+DEPENDS+= ${PHP_PKG_PREFIX}-json-[0-9]*:../../textproc/php-json
.endif
# \todo Somehow, this permission setup still fails.
@@ -185,6 +184,10 @@ OWN_DIRS_PERMS+= ${ZM_CACHE}/images ${REAL_ROOT_USER} ${APACHE_GROUP} 775
OWN_DIRS_PERMS+= ${ZM_CACHE}/events ${REAL_ROOT_USER} ${APACHE_GROUP} 775
CMAKE_ARGS+= -DZM_CONTENTDIR=${ZM_CACHE}
+# \todo Set "web cachedir"
+# -DZM_CACHEDIR=?
+
+
# ZoneMinder scripts needing Perl $PATH patching AND interpreter patching
ZM_REPLACE_PERL+= scripts/zmaudit.pl.in
ZM_REPLACE_PERL+= scripts/zmcamtool.pl.in
diff --git a/zoneminder/TODO b/zoneminder/TODO
index 0ebc7bd006..9b25c7a19a 100644
--- a/zoneminder/TODO
+++ b/zoneminder/TODO
@@ -18,6 +18,10 @@
new deps: pecl-apcu, file-slurp, format-human-bytes
hoist deps to pkgsrc: wip/p5-Sys-MemInfo
- Figure out apache config in terms of what is installed, whether we
- want to $include it, why there is a config file from pkgsrc, etc.
- work/zoneminder-1.32.3/misc/apache.conf
+ There is a concept of a git submodule for CakePHP-Enum-Behavior,
+ and that upstream has not yet accepted a needed change. However it
+ has also not been rejected.
+ https://github.com/zoneminder/CakePHP-Enum-Behavior
+ https://github.com/asper/CakePHP-Enum-Behavior
+ https://github.com/asper/CakePHP-Enum-Behavior/pull/8
+
\ No newline at end of file
diff --git a/zoneminder/files/README-pkgsrc.md b/zoneminder/files/README-pkgsrc.md
index 7f300487df..38385d3210 100644
--- a/zoneminder/files/README-pkgsrc.md
+++ b/zoneminder/files/README-pkgsrc.md
@@ -4,12 +4,21 @@ This is a local pkgsrc README for the zoneminder package. It attempts
not to duplicate the upstream documentation. (Arguably, some of this
should be pushed upstream.)
-# jpeg implementation
+# pkgsrc-specific notes
+
+## Choice of jpeg implementation
ZoneMinder claims to benefit dramatically from using libjpeg-turbo.
Consider setting that as default in mk.conf
`JPEG_DEFAULT=libjpeg-turbo` and then *everything*.
+## User and Group
+
+zoneminder uses APACHE_USER and APACHE_GROUP. These are www by
+default, but people set them to fpm for use with nginx and php_fpm.
+It is important that apache, zoneminder, and any existing directories
+all agree.
+
# MySQL configuration and initial database creation
(It seems that zoneminder only works with MySQL.)
@@ -18,7 +27,6 @@ Condider adding `bind-address=127.0.0.1` to `etc/my.conf`, if you are
using mysql only for zoneminder and do not want it accessible from the
network.
-
See upstream instructions at
https://zoneminder.readthedocs.io/en/1.32.3/installationguide/ubuntu.html
which are for Ubuntu, but seem mostly generic.
@@ -37,15 +45,26 @@ See "Step 9: Edit Timezone in PHP". Otherwise, access to streams will
fail. See https://github.com/ZoneMinder/ZoneMinder/issues/1552 for
more information.
-# web setup
-
-To enable the web interface via Apache, add the following line to httpd.conf:
-
- Include ${PREFIX}/share/examples/zoneminder/apache/zoneminder.conf
-
-PHP may log warnings if the PHP date.timezone configuration is not
-set. Consider assigning a default system time zone to date.timezone
-in ${PKG_SYSCONFDIR}/php.ini. [This paragraph might be old advice.]
+# Web setup
+
+See "Step 7: Configure Apache correctly", but edit the apache config
+file instead of using the not-in-pkgsrc a2enmod command.
+
+mod_cgid is a hard requirement. zm appears to work without rewrite
+and expire. headers is default on. Enabling a zoneminder apache
+module does not make sense.
+
+Perhaps, one needs to use prefork instead of event. \todo Validate.
+
+Zoneminder installs
+${PREFIX}/share/examples/zoneminder/apache/zoneminder.conf, which does
+two things:
+ - aliases /zm to the zm main dir and /zm/cgi-bin/ to the zm cgi directory
+ - allows those paths to 127.0.0.1
+Either `Include` this, copy/modify and `Include`, or insert into
+httpd.conf. (You will need to adjust the IP acl if you want
+off-machine access; this should be addressed upstream but does not
+seem to be.)
# Upgrading from previous versions
diff --git a/zoneminder/files/zoneminder.conf b/zoneminder/files/zoneminder.conf
index bee99bc406..cf900e8632 100644
--- a/zoneminder/files/zoneminder.conf
+++ b/zoneminder/files/zoneminder.conf
@@ -7,7 +7,6 @@ ScriptAlias /zm/cgi-bin/ "@ZM_HTTPD_CGIBIN@/"
<Directory "@ZM_HTTPD_CGIBIN@">
<RequireAny>
Require ip 127.0.0.1
- Require ip 172.16.32.0/24
</RequireAny>
</Directory>
@@ -19,6 +18,5 @@ Alias /zm "@ZM_HTTPD_ROOT@"
DirectoryIndex index.php
<RequireAny>
Require ip 127.0.0.1
- Require ip 172.16.32.0/24
</RequireAny>
</Directory>
Home |
Main Index |
Thread Index |
Old Index