[buildsys-build-rpmfusion/el7] rebuild for kernel 3.10.0-957.el7
by Nicolas Chauvet
commit f3997e20d2c412ec0061e2ff30a77d0004148eef
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Sat Dec 8 18:47:19 2018 +0100
rebuild for kernel 3.10.0-957.el7
buildsys-build-rpmfusion-kerneldevpkgs-current | 8 ++++----
buildsys-build-rpmfusion.spec | 5 ++++-
2 files changed, 8 insertions(+), 5 deletions(-)
---
diff --git a/buildsys-build-rpmfusion-kerneldevpkgs-current b/buildsys-build-rpmfusion-kerneldevpkgs-current
index 3f79ee4..bd24af4 100644
--- a/buildsys-build-rpmfusion-kerneldevpkgs-current
+++ b/buildsys-build-rpmfusion-kerneldevpkgs-current
@@ -1,4 +1,4 @@
-3.10.0-862.el7
-3.10.0-862.el7smp
-3.10.0-862.el7PAE
-3.10.0-862.el7lpae
+3.10.0-957.el7
+3.10.0-957.el7smp
+3.10.0-957.el7PAE
+3.10.0-957.el7lpae
diff --git a/buildsys-build-rpmfusion.spec b/buildsys-build-rpmfusion.spec
index 828659e..8f0018f 100644
--- a/buildsys-build-rpmfusion.spec
+++ b/buildsys-build-rpmfusion.spec
@@ -3,7 +3,7 @@
Name: buildsys-build-%{repo}
Epoch: 11
Version: 20
-Release: 105
+Release: 106
Summary: Tools and files used by the %{repo} buildsys
Group: Development/Tools
@@ -92,6 +92,9 @@ rm -rf $RPM_BUILD_ROOT
%changelog
+* Sat Dec 08 2018 Nicolas Chauvet <kwizart(a)gmail.com> - 11:20-106
+- rebuild for kernel 3.10.0-957.el7
+
* Tue May 15 2018 Nicolas Chauvet <kwizart(a)gmail.com> - 11:20-105
- rebuild for kernel 3.10.0-862.el7
5 years, 11 months
[zoneminder/el7: 2/3] Merge branch 'master' into el7
by Andrew Bauer
commit c916c14bbd74973b36067d730d8b372678aa6537
Merge: 21980c0 b161175
Author: Andrew Bauer <zonexpertconsulting(a)outlook.com>
Date: Sat Dec 8 11:07:14 2018 -0600
Merge branch 'master' into el7
.gitignore | 1 +
sources | 2 +-
zoneminder.spec | 225 ++++++++++++++++++++++++++++++++++++++++----------------
3 files changed, 164 insertions(+), 64 deletions(-)
---
5 years, 11 months
[zoneminder/f28: 3/3] Merge branch 'master' into f28
by Andrew Bauer
commit 67e47f498096918f7169abde4f74d4d8eff9570c
Merge: 40ff3fe b161175
Author: Andrew Bauer <zonexpertconsulting(a)outlook.com>
Date: Sat Dec 8 10:06:22 2018 -0600
Merge branch 'master' into f28
.gitignore | 1 +
sources | 2 +-
zoneminder.spec | 225 ++++++++++++++++++++++++++++++++++++++++----------------
3 files changed, 164 insertions(+), 64 deletions(-)
---
5 years, 11 months
[zoneminder/f28] (3 commits) ...Merge branch 'master' into f28
by Andrew Bauer
Summary of changes:
39795b6... Rebuild for ffmpeg-3.4.5 on el7 (*)
b161175... 1.32.3 Release Break into sub-packages (*)
67e47f4... Merge branch 'master' into f28
(*) This commit already existed in another branch; no separate mail sent
5 years, 11 months
[zoneminder/f29: 3/3] Merge branch 'master' into f29
by Andrew Bauer
commit 49ddcebb2bde32895919c1ad8340d5b08f0c6339
Merge: af2b487 b161175
Author: Andrew Bauer <zonexpertconsulting(a)outlook.com>
Date: Sat Dec 8 10:05:45 2018 -0600
Merge branch 'master' into f29
.gitignore | 1 +
sources | 2 +-
zoneminder.spec | 225 ++++++++++++++++++++++++++++++++++++++++----------------
3 files changed, 164 insertions(+), 64 deletions(-)
---
5 years, 11 months
[zoneminder/f29] (3 commits) ...Merge branch 'master' into f29
by Andrew Bauer
Summary of changes:
39795b6... Rebuild for ffmpeg-3.4.5 on el7 (*)
b161175... 1.32.3 Release Break into sub-packages (*)
49ddceb... Merge branch 'master' into f29
(*) This commit already existed in another branch; no separate mail sent
5 years, 11 months
[zoneminder] 1.32.3 Release Break into sub-packages
by Andrew Bauer
commit b16117554fda24d8e12be7da724e0b6bed44f72d
Author: Andrew Bauer <zonexpertconsulting(a)outlook.com>
Date: Sat Dec 8 09:42:38 2018 -0600
1.32.3 Release
Break into sub-packages
.gitignore | 1 +
sources | 2 +-
zoneminder.spec | 220 ++++++++++++++++++++++++++++++++++++++++----------------
3 files changed, 160 insertions(+), 63 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index b1b289e..4965a72 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@
/zoneminder-1.32.0.tar.gz
/zoneminder-1.32.1.tar.gz
/zoneminder-1.32.2.tar.gz
+/zoneminder-1.32.3.tar.gz
diff --git a/sources b/sources
index 3e5d212..6d489b3 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
9ac5569ffaf82e4339d97af7fbe0d392 cakephp-enum-behavior-1.0-zm.tar.gz
86ae07e6ee1cd06ee6f608a85a5da808 crud-3.1.0-zm.tar.gz
-3c288ac549f5e7798f0452b13f22f80a zoneminder-1.32.2.tar.gz
+af8161cc1cfed8710a3c2156f72f9b71 zoneminder-1.32.3.tar.gz
diff --git a/zoneminder.spec b/zoneminder.spec
index 4a1cb64..941bad9 100644
--- a/zoneminder.spec
+++ b/zoneminder.spec
@@ -1,3 +1,4 @@
+# Leaving this to allow one to build zoneminder-http subpackage using arbitrary user account
%global zmuid_final apache
%global zmgid_final apache
@@ -7,10 +8,6 @@
# CakePHP-Enum-Behavior is configured as a git submodule
%global ceb_version 1.0-zm
-%if "%{zmuid_final}" == "nginx"
-%global with_nginx 1
-%endif
-
%global sslcert %{_sysconfdir}/pki/tls/certs/localhost.crt
%global sslkey %{_sysconfdir}/pki/tls/private/localhost.key
@@ -22,12 +19,14 @@
%global with_apcu_bc 1
%endif
+# The default for everything but el7 these days
%global _hardened_build 1
Name: zoneminder
-Version: 1.32.2
-Release: 2%{?dist}
+Version: 1.32.3
+Release: 1%{?dist}
Summary: A camera monitoring and analysis tool
+Group: System Environment/Daemons
# Mootools is inder the MIT license: http://mootools.net/
# CakePHP is under the MIT license: https://github.com/cakephp/cakephp
# Crud is under the MIT license: https://github.com/FriendsOfCake/crud
@@ -73,6 +72,7 @@ BuildRequires: vlc-devel
BuildRequires: libcurl-devel
BuildRequires: libv4l-devel
BuildRequires: desktop-file-utils
+BuildRequires: gzip
# ZoneMinder looks for and records the location of the ffmpeg binary during build
BuildRequires: ffmpeg
@@ -82,11 +82,25 @@ BuildRequires: ffmpeg-devel
BuildRequires: libmp4v2-devel
BuildRequires: x264-devel
-%{?with_nginx:Requires: nginx}
-%{?with_nginx:Requires: fcgiwrap}
-%{?with_nginx:Requires: php-fpm}
-%{!?with_nginx:Requires: httpd}
-%{!?with_nginx:Requires: php}
+# Allow existing user base to seamlessly transition to sub-packages
+Requires: %{name}-common%{?_isa} = %{version}-%{release}
+Requires: %{name}-httpd%{?_isa} = %{version}-%{release}
+
+%description
+ZoneMinder is a set of applications which is intended to provide a complete
+solution allowing you to capture, analyze, record and monitor any cameras you
+have attached to a Linux based machine. It is designed to run on kernels which
+support the Video For Linux (V4L) interface and has been tested with cameras
+attached to BTTV cards, various USB cameras and IP network cameras. It is
+designed to support as many cameras as you can attach to your computer without
+too much degradation of performance.
+
+This is a meta package for backwards compatibility with the existing
+ZoneMinder user base.
+
+%package common
+Summary: Common files for ZoneMinder, not tied to a specific web server
+
Requires: php-mysqli
Requires: php-common
Requires: php-gd
@@ -111,16 +125,32 @@ Requires: perl(Net::FTP)
Requires: perl(LWP::Protocol::https)
Requires: ca-certificates
Requires: zip
-
-Requires(post): systemd
-Requires(post): systemd-sysv
-Requires(preun): systemd
-Requires(postun): systemd
+%{?systemd_requires}
Requires(post): %{_bindir}/gpasswd
-Requires(post): %{_bindir}/less
+Requires(post): %{_bindir}/chown
-%description
+%description common
+ZoneMinder is a set of applications which is intended to provide a complete
+solution allowing you to capture, analyze, record and monitor any cameras you
+have attached to a Linux based machine. It is designed to run on kernels which
+support the Video For Linux (V4L) interface and has been tested with cameras
+attached to BTTV cards, various USB cameras and IP network cameras. It is
+designed to support as many cameras as you can attach to your computer without
+too much degradation of performance.
+
+This is a meta-package that exists solely to allow the existing user base to
+seamlessly transition to sub-packages.
+
+%package httpd
+Summary: ZoneMinder configuration for Apache web server
+Requires: %{name}-common%{?_isa} = %{version}-%{release}
+Requires: httpd
+Requires: php
+
+Conflicts: %{name}-nginx
+
+%description httpd
ZoneMinder is a set of applications which is intended to provide a complete
solution allowing you to capture, analyze, record and monitor any cameras you
have attached to a Linux based machine. It is designed to run on kernels which
@@ -129,15 +159,37 @@ attached to BTTV cards, various USB cameras and IP network cameras. It is
designed to support as many cameras as you can attach to your computer without
too much degradation of performance.
+This sub-package contains configuration specific to Apache web server
+
+%package nginx
+Summary: ZoneMinder configuration for Nginx web server
+Requires: %{name}-common%{?_isa} = %{version}-%{release}
+Requires: nginx
+Requires: php-fpm
+Requires: fcgiwrap
+
+Conflicts: %{name}-httpd
+
+%description nginx
+ZoneMinder is a set of applications which is intended to provide a complete
+solution allowing you to capture, analyze, record and monitor any cameras you
+have attached to a Linux based machine. It is designed to run on kernels which
+support the Video For Linux (V4L) interface and has been tested with cameras
+attached to BTTV cards, various USB cameras and IP network cameras. It is
+designed to support as many cameras as you can attach to your computer without
+too much degradation of performance.
+
+This sub-package contains support for ZoneMinder with the Nginx web server
+
%prep
-%autosetup -p 1 -a 1 -n ZoneMinder-%{version}
-%{__rm} -rf ./web/api/app/Plugin/Crud
-%{__mv} -f crud-%{crud_version} ./web/api/app/Plugin/Crud
+%autosetup -p 1 -a 1
+rm -rf ./web/api/app/Plugin/Crud
+mv -f crud-%{crud_version} ./web/api/app/Plugin/Crud
# The all powerful autosetup macro does not work after the second source tarball
-%{__gzip} -dc %{_sourcedir}/cakephp-enum-behavior-%{ceb_version}.tar.gz | tar -xvvf -
-%{__rm} -rf ./web/api/app/Plugin/CakePHP-Enum-Behavior
-%{__mv} -f CakePHP-Enum-Behavior-%{ceb_version} ./web/api/app/Plugin/CakePHP-Enum-Behavior
+gzip -dc %{_sourcedir}/cakephp-enum-behavior-%{ceb_version}.tar.gz | tar -xvvf -
+rm -rf ./web/api/app/Plugin/CakePHP-Enum-Behavior
+mv -f CakePHP-Enum-Behavior-%{ceb_version} ./web/api/app/Plugin/CakePHP-Enum-Behavior
# Change the following default values
./utils/zmeditconfigdata.sh ZM_OPT_CAMBOZOLA yes
@@ -150,7 +202,7 @@ too much degradation of performance.
%build
%cmake3 \
-DZM_WEB_USER="%{zmuid_final}" \
- -DZM_WEB_GROUP="%{zmuid_final}" \
+ -DZM_WEB_GROUP="%{zmgid_final}" \
-DZM_TARGET_DISTRO="%{zmtargetdistro}" \
.
@@ -172,10 +224,13 @@ find %{buildroot} \( -name .htaccess -or -name .editorconfig -or -name .packlist
find %{buildroot}%{_datadir}/zoneminder/www/api \( -name cake -or -name cake.php \) -type f -exec sed -i 's\^#!/usr/bin/env bash$\#!%{_buildshell}\' {} \; -exec %{__chmod} 755 {} \;
# Use the system cacert file rather then the one bundled with CakePHP
-%{__rm} -f %{buildroot}%{_datadir}/zoneminder/www/api/lib/Cake/Config/cacert.pem
-%{__ln_s} ../../../../../../../..%{_sysconfdir}/pki/tls/certs/ca-bundle.crt %{buildroot}%{_datadir}/zoneminder/www/api/lib/Cake/Config/cacert.pem
+rm -f %{buildroot}%{_datadir}/zoneminder/www/api/lib/Cake/Config/cacert.pem
+ln -s ../../../../../../../..%{_sysconfdir}/pki/tls/certs/ca-bundle.crt %{buildroot}%{_datadir}/zoneminder/www/api/lib/Cake/Config/cacert.pem
-%post
+# Handle the polkit file differently for web server agnostic support (see post)
+rm -f %{buildroot}%{_datadir}/polkit-1/rules.d/com.zoneminder.systemctl.rules
+
+%post common
# Initial installation
if [ $1 -eq 1 ] ; then
%systemd_post %{name}.service
@@ -183,28 +238,48 @@ fi
# Upgrade from a previous version of zoneminder
if [ $1 -eq 2 ] ; then
-
# Add any new PTZ control configurations to the database (will not overwrite)
%{_bindir}/zmcamtool.pl --import >/dev/null 2>&1 || :
# Freshen the database
%{_bindir}/zmupdate.pl -f >/dev/null 2>&1 || :
-
- # We can't run this automatically when new sql account permissions need to
- # be manually added first
- # Run zmupdate non-interactively
- # zmupdate.pl --nointeractive
fi
+# Warn the end user to read the README file
+echo -e "\nVERY IMPORTANT: Before starting ZoneMinder, you must read the README file\nto finish the installation or upgrade!"
+echo -e "\nThe README file is located here: %{_pkgdocdir}-common/README\n"
+
+%post httpd
+# For the case of changing from nginx <-> httpd, files in these folders must change ownership if they exist
+%{_bindir}/chown -R %{zmuid_final}:%{zmgid_final} %{_sharedstatedir}/php/session/* >/dev/null 2>&1 || :
+%{_bindir}/chown -R %{zmuid_final}:%{zmgid_final} %{_localstatedir}/log/zoneminder/* >/dev/null 2>&1 || :
+
+ln -sf %{_sysconfdir}/zm/www/com.zoneminder.systemctl.rules.httpd %{_datadir}/polkit-1/rules.d/com.zoneminder.systemctl.rules
+# backwards compatibility
+ln -sf %{_sysconfdir}/zm/www/zoneminder.httpd.conf %{_sysconfdir}/zm/www/zoneminder.conf
+
# Allow zoneminder access to local video sources, serial ports, and x10
%{_bindir}/gpasswd -a %{zmuid_final} video >/dev/null 2>&1 || :
%{_bindir}/gpasswd -a %{zmuid_final} dialout >/dev/null 2>&1 || :
-# Warn the end user to read the README file
-echo -e "\nVERY IMPORTANT: Before starting ZoneMinder, you must read the README file\nto finish the installation or upgrade!"
-echo -e "\nThe README file is located here: %{_pkgdocdir}/README\n"
+%post nginx
+
+# Php package owns the session folder and sets group ownership to apache account
+# We could override the folder permission, but adding nginx to the apache group works better
+%{_bindir}/gpasswd -a nginx apache >/dev/null 2>&1 || :
+
+# For the case of changing from httpd <-> nginx, files in these folders must change ownership if they exist
+%{_bindir}/chown -R nginx:nginx %{_sharedstatedir}/php/session/* >/dev/null 2>&1 || :
+%{_bindir}/chown -R nginx:nginx %{_localstatedir}/log/zoneminder/* >/dev/null 2>&1 || :
+
+ln -sf %{_sysconfdir}/zm/www/com.zoneminder.systemctl.rules.nginx %{_datadir}/polkit-1/rules.d/com.zoneminder.systemctl.rules
+# backwards compatibility
+ln -sf %{_sysconfdir}/zm/www/zoneminder.nginx.conf %{_sysconfdir}/zm/www/zoneminder.conf
+
+# Allow zoneminder access to local video sources, serial ports, and x10
+%{_bindir}/gpasswd -a nginx video >/dev/null 2>&1 || :
+%{_bindir}/gpasswd -a nginx dialout >/dev/null 2>&1 || :
-%if 0%{?with_nginx}
# Nginx does not create an SSL certificate like the apache package does so lets do that here
if [ -f %{sslkey} -o -f %{sslcert} ]; then
exit 0
@@ -230,7 +305,6 @@ SomeOrganizationalUnit
${FQDN}
root@${FQDN}
EOF
-%endif
%preun
%systemd_preun %{name}.service
@@ -238,19 +312,12 @@ EOF
%postun
%systemd_postun_with_restart %{name}.service
-%triggerun -- zoneminder < 1.25.0-4
-# Save the current service runlevel info
-# User must manually run systemd-sysv-convert --apply zoneminder
-# to migrate them to systemd targets
-%{_bindir}/systemd-sysv-convert --save zoneminder >/dev/null 2>&1 ||:
-
-# Run these because the SysV package being removed won't do them
-/sbin/chkconfig --del zoneminder >/dev/null 2>&1 || :
-/bin/systemctl try-restart zoneminder.service >/dev/null 2>&1 || :
-
%files
+# nothing
+
+%files common
%license COPYING
-%doc AUTHORS README.md distros/redhat/readme/README distros/redhat/readme/README.https
+%doc AUTHORS README.md distros/redhat/readme/README distros/redhat/readme/README.httpd distros/redhat/readme/README.nginx distros/redhat/readme/README.https
# We want these two folders to have "normal" read permission
# compared to the folder contents
@@ -260,21 +327,11 @@ EOF
# Config folder contents contain sensitive info
# and should not be readable by normal users
%{_sysconfdir}/zm/conf.d/README
-%config(noreplace) %attr(640,root,%{zmgid_final}) %{_sysconfdir}/zm/zm.conf
-%config(noreplace) %attr(640,root,%{zmgid_final}) %{_sysconfdir}/zm/conf.d/*.conf
-%ghost %attr(640,root,%{zmgid_final}) %{_sysconfdir}/zm/conf.d/zmcustom.conf
-%config(noreplace) %attr(644,root,root) /etc/zm/www/zoneminder.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/zoneminder
-%if 0%{?with_nginx}
-%config(noreplace) %{_sysconfdir}/php-fpm.d/zoneminder.conf
-%endif
-
-%{_tmpfilesdir}/zoneminder.conf
%{_unitdir}/zoneminder.service
%{_datadir}/polkit-1/actions/com.zoneminder.systemctl.policy
-%{_datadir}/polkit-1/rules.d/com.zoneminder.systemctl.rules
%{_bindir}/zmsystemctl.pl
%{_bindir}/zma
@@ -305,8 +362,19 @@ EOF
%{_libexecdir}/zoneminder/
%{_datadir}/zoneminder/
-%{_datadir}/applications/*%{name}.desktop
+%{_datadir}/applications/*zoneminder.desktop
+
+%files httpd
+%config(noreplace) %attr(640,root,%{zmgid_final}) %{_sysconfdir}/zm/zm.conf
+%config(noreplace) %attr(640,root,%{zmgid_final}) %{_sysconfdir}/zm/conf.d/0*.conf
+%ghost %attr(640,root,%{zmgid_final}) %{_sysconfdir}/zm/conf.d/zmcustom.conf
+%config(noreplace) %{_sysconfdir}/zm/www/zoneminder.httpd.conf
+%ghost %{_sysconfdir}/zm/www/zoneminder.conf
+%config(noreplace) %{_sysconfdir}/zm/www/com.zoneminder.systemctl.rules.httpd
+%ghost %{_datadir}/polkit-1/rules.d/com.zoneminder.systemctl.rules
+%{_unitdir}/zoneminder.service.d/zm-httpd.conf
+%{_tmpfilesdir}/zoneminder.httpd.tmpfiles.conf
%dir %attr(755,%{zmuid_final},%{zmgid_final}) %{_sharedstatedir}/zoneminder
%dir %attr(755,%{zmuid_final},%{zmgid_final}) %{_sharedstatedir}/zoneminder/events
%dir %attr(755,%{zmuid_final},%{zmgid_final}) %{_sharedstatedir}/zoneminder/images
@@ -316,9 +384,37 @@ EOF
%dir %attr(755,%{zmuid_final},%{zmgid_final}) %{_localstatedir}/cache/zoneminder
%dir %attr(755,%{zmuid_final},%{zmgid_final}) %{_localstatedir}/log/zoneminder
%dir %attr(755,%{zmuid_final},%{zmgid_final}) %{_localstatedir}/spool/zoneminder-upload
-%dir %attr(755,%{zmuid_final},%{zmgid_final}) %{_localstatedir}/run/zoneminder
+
+%files nginx
+%config(noreplace) %attr(640,root,nginx) %{_sysconfdir}/zm/zm.conf
+%config(noreplace) %attr(640,root,nginx) %{_sysconfdir}/zm/conf.d/*.conf
+%ghost %attr(640,root,nginx) %{_sysconfdir}/zm/conf.d/zmcustom.conf
+%config(noreplace) %{_sysconfdir}/zm/www/zoneminder.nginx.conf
+%config(noreplace) %{_sysconfdir}/zm/www/redirect.nginx.conf
+%ghost %{_sysconfdir}/zm/www/zoneminder.conf
+%config(noreplace) %{_sysconfdir}/zm/www/com.zoneminder.systemctl.rules.nginx
+%ghost %{_datadir}/polkit-1/rules.d/com.zoneminder.systemctl.rules
+
+%config(noreplace) %{_sysconfdir}/php-fpm.d/zoneminder.php-fpm.conf
+
+
+%{_unitdir}/zoneminder.service.d/zm-nginx.conf
+%{_tmpfilesdir}/zoneminder.nginx.tmpfiles.conf
+%dir %attr(755,nginx,nginx) %{_sharedstatedir}/zoneminder
+%dir %attr(755,nginx,nginx) %{_sharedstatedir}/zoneminder/events
+%dir %attr(755,nginx,nginx) %{_sharedstatedir}/zoneminder/images
+%dir %attr(755,nginx,nginx) %{_sharedstatedir}/zoneminder/sock
+%dir %attr(755,nginx,nginx) %{_sharedstatedir}/zoneminder/swap
+%dir %attr(755,nginx,nginx) %{_sharedstatedir}/zoneminder/temp
+%dir %attr(755,nginx,nginx) %{_localstatedir}/cache/zoneminder
+%dir %attr(755,nginx,nginx) %{_localstatedir}/log/zoneminder
+%dir %attr(755,nginx,nginx) %{_localstatedir}/spool/zoneminder-upload
%changelog
+* Sat Dec 08 2018 Andrew Bauer <zonexpertconsulting(a)outlook.com> - 1.32.3-1
+- 1.32.3 Release
+- Break into sub-packages
+
* Tue Nov 13 2018 Antonio Trande <sagitter(a)fedoraproject.org> - 1.32.2-2
- Rebuild for ffmpeg-3.4.5 on el7
- Use CMake3
5 years, 11 months