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