[packages/zoneminder] - rel 3; fix build

arekm arekm at pld-linux.org
Tue Aug 14 17:04:59 CEST 2012


commit a8eed2b599283a6cb283ca04faf88a7c4275c437
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Tue Aug 14 17:04:54 2012 +0200

    - rel 3; fix build

 zoneminder-1.25.0-gcc47.patch    | 33 +++++++++++++++
 zoneminder-1.25.0-gcrypt.patch   | 86 ++++++++++++++++++++++++++++++++++++++++
 zoneminder-1.25.0-kernel35.patch | 21 ++++++++++
 zoneminder.spec                  |  8 +++-
 4 files changed, 147 insertions(+), 1 deletion(-)
---
diff --git a/zoneminder.spec b/zoneminder.spec
index 3246abd..292c623 100644
--- a/zoneminder.spec
+++ b/zoneminder.spec
@@ -10,7 +10,7 @@ Summary:	Zone Minder is a software motion detector with nice WWW GUI
 Summary(pl.UTF-8):	Zone Minder - programowy wykrywacz ruchu z miłym GUI przez WWW
 Name:		zoneminder
 Version:	1.25.0
-Release:	2
+Release:	3
 License:	GPL v2
 Group:		Applications/Graphics
 Source0:	http://www.zoneminder.com/downloads/ZoneMinder-%{version}.tar.gz
@@ -26,6 +26,9 @@ Patch0:		zm-fedora.patch
 Patch1:		%{name}-xlib_shm.patch
 Patch2:		%{name}-build.patch
 Patch3:		%{name}-init.patch
+Patch4:		%{name}-1.25.0-gcc47.patch
+Patch5:		%{name}-1.25.0-gcrypt.patch
+Patch6:		%{name}-1.25.0-kernel35.patch
 URL:		http://www.zoneminder.com/
 BuildRequires:	autoconf
 BuildRequires:	automake
