Merge branch 'master' into mysql2PDO

This commit is contained in:
Isaac Connor
2013-10-16 16:58:33 -04:00
9 changed files with 958 additions and 878 deletions

View File

@@ -4,22 +4,22 @@ New installs
1. Unless you are already using the MySQL server or you are running it
remotely you will need to ensure that the server is installed and secured:
yum install mysql-community-server
--OR--
yum install mariadb-server
sudo yum install community-mysql-server
sudo systemctl enable mysqld
sudo system start mysqld
sudo systemctl start mysqld.service
mysql_secure_installation
NOTE: The Fedora team currently recommends mysql-community over mariadb
2. Using the password for the root account set during the previous step, you
will need to create the ZoneMinder database, assuming your database server
is local:
mysql -u root -p < /usr/share/zoneminder/db/zm_create.sql
mysqladmin reload
mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql
mysqladmin -uroot -p reload
3. The database needs a user. One is not created by default because this would
introduce an obvious security issue. The following should set this up:
@@ -117,15 +117,16 @@ Upgrades
grant alter on zm.* to
'zmuser'@localhost identified by 'zmpass';
Since this is an upgrade, the assumption is that the zmuser account already has
select, insert, update, and delete permission.
Since this is an upgrade, the assumption is that the zmuser account already
has select, insert, update, and delete permission.
3. You will need to upgrade the ZoneMinder database as described in the
manual. Only if the previous step was succesful, may you run zmupdate like so:
manual. Only if the previous step was succesful, may you run zmupdate like
so:
sudo zmupdate.pl --version=<from version>
If unsure then run it this way:
sudo zmupdate.pl --user=root --pass=<mysql_root_pwd> --version=<from version>
sudo zmupdate.pl --user=root --pass=<mysql_root_pwd> --version=<from version>

View File

