From 772a194c0c89e4cc72ea617c0b0d1d0f943c6b6d Mon Sep 17 00:00:00 2001 From: Kolan Sh Date: Thu, 3 Jan 2013 01:50:34 +0400 Subject: [PATCH] zoneminder-1.25.0 added --- www-misc/zoneminder/Manifest | 10 ++ .../1.24.2/db_upgrade_script_location.patch | 11 ++ .../files/1.25.0/Makefile.am.2.patch | 23 +++ .../zoneminder/files/1.25.0/Makefile.am.patch | 19 +++ .../1.25.0/avutil-mathematics-header.patch | 17 ++ .../files/1.25.0/kernel-3.5-v4l.patch | 24 +++ www-misc/zoneminder/files/10_zoneminder.conf | 18 ++ www-misc/zoneminder/files/conf.d | 6 + www-misc/zoneminder/files/init.d | 20 +++ www-misc/zoneminder/zoneminder-1.25.0.ebuild | 154 ++++++++++++++++++ 10 files changed, 302 insertions(+) create mode 100644 www-misc/zoneminder/Manifest create mode 100644 www-misc/zoneminder/files/1.24.2/db_upgrade_script_location.patch create mode 100644 www-misc/zoneminder/files/1.25.0/Makefile.am.2.patch create mode 100644 www-misc/zoneminder/files/1.25.0/Makefile.am.patch create mode 100644 www-misc/zoneminder/files/1.25.0/avutil-mathematics-header.patch create mode 100644 www-misc/zoneminder/files/1.25.0/kernel-3.5-v4l.patch create mode 100644 www-misc/zoneminder/files/10_zoneminder.conf create mode 100644 www-misc/zoneminder/files/conf.d create mode 100644 www-misc/zoneminder/files/init.d create mode 100644 www-misc/zoneminder/zoneminder-1.25.0.ebuild diff --git a/www-misc/zoneminder/Manifest b/www-misc/zoneminder/Manifest new file mode 100644 index 00000000..9a2e9e6b --- /dev/null +++ b/www-misc/zoneminder/Manifest @@ -0,0 +1,10 @@ +AUX 1.24.2/db_upgrade_script_location.patch 412 SHA256 3ffaa44c013dd27c3e5e937de77158c60b4cd37f28e1fc42dd7283f80075b067 SHA512 c215b7bfc3bb500a5483c91a0532b350e1b70d31949e223163c709bc211133f3f4bfa3e499104fc1b6e70c229e8469dc37a2ae40365084e27ffa2b71c0ce1ce4 WHIRLPOOL ecc433d1d52f88f4c6eebe46caff28f456aad71aece47f76f3adee2d57275ed9b2c30400bb931c6c27cbd4614e9de8573a8eb5bffc73d08e566b04a1d2c420f1 +AUX 1.25.0/Makefile.am.2.patch 1573 SHA256 b860455e1162982b6a186fded5bd565a75762fb79b806fefae56310a55a90943 SHA512 10d07f0867314fd4f695d0a10f6ebb0eed2d48c5aba286367c3c3115a6c3eca4b7e8a2d3f56d392d2b0063fe99e9d391b038767677a3152cdfb1773882447b9d WHIRLPOOL be6c9dbdccd2575f4129adc9d9ca7a0fd84413650ae383f8f747b90e44cffc458fdbe4285bd8b723f11b64dbfd586318b40abc445870c11caf363fd29fa0765b +AUX 1.25.0/Makefile.am.patch 1428 SHA256 ca42c55acc95c28053a7f9498efe216a40041b8dd0f330de812c7aafdb2c62c8 SHA512 c58c2f7b4e19fb32c2ffda393511758a183e5b75cbc3b5d89b6ec53863017709f01ebe783ee45e176fdd287006bc1d9f7dd64deb14a3459340904853ca6aedbe WHIRLPOOL 1024ecad29b7b4bb7246c0c3578a7bf5df8aa3f71d6430b83825053fdb55a01a917eed1d1fde57e0e2a776fc667b0fb51c8725b6d78e8a44d766571e42d82463 +AUX 1.25.0/avutil-mathematics-header.patch 612 SHA256 4169d05adf7593554e251d6ff5ab09c165d08fe51d9d3460fbcff18264b46f5b SHA512 304269a48b9f6cf9b82b6e4b13c0847ca18fca0d1ad2d691c1b169831fbce95f66c1cc1aaebba44898692065e2c930ff92dee6aced84c2bf4ed20dc78e960f69 WHIRLPOOL dc092b1035a7933582a1d3765561c0fd548ed2b9d2288969a2190588df689fa42bf5794ae5099560e11c4b7240ab324d5ccc2210c4db7f50b6c0bd5c13895a5c +AUX 1.25.0/kernel-3.5-v4l.patch 1086 SHA256 e0cde5870f17a6705987f8d1098ebe86d6078b418240e4b85f4c74c6fb274b28 SHA512 cd552d6807724c5967e5b2255549c50188b01cc298b0db2e88e491eb486fe540fa0d910ff805a2c7f5873c4f7af05e5f14bee0c98ec0c7bdc6331a7390af6f79 WHIRLPOOL 2bbf359df510174f904e21fda4dbba81e3127d87e79885493689cd58e6a7236ef8500f907e56b74a843eabb52846cbda328b0d37741ea92a018c2fb284cd4e22 +AUX 10_zoneminder.conf 462 SHA256 96306fd39bcffeaf15db4309b8f5f08e54a2409029f92d4a84b6f3e42f05434f SHA512 f6dea7220ed664b6692546b0c0019a6c9ad19386bbd8ea6ed2cde570248700b9f22f8ab97b6404d5e00da01796225d83d19a4a357378ba753b39dacfa8f01f62 WHIRLPOOL 8335eed88badb0b3b79b4dd38fd7f945db0e372a27faaf79fb071d5deec7bb7b23dbf449e6c6b9fb4e3900a5e8d6329e6066b5db59b96fffaced945a296e3ea0 +AUX conf.d 138 SHA256 65e935cb63bf3d072b9317842944d808550ef3f933d834bb95aaacf3253bd85c SHA512 66a3447869a5c7ed613a90a81ae3b0464836a8d1804b195770dd4832e61e89f826998f58dba1ce42d7d411c543d485290e670b0bf929646ad99f48a996bc609a WHIRLPOOL 9e2326d83fd63bd1ad38485024017813ff18c73d6b173c4f38506247dbbead97f5fbcde805966f3056131cb75bac250d74f7c048ac2d7bac54e78ef66faa65c7 +AUX init.d 398 SHA256 b5dd459ddd0a331f625b5fa0b9441b9236f676ad2e6f6ea2da896ed4056cb0c6 SHA512 ebdc4af36298e1790ed0a67045d4f1f4901351d6238f05edc3f1b0f9d97be31758e9368b9a3422fc6e2d7e473dfc2aa533a1897770f23ea6b0eddcd595e6ddcf WHIRLPOOL 1b9c548f98d5a49ef0b0c2a584ec638031bd52b5a69a96203f0e91dacc9f7452bdd84c236c2a9ff8738a117343cac197b2b3ea71de6a12e50dc9c623f6b9a441 +DIST ZoneMinder-1.25.0.tar.gz 1119091 SHA256 ec63ef47d8f4cb8af21a3bc84ff1de6968805146682dd7f10982bde975d9bb5d SHA512 3e18993b0539729491052c97d8c94227ccc089eb40277c2f07682f30049033303c7cfe9734fdac6d33ae67df29c76eb72bf7fbb5dae8227e8831fa603b61c375 WHIRLPOOL 8e51839e237189a64c194486472157f716020145f3ad0c218cfc1fc08b097f5e2074f9f6807b185e584e4dd8c9e172366f63c9fbe41026d5df81ffd3b5de489f +EBUILD zoneminder-1.25.0.ebuild 4004 SHA256 eeb69ca78fb53e8950e81ac0d4cc6c941b3c70bec6f2584ce80a633b2698ba1b SHA512 809da6e7d1bde0ee4e1f759902cf5d010032deac902286f6b1c076f86f6725cd6a095f7c6e390503c9a602c060e77a5e992a6fb170012429de40c686d13c5a37 WHIRLPOOL 8f2ab94e0ba94525d4779d192ccf3c160595f686880216c7ccf3195f437735042bdcf45b077e41ec4020bd07cd73e2ceaecc8411ebe972507c3295ff34fec13e diff --git a/www-misc/zoneminder/files/1.24.2/db_upgrade_script_location.patch b/www-misc/zoneminder/files/1.24.2/db_upgrade_script_location.patch new file mode 100644 index 00000000..41b537c4 --- /dev/null +++ b/www-misc/zoneminder/files/1.24.2/db_upgrade_script_location.patch @@ -0,0 +1,11 @@ +--- ZoneMinder-1.24.1/zm.conf.in.orig 2009-03-23 13:55:43.000000000 +0000 ++++ ZoneMinder-1.24.1/zm.conf.in 2009-03-23 13:57:22.000000000 +0000 +@@ -13,7 +13,7 @@ + ZM_VERSION=@VERSION@ + + # Path to build directory, used mostly for finding DB upgrade scripts +-ZM_PATH_BUILD=@PATH_BUILD@ ++ZM_PATH_BUILD=/usr/share/zoneminder + + # Build time, used to record when to trigger various checks + ZM_TIME_BUILD=@TIME_BUILD@ diff --git a/www-misc/zoneminder/files/1.25.0/Makefile.am.2.patch b/www-misc/zoneminder/files/1.25.0/Makefile.am.2.patch new file mode 100644 index 00000000..0434fb90 --- /dev/null +++ b/www-misc/zoneminder/files/1.25.0/Makefile.am.2.patch @@ -0,0 +1,23 @@ +diff -ruN ZoneMinder-1.25.0.orig/web/Makefile.am ZoneMinder-1.25.0/web/Makefile.am +--- ZoneMinder-1.25.0.orig/web/Makefile.am 2011-05-15 23:15:23.000000000 +0200 ++++ ZoneMinder-1.25.0/web/Makefile.am 2011-09-18 00:24:00.428778534 +0200 +@@ -22,13 +22,12 @@ + + # Yes, you are correct. This is a HACK! + install-data-hook: +- ( cd $(DESTDIR)$(webdir); chown $(webuser):$(webgroup) $(dist_web_DATA) ) +- ( cd $(DESTDIR)$(webdir); chown -R $(webuser):$(webgroup) $(SUBDIRS) ) +- @-( cd $(DESTDIR)$(webdir); if ! test -e events; then mkdir events; fi; chown $(webuser):$(webgroup) events; chmod u+w events ) +- @-( cd $(DESTDIR)$(webdir); if ! test -e images; then mkdir images; fi; chown $(webuser):$(webgroup) images; chmod u+w images ) +- @-( cd $(DESTDIR)$(webdir); if ! test -e sounds; then mkdir sounds; fi; chown $(webuser):$(webgroup) sounds; chmod u+w sounds ) +- @-( cd $(DESTDIR)$(webdir); if ! test -e tools; then mkdir tools; fi; chown $(webuser):$(webgroup) tools; chmod u+w tools ) +- @-( cd $(DESTDIR)$(webdir); if ! test -e temp; then mkdir temp; fi; chown $(webuser):$(webgroup) temp; chmod u+w temp ) ++ ( cd $(DESTDIR)$(webdir) ) ++ @-( cd $(DESTDIR)$(webdir); if ! test -e events; then mkdir events; fi ) ++ @-( cd $(DESTDIR)$(webdir); if ! test -e images; then mkdir images; fi ) ++ @-( cd $(DESTDIR)$(webdir); if ! test -e sounds; then mkdir sounds; fi ) ++ @-( cd $(DESTDIR)$(webdir); if ! test -e tools; then mkdir tools; fi ) ++ @-( cd $(DESTDIR)$(webdir); if ! test -e temp; then mkdir temp; fi ) + + uninstall-hook: + @-( cd $(DESTDIR)$(webdir); rm -rf $(SUBDIRS) ) diff --git a/www-misc/zoneminder/files/1.25.0/Makefile.am.patch b/www-misc/zoneminder/files/1.25.0/Makefile.am.patch new file mode 100644 index 00000000..f8adce6c --- /dev/null +++ b/www-misc/zoneminder/files/1.25.0/Makefile.am.patch @@ -0,0 +1,19 @@ +diff -ruN ZoneMinder-1.25.0-0-vanilla/Makefile.am ZoneMinder-1.25.0/Makefile.am +--- ZoneMinder-1.25.0-0-vanilla/Makefile.am 2011-05-20 11:39:37.000000000 +0200 ++++ ZoneMinder-1.25.0/Makefile.am 2011-09-01 22:52:32.000000000 +0200 +@@ -19,11 +19,12 @@ + zmconfgen.pl.in + + # Yes, you are correct. This is a HACK! ++# we need to set the permissions in the ebuild anyway since the installer may be running userpriv + install-data-hook: + ( cd $(DESTDIR)$(sysconfdir); chown $(webuser):$(webgroup) $(sysconf_DATA); chmod 600 $(sysconf_DATA) ) +- ( if ! test -e $(ZM_RUNDIR); then mkdir -p $(ZM_RUNDIR); fi; if test "$(ZM_RUNDIR)" != "/var/run"; then chown $(webuser):$(webgroup) $(ZM_RUNDIR); chmod u+w $(ZM_RUNDIR); fi ) +- ( if ! test -e $(ZM_TMPDIR); then mkdir -m 700 -p $(ZM_TMPDIR); fi; if test "$(ZM_TMPDIR)" != "/tmp"; then chown $(webuser):$(webgroup) $(ZM_TMPDIR); chmod u+w $(ZM_TMPDIR); fi ) +- ( if ! test -e $(ZM_LOGDIR); then mkdir -p $(ZM_LOGDIR); fi; if test "$(ZM_LOGDIR)" != "/var/log"; then chown $(webuser):$(webgroup) $(ZM_LOGDIR); chmod u+w $(ZM_LOGDIR); fi ) ++ ( if ! test -e $(DESTDIR)$(ZM_RUNDIR); then mkdir -p $(DESTDIR)$(ZM_RUNDIR); fi; ) ++ ( if ! test -e $(DESTDIR)$(ZM_TMPDIR); then mkdir -m 700 -p $(DESTDIR)$(ZM_TMPDIR); fi; ) ++ ( if ! test -e $(DESTDIR)$(ZM_LOGDIR); then mkdir -p $(DESTDIR)$(ZM_LOGDIR); fi; ) + + uninstall-hook: + @-( cd $(DESTDIR)$(webdir); rm -rf events graphics images sounds temp ) diff --git a/www-misc/zoneminder/files/1.25.0/avutil-mathematics-header.patch b/www-misc/zoneminder/files/1.25.0/avutil-mathematics-header.patch new file mode 100644 index 00000000..f7f601fb --- /dev/null +++ b/www-misc/zoneminder/files/1.25.0/avutil-mathematics-header.patch @@ -0,0 +1,17 @@ +From: Ryan Niebur + +This patch is needed for compatibility with newer versions of libav. +Starting with version 0.8, avutil.h does not include mathematics.h. + +Index: zoneminder/src/zm_ffmpeg.h +=================================================================== +--- zoneminder.orig/src/zm_ffmpeg.h 2012-01-15 13:13:54.000000000 -0800 ++++ zoneminder/src/zm_ffmpeg.h 2012-01-15 13:16:42.000000000 -0800 +@@ -31,6 +31,7 @@ + #endif + #if HAVE_LIBAVUTIL_AVUTIL_H + #include ++#include + #endif + #if HAVE_LIBAVCODEC_AVCODEC_H + #include diff --git a/www-misc/zoneminder/files/1.25.0/kernel-3.5-v4l.patch b/www-misc/zoneminder/files/1.25.0/kernel-3.5-v4l.patch new file mode 100644 index 00000000..024bdab6 --- /dev/null +++ b/www-misc/zoneminder/files/1.25.0/kernel-3.5-v4l.patch @@ -0,0 +1,24 @@ +Patch source: Mageia +Sabayon bug 3830 +--- src/zm_local_camera.cpp~ 2012-09-11 12:41:09.711153916 +0100 ++++ src/zm_local_camera.cpp 2012-09-11 12:41:09.725153941 +0100 +@@ -1048,7 +1048,8 @@ + { + 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_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) ); + +@@ -1931,7 +1932,8 @@ + + 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_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) ); + } diff --git a/www-misc/zoneminder/files/10_zoneminder.conf b/www-misc/zoneminder/files/10_zoneminder.conf new file mode 100644 index 00000000..0ddb6755 --- /dev/null +++ b/www-misc/zoneminder/files/10_zoneminder.conf @@ -0,0 +1,18 @@ +ScriptAlias /cgi-bin/zms "/var/www/zoneminder/cgi-bin/zms" +ScriptAlias /cgi-bin/nph-zms "/var/www/zoneminder/cgi-bin/nph-zms" + + + AllowOverride All + Options ExecCGI + Order allow,deny + Allow from all + + +Alias /zoneminder "/var/www/zoneminder/htdocs" + + + Options -Indexes MultiViews FollowSymLinks + AllowOverride All + Order allow,deny + Allow from all + diff --git a/www-misc/zoneminder/files/conf.d b/www-misc/zoneminder/files/conf.d new file mode 100644 index 00000000..d2e03363 --- /dev/null +++ b/www-misc/zoneminder/files/conf.d @@ -0,0 +1,6 @@ +ZM_SCRIPT=/usr/bin/zmpkg.pl + +# Commands for starting and stopping the server + +CMD_START="${ZM_SCRIPT} start" +CMD_STOP="${ZM_SCRIPT} stop" diff --git a/www-misc/zoneminder/files/init.d b/www-misc/zoneminder/files/init.d new file mode 100644 index 00000000..5fba3dd5 --- /dev/null +++ b/www-misc/zoneminder/files/init.d @@ -0,0 +1,20 @@ +#!/sbin/runscript +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-misc/zoneminder/files/Attic/init.d,v 1.3 2009/01/01 16:47:24 gentoofan23 Exp $ + +depend() { + use mysql +} + +start() { + ebegin "Starting zoneminder" + ${CMD_START} + eend $? +} + +stop() { + ebegin "Stopping zoneminder" + ${CMD_STOP} + eend $? +} diff --git a/www-misc/zoneminder/zoneminder-1.25.0.ebuild b/www-misc/zoneminder/zoneminder-1.25.0.ebuild new file mode 100644 index 00000000..2758f27b --- /dev/null +++ b/www-misc/zoneminder/zoneminder-1.25.0.ebuild @@ -0,0 +1,154 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-misc/zoneminder/Attic/zoneminder-1.24.2.ebuild,v 1.6 2011/04/04 12:11:35 scarabeus Exp $ + +EAPI=4 + +inherit eutils base autotools depend.php depend.apache multilib flag-o-matic + +MY_PN="ZoneMinder" + +DESCRIPTION="ZoneMinder allows you to capture, analyse, record and monitor any cameras attached to your system." +HOMEPAGE="http://www.zoneminder.com/" +SRC_URI="http://www.zoneminder.com/downloads/${MY_PN}-${PV}.tar.gz" + +LICENSE="GPL-2" +KEYWORDS="~amd64 ~x86" +IUSE="debug ffmpeg mmap" +SLOT="0" + +DEPEND=" + app-admin/sudo + dev-lang/perl + dev-libs/libpcre + dev-libs/openssl + dev-perl/Archive-Zip + dev-perl/DateManip + dev-perl/DBD-mysql + dev-perl/DBI + dev-perl/Device-SerialPort + dev-perl/libwww-perl + dev-perl/MIME-Lite + dev-perl/MIME-tools + dev-perl/PHP-Serialization + virtual/jpeg + virtual/perl-Archive-Tar + virtual/perl-Getopt-Long + virtual/perl-libnet + virtual/perl-Module-Load + virtual/perl-Sys-Syslog + virtual/perl-Time-HiRes + mmap? ( dev-perl/Sys-Mmap ) +" + +RDEPEND="${DEPEND} + dev-perl/DBD-mysql + ffmpeg? ( virtual/ffmpeg ) + media-libs/netpbm +" + +# we cannot use need_httpd_cgi here, since we need to setup permissions for the +# webserver in global scope (/etc/zm.conf etc), so we hardcode apache here. +need_apache +need_php_httpd + +S=${WORKDIR}/${MY_PN}-${PV} + +PATCHES=( + "${FILESDIR}"/1.25.0/Makefile.am.patch + "${FILESDIR}"/1.25.0/Makefile.am.2.patch + "${FILESDIR}"/1.24.2/db_upgrade_script_location.patch + "${FILESDIR}"/1.25.0/avutil-mathematics-header.patch + "${FILESDIR}"/1.25.0/kernel-3.5-v4l.patch +) + +pkg_setup() { + require_php_with_use mysql sockets apache2 +} + +src_prepare() { + base_src_prepare + eautoreconf +} + +src_configure() { + append-cxxflags -D__STDC_CONSTANT_MACROS + + local myconf + + if use mmap; then + myconf="${myconf} --enable-mmap=yes" + else + myconf="${myconf} --enable-mmap=no" + fi + + if use debug; then + myconf="${myconf} --enable-debug=yes --enable-crashtrace=yes" + else + myconf="${myconf} --enable-debug=no --enable-crashtrace=no" + fi + + ZM_SSL_LIB=openssl econf --with-libarch=$(get_libdir) \ + --with-mysql=/usr \ + $(use_with ffmpeg) \ + --with-webdir="${ROOT}var/www/zoneminder/htdocs" \ + --with-cgidir="${ROOT}var/www/zoneminder/cgi-bin" \ + --with-webuser=apache \ + --with-webgroup=apache \ + ${myconf} +} + +src_compile() { + einfo "${PN} does not parallel build... using forcing make -j1..." + emake -j1 +} + +src_install() { + keepdir /var/run/zm + keepdir /var/log/zm + + emake -j1 DESTDIR="${D}" install + + fperms 0640 /etc/zm.conf + + fowners apache:apache /var/log/zm + fowners apache:apache /var/run/zm + + newinitd "${FILESDIR}"/init.d zoneminder + newconfd "${FILESDIR}"/conf.d zoneminder + + dodoc AUTHORS ChangeLog INSTALL NEWS README TODO + + insinto /usr/share/${PN}/db + doins db/zm_u* db/zm_create.sql + + insinto /etc/apache2/vhosts.d + doins "${FILESDIR}"/10_zoneminder.conf + + for DIR in events images sound; do + dodir /var/www/zoneminder/htdocs/${DIR} + done +} + +pkg_postinst() { + elog "" + elog "0. If this is a new installation, you will need to create a MySQL database" + elog " for ${PN} to use. (see http://www.gentoo.org/doc/en/mysql-howto.xml)." + elog " Once you completed that you should execute the following:" + elog " cd /usr/share/${PN}" + elog " mysql -u -p < db/zm_create.sql" + elog "" + elog "1. Set your database settings in /etc/zm.conf" + elog "" + elog "2. Enable PHP in your webserver configuration, enable short_open_tags in php.ini," + elog " set the time zone in php.ini, and restart/reload the webserver" + elog "" + elog "3. Start the ${PN} daemon:" + elog " /etc/init.d/${PN} start" + elog "" + elog "4. Finally point your browser to http://localhost/${PN}" + elog "" + elog "If you are upgrading, you will need to run the zmupdate.pl script:" + elog " /usr/bin/zmupdate.pl version= [--user= --pass=]" + elog "" +}