@@ -91,6 +94,9 @@ cd xlib_shm-*
 cd ..
 %patch2 -p1
 %patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
 
 sed -i -e 's#-frepo##g' src/Makefile.am
 sed -i -e 's#chown#true#g' -e 's#chmod#true#g' *.am */*.am */*/*.am
diff --git a/zoneminder-1.25.0-gcc47.patch b/zoneminder-1.25.0-gcc47.patch
new file mode 100644
index 0000000..a083c6d
--- /dev/null
+++ b/zoneminder-1.25.0-gcc47.patch
@@ -0,0 +1,33 @@
+diff -up ./src/zm_local_camera.cpp.gcc47 ./src/zm_local_camera.cpp
+--- ./src/zm_local_camera.cpp.gcc47	2011-06-21 04:19:10.000000000 -0500
++++ ./src/zm_local_camera.cpp	2012-01-19 13:43:49.142440717 -0600
+@@ -26,6 +26,7 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
++#include <limits.h>
+ #include <unistd.h>
+ #include <sys/mman.h>
+ #include <errno.h>
+diff -up ./src/zm_logger.cpp.gcc47 ./src/zm_logger.cpp
+--- ./src/zm_logger.cpp.gcc47	2011-06-28 06:07:35.000000000 -0500
++++ ./src/zm_logger.cpp	2012-01-19 13:43:49.142440717 -0600
+@@ -33,6 +33,7 @@
+ #include <signal.h>
+ #include <stdarg.h>
+ #include <errno.h>
++#include <unistd.h>
+ 
+ bool Logger::smInitialised = false;
+ Logger *Logger::smInstance = 0;
+diff -up ./src/zm_thread.h.gcc47 ./src/zm_thread.h
+--- ./src/zm_thread.h.gcc47	2012-01-19 13:44:43.082766722 -0600
++++ ./src/zm_thread.h	2012-01-19 13:44:56.966335869 -0600
+@@ -21,6 +21,7 @@
+ #define ZM_THREAD_H
+ 
+ #include <pthread.h>
++#include <unistd.h>
+ #include "zm_exception.h"
+ #include "zm_utils.h"
+ 
diff --git a/zoneminder-1.25.0-gcrypt.patch b/zoneminder-1.25.0-gcrypt.patch
new file mode 100644
index 0000000..21f197e
--- /dev/null
+++ b/zoneminder-1.25.0-gcrypt.patch
@@ -0,0 +1,86 @@
+diff -up ./configure.ac.gcrypt ./configure.ac
+--- ./configure.ac.gcrypt	2012-01-19 12:58:20.647123209 -0600
++++ ./configure.ac	2012-01-19 13:12:34.186669577 -0600
+@@ -13,7 +13,7 @@ AC_ARG_VAR(ZM_DB_HOST,[Hostname where Zo
+ AC_ARG_VAR(ZM_DB_NAME,[Name of ZoneMinder database, default zm])
+ AC_ARG_VAR(ZM_DB_USER,[Name of ZoneMinder database user, default zmuser])
+ AC_ARG_VAR(ZM_DB_PASS,[Password of ZoneMinder database user, default zmpass])
+-AC_ARG_VAR(ZM_SSL_LIB,[Library to use for ssl functions, default gnutls])
++AC_ARG_VAR(ZM_SSL_LIB,[Library to use for MD5 function, default libgcrypt])
+ AC_ARG_VAR(ZM_MYSQL_ENGINE,[MySQL engine to use with database, default MyISAM])
+ AC_ARG_VAR(ZM_RUNDIR,[Location of transient process files, default /var/run/zm])
+ AC_ARG_VAR(ZM_TMPDIR,[Location of temporary files, default /tmp/zm])
+@@ -32,7 +32,7 @@ if test "$ZM_DB_PASS" == ""; then
+ 	AC_SUBST(ZM_DB_PASS,[zmpass])
+ fi
+ if test "$ZM_SSL_LIB" == ""; then
+-	AC_SUBST(ZM_SSL_LIB,gnutls)
++	AC_SUBST(ZM_SSL_LIB,libgcrypt)
+ fi
+ if test "$ZM_MYSQL_ENGINE" == ""; then
+ 	AC_SUBST(ZM_MYSQL_ENGINE,MyISAM)
+@@ -264,11 +264,10 @@ AC_CHECK_LIB(jpeg,jpeg_start_compress,,A
+ AC_CHECK_LIB(pthread,pthread_create,,AC_MSG_ERROR(zm requires libpthread.a))
+ AC_CHECK_LIB(dl,dlsym,,AC_MSG_ERROR(zm requires libdl.a))
+ if test "$ZM_SSL_LIB" == "openssl"; then
+-AC_CHECK_LIB(crypto,MD5,,AC_MSG_WARN([libcrypto.a is required for authenticated streaming - use ZM_SSL_LIB option to select gnutls instead]))
++AC_CHECK_LIB(crypto,MD5,,AC_MSG_WARN([libcrypto.a is required for authenticated streaming - use ZM_SSL_LIB option to select libgcrypt instead]))
+ else
+-AC_CHECK_HEADERS(gcrypt.h,,AC_MSG_WARN(zm requires libgcrypt headers to be installed for gnutls),)
++AC_CHECK_HEADERS(gcrypt.h,,AC_MSG_WARN(zm requires libgcrypt headers to be installed),)
+ AC_CHECK_LIB(gcrypt,gcry_check_version,,AC_MSG_WARN([libgcrypt.a is required for authenticated streaming - use ZM_SSL_LIB option to select openssl instead]))
+-AC_CHECK_LIB(gnutls-openssl,MD5,,AC_MSG_WARN([gnutls-openssl.a is required for authenticated streaming - use ZM_SSL_LIB option to select openssl instead]))
+ fi
+ AC_CHECK_LIB(pcre,pcre_compile,,AC_MSG_WARN(libpcre.a may be required for remote/network camera support))
+ AC_CHECK_LIB(z,zlibVersion)
+@@ -320,9 +319,6 @@ AC_CHECK_DECLS(round,,,[#include <math.h
+ if test "$ZM_SSL_LIB" == "openssl"; then
+ AC_CHECK_DECLS(MD5,,AC_MSG_ERROR([zm requires openssl/md5.h - use ZM_SSL_LIB option to select gnutls instead]),[#include <stdlib.h>
+ #include <openssl/md5.h>])
+-else
+-AC_CHECK_DECLS(MD5,,AC_MSG_ERROR([zm requires gnutls/openssl.h - use ZM_SSL_LIB option to select openssl instead]),[#include <stdlib.h>
+-#include <gnutls/openssl.h>])
+ fi
+ AC_CHECK_DECLS(backtrace,,,[#include <execinfo.h>])
+ 
+diff -up ./src/zm_user.cpp.gcrypt ./src/zm_user.cpp
+--- ./src/zm_user.cpp.gcrypt	2011-08-03 06:31:06.000000000 -0500
++++ ./src/zm_user.cpp	2012-01-19 12:58:20.654122992 -0600
+@@ -140,6 +140,18 @@ User *zmLoadUser( const char *username, 
+ 	return( user );
+ }
+ 
++#ifdef HAVE_GCRYPT_H
++#define HAVE_DECL_MD5 1
++#define MD5_DIGEST_LENGTH 16
++static unsigned char *MD5(const unsigned char *data, unsigned long len,
++                         unsigned char *md)
++{
++    gcry_md_hash_buffer(GCRY_MD_MD5, md, data, len);
++
++    return md;
++}
++#endif
++
+ // Function to validate an authentication string
+ User *zmLoadAuthUser( const char *auth, bool use_remote_addr )
+ {
+diff -up ./src/zm_user.h.gcrypt ./src/zm_user.h
+--- ./src/zm_user.h.gcrypt	2010-11-11 06:11:07.000000000 -0600
++++ ./src/zm_user.h	2012-01-19 13:14:11.200654694 -0600
+@@ -23,14 +23,11 @@
+ #ifndef ZM_USER_H
+ #define ZM_USER_H
+ 
+-#if HAVE_LIBGNUTLS_OPENSSL
+-#include <gnutls/openssl.h>
+ #if HAVE_GCRYPT_H
+ #include <gcrypt.h>
+-#endif // HAVE_GCRYPT_H
+ #elif HAVE_LIBCRYPTO
+ #include <openssl/md5.h>
+-#endif // HAVE_LIBGNUTLS_OPENSSL || HAVE_LIBCRYPTO
++#endif // HAVE_GCRYPT_H || HAVE_LIBCRYPTO
+ 
+ class User
+ {
diff --git a/zoneminder-1.25.0-kernel35.patch b/zoneminder-1.25.0-kernel35.patch
new file mode 100644
index 0000000..51bc128
--- /dev/null
+++ b/zoneminder-1.25.0-kernel35.patch
@@ -0,0 +1,21 @@
+diff -up ./src/zm_local_camera.cpp.kernel35 ./src/zm_local_camera.cpp
+--- ./src/zm_local_camera.cpp.kernel35	2012-07-16 15:01:22.182614878 -0500
++++ ./src/zm_local_camera.cpp	2012-07-16 15:02:16.491941730 -0500
+@@ -740,7 +740,7 @@ void LocalCamera::Terminate()
+     {
+         Debug( 3, "Terminating video stream" );
+         //enum v4l2_buf_type type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+-        enum v4l2_buf_type type = v4l2_data.fmt.type;
++        enum v4l2_buf_type type = (v4l2_buf_type)v4l2_data.fmt.type;
+         if ( vidioctl( vid_fd, VIDIOC_STREAMOFF, &type ) < 0 )
+             Error( "Failed to stop capture stream: %s", strerror(errno) );
+ 
+@@ -1520,7 +1520,7 @@ int LocalCamera::PrimeCapture()
+ 
+         Debug( 3, "Starting video stream" );
+         //enum v4l2_buf_type type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+-        enum v4l2_buf_type type = v4l2_data.fmt.type;
++        enum v4l2_buf_type type = (v4l2_buf_type)v4l2_data.fmt.type;
+         if ( vidioctl( vid_fd, VIDIOC_STREAMON, &type ) < 0 )
+             Fatal( "Failed to start capture stream: %s", strerror(errno) );
+     }


More information about the pld-cvs-commit mailing list