@@ -0,0 +1,76 @@
--- configure.ac 2013-08-15 11:44:10.000000000 -0500
+++ configure.ac.logdir 2013-08-17 09:20:07.326053328 -0500
@@ -46,7 +46,7 @@
AC_SUBST(ZM_TMPDIR,[/tmp/zm])
fi
if test "$ZM_LOGDIR" == ""; then
- AC_SUBST(ZM_LOGDIR,[/var/log/zm])
+ AC_SUBST(ZM_LOGDIR,[/var/log/zoneminder])
fi
LIB_ARCH=lib
--- scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in 2013-08-01 18:14:45.175241378 -0500
+++ scripts/ZoneMinder/lib/ZoneMinder/ConfigData.pm.in.defaults 2013-08-07 18:57:42.525006149 -0500
@@ -187,7 +187,7 @@
},
{
name => "ZM_PATH_ZMS",
- default => "/cgi-bin/nph-zms",
+ default => "/cgi-bin/zm/nph-zms",
description => "Web path to zms streaming server",
help => "The ZoneMinder streaming server is required to send streamed images to your browser. It will be installed into the cgi-bin path given at configuration time. This option determines what the web path to the server is rather than the local path on your machine. Ordinarily the streaming server runs in parser-header mode however if you experience problems with streaming you can change this to non-parsed-header (nph) mode by changing 'zms' to 'nph-zms'.",
type => $types{rel_path},
@@ -276,7 +276,7 @@
},
{
name => "ZM_OPT_CAMBOZOLA",
- default => "no",
+ default => "yes",
description => "Is the (optional) cambozola java streaming client installed",
help => "Cambozola is a handy low fat cheese flavoured Java applet that ZoneMinder uses to view image streams on browsers such as Internet Explorer that don't natively support this format. If you use this browser it is highly recommended to install this from http://www.charliemouse.com/code/cambozola/ however if it is not installed still images at a lower refresh rate can still be viewed.",
type => $types{boolean},
@@ -526,7 +526,7 @@
},
{
name => "ZM_LOG_DEBUG_FILE",
- default => "@ZM_TMPDIR@/zm_debug.log+",
+ default => "/var/log/zoneminder/zm_debug_log+",
description => "Where extra debug is output to",
help => "This option allows you to specify a different target for debug output. All components have a default log file which will norally be in /tmp or /var/log and this is where debug will be written to if this value is empty. Adding a path here will temporarily redirect debug, and other logging output, to this file. This option is a simple filename and you are debugging several components then they will all try and write to the same file with undesirable consequences. Appending a '+' to the filename will cause the file to be created with a '.<pid>' suffix containing your process id. In this way debug from each run of a component is kept separate. This is the recommended setting as it will also prevent subsequent runs from overwriting the same log. You should ensure that permissions are set up to allow writing to the file and directory specified here.",
requires => [ { name => "ZM_LOG_DEBUG", value => "yes" } ],
@@ -623,7 +623,7 @@
},
{
name => "ZM_PATH_SOCKS",
- default => "@ZM_TMPDIR@",
+ default => "/var/lib/zoneminder/sock",
description => "Path to the various Unix domain socket files that ZoneMinder uses",
help => "ZoneMinder generally uses Unix domain sockets where possible. This reduces the need for port assignments and prevents external applications from possibly compromising the daemons. However each Unix socket requires a .sock file to be created. This option indicates where those socket files go.",
type => $types{abs_path},
@@ -639,7 +639,7 @@
},
{
name => "ZM_PATH_SWAP",
- default => "@ZM_TMPDIR@",
+ default => "/dev/shm",
description => "Path to location for temporary swap images used in streaming",
help => "Buffered playback requires temporary swap images to be stored for each instance of the streaming daemons. This option determines where these images will be stored. The images will actually be stored in sub directories beneath this location and will be automatically cleaned up after a period of time.",
type => $types{abs_path},
@@ -902,7 +902,7 @@
},
{
name => "ZM_UPLOAD_FTP_LOC_DIR",
- default => "@ZM_TMPDIR@",
+ default => "/var/spool/zoneminder-upload",
description => "The local directory in which to create upload files",
help => "You can use filters to instruct ZoneMinder to upload events to a remote ftp server. This option indicates the local directory that ZoneMinder should use for temporary upload files. These are files that are created from events, uploaded and then deleted.",
requires => [ { name => "ZM_OPT_UPLOAD", value => "yes" } ],
@@ -1258,7 +1258,7 @@
},
{
name => "ZM_OPT_CONTROL",
- default => "no",
+ default => "yes",
description => "Support controllable (e.g. PTZ) cameras",
help => "ZoneMinder includes limited support for controllable cameras. A number of sample protocols are included and others can easily be added. If you wish to control your cameras via ZoneMinder then select this option otherwise if you only have static cameras or use other control methods then leave this option off.",
type => $types{boolean},

View File

@@ -200,7 +200,7 @@ fi
%files
%defattr(-,root,root,-)
%doc AUTHORS COPYING README.md distros/fedora/README.Fedora jscalendar-doc
%config(noreplace) %attr(640,root,%{zmgid_final}) /etc/zm.conf
%config %attr(640,root,%{zmgid_final}) /etc/zm.conf
%config(noreplace) %attr(644,root,root) /etc/httpd/conf.d/zoneminder.conf
%config(noreplace) /etc/tmpfiles.d/zoneminder.conf
%config(noreplace) /etc/logrotate.d/zoneminder

View File

@@ -36,14 +36,14 @@ Patch3: zoneminder-1.26.0-defaults.patch
BuildRequires: automake gnutls-devel systemd-units
BuildRequires: libtool bzip2-devel
BuildRequires: mysql-devel pcre-devel libjpeg-devel
BuildRequires: community-mysql-devel pcre-devel libjpeg-turbo-devel
BuildRequires: perl(Archive::Tar) perl(Archive::Zip)
BuildRequires: perl(Date::Manip) perl(DBD::mysql)
BuildRequires: perl(ExtUtils::MakeMaker) perl(LWP::UserAgent)
BuildRequires: perl(ExtUtils::MakeMaker) perl(LWP::UserAgent::Determined)
BuildRequires: perl(MIME::Entity) perl(MIME::Lite)
BuildRequires: perl(PHP::Serialization) perl(Sys::Mmap)
BuildRequires: perl(Time::HiRes) perl(Net::SFTP::Foreign)
BuildRequires: perl(Expect)
BuildRequires: perl(Expect) perl(Sys::Syslog)
BuildRequires: gcc gcc-c++
BuildRequires: autoconf autoconf-archive
# Comment out for no ffmpeg
@@ -214,7 +214,7 @@ fi
%files
%defattr(-,root,root,-)
%doc AUTHORS COPYING README.md distros/fedora/README.Fedora jscalendar-doc
%config(noreplace) %attr(640,root,%{zmgid_final}) /etc/zm.conf
%config %attr(640,root,%{zmgid_final}) /etc/zm.conf
%config(noreplace) %attr(644,root,root) /etc/httpd/conf.d/zoneminder.conf
%config(noreplace) /etc/tmpfiles.d/zoneminder.conf
%config(noreplace) /etc/logrotate.d/zoneminder

View File

@@ -21,10 +21,14 @@
mysql -uroot -p < /usr/share/zoneminder/db/zm_create.sql
mysqladmin -uroot -p reload
3. IMPORTANT: Edit /etc/php.ini and put in the appropriate timezone for
3. If you have chosen to change the zoneminder mysql credentials to something
other than zmuser/zmpass then you must now edit /etc/zm.conf. Change
ZM_DB_USER and ZM_DB_PASS to the values you created in step 2.
4. IMPORTANT: Edit /etc/php.ini and put in the appropriate timezone for
date.timezone!
4. The ZoneMinder web interface is disabled by default, you will need
5. The ZoneMinder web interface is disabled by default, you will need
to edit this file to enable it:
/etc/httpd/conf.d/zoneminder.conf
@@ -32,16 +36,16 @@
HINT: Most users will want to simply delete the line that says
"Deny from all".
5. Configure the web server to start automatically:
6. Configure the web server to start automatically:
sudo chkconfig httpd on
sudo service httpd start
6. This package has automatically configured and installed an SELinux policy
7. This package has automatically configured and installed an SELinux policy
called local_zoneminder. A copy of this policy is in the documentation
folder.
7. Finally, you may start the ZoneMinder service:
8. Finally, you may start the ZoneMinder service:
sudo service zoneminder start
@@ -57,11 +61,15 @@
grant alter on zm.* to
'zmuser'@localhost identified by 'zmpass';
Since this is an upgrade, the assumption is that the zmuser account already
has select, insert, update, and delete permission.
Since this is an upgrade, the assumption is that the zmuser account exists
and already has select, insert, update, and delete permission.
2. You will need to upgrade the ZoneMinder database as described in the manual.
Only if the previous step was succesful, may you run zmupdate like so:
2. If you have previsouly changed the zoneminder mysql credentials to something
other than zmuser/zmpass then you must now edit /etc/zm.conf. Change
ZM_DB_USER and ZM_DB_PASS to their appropriate values.
3. You will need to upgrade the ZoneMinder database as described in the manual.
Only if step 1 was succesfully applied, may you run zmupdate like so:
sudo zmupdate.pl --version=<from version>

View File

@@ -195,7 +195,7 @@ rm -rf %{_docdir}/%{name}-%{version}
%files
%defattr(-,root,root,-)
%doc AUTHORS BUGS ChangeLog COPYING LICENSE NEWS README.md distros/redhat/README.CentOS jscalendar-doc cambozola-doc distros/redhat/local_zoneminder.te
%config(noreplace) %attr(640,root,%{zmgid_final}) %{_sysconfdir}/zm.conf
%config %attr(640,root,%{zmgid_final}) %{_sysconfdir}/zm.conf
%config(noreplace) %attr(644,root,root) %{_sysconfdir}/httpd/conf.d/zoneminder.conf
%config(noreplace) /etc/logrotate.d/%{name}
%attr(755,root,root) %{_initrddir}/zoneminder

View File

@@ -221,7 +221,7 @@ fi
%files
%defattr(-,root,root,-)
%doc AUTHORS BUGS ChangeLog COPYING LICENSE NEWS README.md distros/redhat/README.CentOS jscalendar-doc cambozola-doc distros/redhat/local_zoneminder.te
%config(noreplace) %attr(640,root,%{zmgid_final}) %{_sysconfdir}/zm.conf
%config %attr(640,root,%{zmgid_final}) %{_sysconfdir}/zm.conf
%config(noreplace) %attr(644,root,root) %{_sysconfdir}/httpd/conf.d/zoneminder.conf
%config(noreplace) /etc/logrotate.d/%{name}
%attr(755,root,root) %{_initrddir}/zoneminder

View File

@@ -1161,9 +1161,10 @@ void EventStream::checkEventLoaded()
loadEventData( event_id );
Debug( 2, "Current frame id = %d", curr_frame_id );
if ( curr_frame_id <= 0 )
curr_frame_id = event_data->frame_count;
else
// When loading a new event, always set the current frame id to the first frame rather than the last
// if ( curr_frame_id <= 0 )
// curr_frame_id = event_data->frame_count;
// else
curr_frame_id = 1;
Debug( 2, "New frame id = %d", curr_frame_id );
}

View File

File diff suppressed because it is too large Load Diff