summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenedikt Boehm <hollow@gentoo.org>2008-02-23 14:39:40 +0000
committerBenedikt Boehm <hollow@gentoo.org>2008-02-23 14:39:40 +0000
commit97ae63ae42c73fbd5f712d567ed95bc48e4d66e8 (patch)
tree80f0da037bc9f17c31ee87c5d85a9279f9f64fef /www-misc
parentstable ppc, bug 211150 (diff)
downloadgentoo-2-97ae63ae42c73fbd5f712d567ed95bc48e4d66e8.tar.gz
gentoo-2-97ae63ae42c73fbd5f712d567ed95bc48e4d66e8.tar.bz2
gentoo-2-97ae63ae42c73fbd5f712d567ed95bc48e4d66e8.zip
version bump #204297, fixes #197621
(Portage version: 2.1.4.4)
Diffstat (limited to 'www-misc')
-rw-r--r--www-misc/zoneminder/ChangeLog10
-rw-r--r--www-misc/zoneminder/files/1.23.1/Makefile.am.patch15
-rw-r--r--www-misc/zoneminder/files/1.23.1/zm_create.sql.in.patch32
-rw-r--r--www-misc/zoneminder/files/1.23.1/zm_mpeg_ofc.patch13
-rw-r--r--www-misc/zoneminder/files/1.23.1/zm_remote_camera.patch55
-rw-r--r--www-misc/zoneminder/metadata.xml2
-rw-r--r--www-misc/zoneminder/zoneminder-1.23.1.ebuild113
7 files changed, 238 insertions, 2 deletions
diff --git a/www-misc/zoneminder/ChangeLog b/www-misc/zoneminder/ChangeLog
index 1e13f11169a5..12b53cd5788c 100644
--- a/www-misc/zoneminder/ChangeLog
+++ b/www-misc/zoneminder/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for www-misc/zoneminder
# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-misc/zoneminder/ChangeLog,v 1.23 2008/02/23 13:56:33 hollow Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-misc/zoneminder/ChangeLog,v 1.24 2008/02/23 14:39:39 hollow Exp $
+
+*zoneminder-1.23.1 (23 Feb 2008)
+
+ 23 Feb 2008; Benedikt Böhm <hollow@gentoo.org>
+ +files/1.23.1/Makefile.am.patch, +files/1.23.1/zm_create.sql.in.patch,
+ +files/1.23.1/zm_mpeg_ofc.patch, +files/1.23.1/zm_remote_camera.patch,
+ metadata.xml, +zoneminder-1.23.1.ebuild:
+ version bump #204297, fixes #197621
23 Feb 2008; Benedikt Böhm <hollow@gentoo.org> zoneminder-1.22.3.ebuild:
ebuild cleanup wrt #208584, also fixes #207481
diff --git a/www-misc/zoneminder/files/1.23.1/Makefile.am.patch b/www-misc/zoneminder/files/1.23.1/Makefile.am.patch
new file mode 100644
index 000000000000..90dd4769efbf
--- /dev/null
+++ b/www-misc/zoneminder/files/1.23.1/Makefile.am.patch
@@ -0,0 +1,15 @@
+Index: ZoneMinder-1.23.1/Makefile.am
+===================================================================
+--- ZoneMinder-1.23.1.orig/Makefile.am
++++ ZoneMinder-1.23.1/Makefile.am
+@@ -19,8 +19,8 @@ EXTRA_DIST = \
+ # Yes, you are correct. This is a HACK!
+ install-data-hook:
+ ( cd $(DESTDIR)$(sysconfdir); chown $(webuser):$(webgroup) $(sysconf_DATA); chmod 600 $(sysconf_DATA) )
+- -( if ! test -e $(RUNDIR); then mkdir $(RUNDIR); fi )
+- ( if ! test -e $(ZM_RUNDIR); then mkdir $(ZM_RUNDIR); fi; chown $(webuser):$(webgroup) $(ZM_RUNDIR); chmod u+w $(ZM_RUNDIR) )
++ -( if ! test -e $(DESTDIR)$(RUNDIR); then mkdir $(DESTDIR)$(RUNDIR); fi )
++ ( if ! test -e $(DESTDIR)$(ZM_RUNDIR); then mkdir $(DESTDIR)$(ZM_RUNDIR); fi; chown $(webuser):$(webgroup) $(DESTDIR)$(ZM_RUNDIR); chmod u+w $(DESTDIR)$(ZM_RUNDIR) )
+
+ uninstall-hook:
+ @-( cd $(DESTDIR)$(webdir); rm -rf events graphics images sounds temp )
diff --git a/www-misc/zoneminder/files/1.23.1/zm_create.sql.in.patch b/www-misc/zoneminder/files/1.23.1/zm_create.sql.in.patch
new file mode 100644
index 000000000000..026030059dbd
--- /dev/null
+++ b/www-misc/zoneminder/files/1.23.1/zm_create.sql.in.patch
@@ -0,0 +1,32 @@
+Index: ZoneMinder-1.23.1/db/zm_create.sql.in
+===================================================================
+--- ZoneMinder-1.23.1.orig/db/zm_create.sql.in
++++ ZoneMinder-1.23.1/db/zm_create.sql.in
+@@ -618,21 +618,21 @@ insert into Config set Id = 34, Name = '
+ insert into Config set Id = 35, Name = 'ZM_HTTP_UA', Value = 'ZoneMinder', Type = 'string', DefaultValue = 'ZoneMinder', Hint = 'string', Pattern = '(?-xism:^(.+)$)', Format = ' $1 ', Prompt = 'The user agent that ZoneMinder uses to identify itself', Help = 'When ZoneMinder communicates with remote cameras it will identify itself using this string and it\'s version number. This is normally sufficient, however if a particular cameras expects only to communicate with certain browsers then this can be changed to a different string identifying ZoneMinder as Internet Explorer or Netscape etc.', Category = 'network', Readonly = '0', Requires = 'ZM_OPT_REMOTE_CAMERAS=1';
+ insert into Config set Id = 36, Name = 'ZM_HTTP_TIMEOUT', Value = '2500', Type = 'integer', DefaultValue = '2500', Hint = 'integer', Pattern = '(?-xism:^(\d+)$)', Format = ' $1 ', Prompt = 'How long ZoneMinder waits before giving up on images (milliseconds)', Help = 'When retrieving remote images ZoneMinder will wait for this length of time before deciding that an image is not going to arrive and taking steps to retry. This timeout is in milliseconds (1000 per second) and will apply to each part of an image if it is not sent in one whole chunk.', Category = 'network', Readonly = '0', Requires = 'ZM_OPT_REMOTE_CAMERAS=1';
+ insert into Config set Id = 37, Name = 'ZM_OPT_MPEG', Value = 'no', Type = 'string', DefaultValue = 'no', Hint = 'no|mpeg_encode|ffmpeg', Pattern = '(?i-xsm:^([nmf]))', Format = ' $1 =~ /^n/ ? \"no\" : ( $1 =~ /^m/ ? \"mpeg_encode\" : \"ffmpeg\") ', Prompt = 'Is there an (optional) mpeg video encoder installed', Help = 'ZoneMinder can optionally encode a series of video images into an MPEG encoded file. This option allows you to specifiy whether you have an mpeg encoder installed and if so which one. The two that ZoneMinder supports are mpeg_encode and ffmpeg, of which the latter is by far the fastest. However creating MPEG files can be fairly CPU and disk intensive and is not required as events can still be reviewed as video stream without it.', Category = 'images', Readonly = '0', Requires = '';
+-insert into Config set Id = 38, Name = 'ZM_PATH_MPEG_ENCODE', Value = '/usr/local/bin/mpeg_encode', Type = 'string', DefaultValue = '/usr/local/bin/mpeg_encode', Hint = '/absolute/path/to/somewhere', Pattern = '(?-xism:^((?:/[^/]*)+?)/?$)', Format = ' $1 ', Prompt = 'Path to (optional) Berkeley mpeg encoder', Help = 'This path should point to where the Berkeley mpeg_encode program has been installed.', Category = 'images', Readonly = '0', Requires = 'ZM_OPT_MPEG=mpeg_encode';
+-insert into Config set Id = 39, Name = 'ZM_PATH_FFMPEG', Value = '/usr/local/bin/ffmpeg', Type = 'string', DefaultValue = '/usr/local/bin/ffmpeg', Hint = '/absolute/path/to/somewhere', Pattern = '(?-xism:^((?:/[^/]*)+?)/?$)', Format = ' $1 ', Prompt = 'Path to (optional) ffmpeg mpeg encoder', Help = 'This path should point to where the ffmpeg has been installed.', Category = 'images', Readonly = '0', Requires = 'ZM_OPT_MPEG=ffmpeg';
++insert into Config set Id = 38, Name = 'ZM_PATH_MPEG_ENCODE', Value = '/usr/bin/mpeg_encode', Type = 'string', DefaultValue = '/usr/bin/mpeg_encode', Hint = '/absolute/path/to/somewhere', Pattern = '(?-xism:^((?:/[^/]*)+?)/?$)', Format = ' $1 ', Prompt = 'Path to (optional) Berkeley mpeg encoder', Help = 'This path should point to where the Berkeley mpeg_encode program has been installed.', Category = 'images', Readonly = '0', Requires = 'ZM_OPT_MPEG=mpeg_encode';
++insert into Config set Id = 39, Name = 'ZM_PATH_FFMPEG', Value = '/usr/bin/ffmpeg', Type = 'string', DefaultValue = '/usr/bin/ffmpeg', Hint = '/absolute/path/to/somewhere', Pattern = '(?-xism:^((?:/[^/]*)+?)/?$)', Format = ' $1 ', Prompt = 'Path to (optional) ffmpeg mpeg encoder', Help = 'This path should point to where the ffmpeg has been installed.', Category = 'images', Readonly = '0', Requires = 'ZM_OPT_MPEG=ffmpeg';
+ insert into Config set Id = 40, Name = 'ZM_FFMPEG_INPUT_OPTIONS', Value = '', Type = 'string', DefaultValue = '', Hint = 'string', Pattern = '(?-xism:^(.+)$)', Format = ' $1 ', Prompt = 'Additional input options to ffmpeg', Help = 'Ffmpeg can take many options on the command line to control the quality of video produced. This option allows you to specify your own set that apply to the input to ffmpeg (options that are given before the -i option). Check the ffmpeg documentation for a full list of options which may be used here.', Category = 'images', Readonly = '0', Requires = 'ZM_OPT_MPEG=ffmpeg';
+ insert into Config set Id = 41, Name = 'ZM_FFMPEG_OUTPUT_OPTIONS', Value = '-r 25', Type = 'string', DefaultValue = '-r 25', Hint = 'string', Pattern = '(?-xism:^(.+)$)', Format = ' $1 ', Prompt = 'Additional output options to ffmpeg', Help = 'Ffmpeg can take many options on the command line to control the quality of video produced. This option allows you to specify your own set that apply to the output from ffmpeg (options that are given after the -i option). Check the ffmpeg documentation for a full list of options which may be used here. The most common one will often be to force an output frame rate supported by the video encoder.', Category = 'images', Readonly = '0', Requires = 'ZM_OPT_MPEG=ffmpeg';
+ insert into Config set Id = 42, Name = 'ZM_FFMPEG_FORMATS', Value = 'mpg* mpeg wmv avi mov 3gp**', Type = 'string', DefaultValue = 'mpg* mpeg wmv avi mov 3gp**', Hint = 'string', Pattern = '(?-xism:^(.+)$)', Format = ' $1 ', Prompt = 'Formats to allow for ffmpeg video generation', Help = 'Ffmpeg can generate video in many different formats. This option allows you to list the ones you want to be able to select. As new formats are supported by ffmpeg you can add them here and be able to use them immediately. Adding a \'*\' after a format indicates that this will be the default format used for web video, adding \'**\' defines the default format for phone video.', Category = 'images', Readonly = '0', Requires = 'ZM_OPT_MPEG=ffmpeg';
+-insert into Config set Id = 43, Name = 'ZM_OPT_NETPBM', Value = '0', Type = 'boolean', DefaultValue = 'no', Hint = 'yes|no', Pattern = '(?i-xsm:^([yn]))', Format = ' ($1 =~ /^y/) ? \"yes\" : \"no\" ', Prompt = 'Are the (optional) Netpbm utilities installed', Help = 'For low bandwidth situations ZoneMinder will resize images into thumbnails on the fly before sending them to the browser to reduce the network traffic at the expense of CPU on the server. It uses the Netpbm package to do this and this option should be set to where the binaries from that package are installed. If you do not have it installed it means that the images will always be sent full size and rescaled on your browser which may or not be an issue for you.', Category = 'images', Readonly = '0', Requires = '';
++insert into Config set Id = 43, Name = 'ZM_OPT_NETPBM', Value = '1', Type = 'boolean', DefaultValue = 'no', Hint = 'yes|no', Pattern = '(?i-xsm:^([yn]))', Format = ' ($1 =~ /^y/) ? \"yes\" : \"no\" ', Prompt = 'Are the (optional) Netpbm utilities installed', Help = 'For low bandwidth situations ZoneMinder will resize images into thumbnails on the fly before sending them to the browser to reduce the network traffic at the expense of CPU on the server. It uses the Netpbm package to do this and this option should be set to where the binaries from that package are installed. If you do not have it installed it means that the images will always be sent full size and rescaled on your browser which may or not be an issue for you.', Category = 'images', Readonly = '0', Requires = '';
+ insert into Config set Id = 44, Name = 'ZM_PATH_NETPBM', Value = '/usr/bin', Type = 'string', DefaultValue = '/usr/bin', Hint = '/absolute/path/to/somewhere', Pattern = '(?-xism:^((?:/[^/]*)+?)/?$)', Format = ' $1 ', Prompt = 'Path to (optional) Netpbm utilities', Help = 'For low bandwidth situations ZoneMinder will resize images into thumbnails on the fly before sending them to the browser to reduce the network traffic at the expense of CPU on the server. It uses the Netpbm package to do this and this option should be set to where the binaries from that package are installed. If you do not have it installed it means that the images will always be sent full size and rescaled on your browser which may or not be an issue for you.', Category = 'images', Readonly = '0', Requires = 'ZM_OPT_NETPBM=1';
+ insert into Config set Id = 45, Name = 'ZM_RECORD_EVENT_STATS', Value = '1', Type = 'boolean', DefaultValue = 'yes', Hint = 'yes|no', Pattern = '(?i-xsm:^([yn]))', Format = ' ($1 =~ /^y/) ? \"yes\" : \"no\" ', Prompt = 'Record event statistical information, switch off if too slow', Help = 'This version of ZoneMinder records detailed information about events in the Stats table. This can help in profiling what the optimum settings are for Zones though this is tricky at present. However in future releases this will be done more easily and intuitively, especially with a large sample of events. The default option of \'yes\' allows this information to be collected now in readiness for this but if you are concerned about performance you can switch this off in which case no Stats information will be saved.', Category = 'debug', Readonly = '0', Requires = '';
+ insert into Config set Id = 46, Name = 'ZM_RECORD_DIAG_IMAGES', Value = '0', Type = 'boolean', DefaultValue = 'no', Hint = 'yes|no', Pattern = '(?i-xsm:^([yn]))', Format = ' ($1 =~ /^y/) ? \"yes\" : \"no\" ', Prompt = 'Record intermediate alarm diagnostic images, can be very slow', Help = 'In addition to recording event statistics you can also record the intermediate diagnostic images that display the results of the various checks and processing that occur when trying to determine if an alarm event has taken place. There are several of these images generated for each frame and zone for each alarm or alert frame so this can have a massive impact on performance. Only switch this setting on for debug or analysis purposes and remember to switch it off again once no longer required.', Category = 'debug', Readonly = '0', Requires = '';
+ insert into Config set Id = 47, Name = 'ZM_EXTRA_DEBUG', Value = '0', Type = 'boolean', DefaultValue = 'no', Hint = 'yes|no', Pattern = '(?i-xsm:^([yn]))', Format = ' ($1 =~ /^y/) ? \"yes\" : \"no\" ', Prompt = 'Whether to switch additional debugging on', Help = 'ZoneMinder binary components usually have several levels of debug information they can output. Normally this is set to a fairly low level to avoid filling logs too quickly. This options lets you switch on other options that allow you to configure additional debug information to be output. Components will pick up this instruction when they are restarted.', Category = 'debug', Readonly = '0', Requires = '';
+ insert into Config set Id = 48, Name = 'ZM_EXTRA_DEBUG_TARGET', Value = '', Type = 'string', DefaultValue = '', Hint = 'string', Pattern = '(?-xism:^(.+)$)', Format = ' $1 ', Prompt = 'What components should have extra debug enabled', Help = 'There are three scopes of debug available. Leaving this option blank means that all components will use extra debug (not recommended). Setting this option to \'_<component>\', e.g. _zmc, will limit extra debug to that component only. Setting this option to \'_<component>_<identity>\', e.g. \'_zmc_m1\' will limit extra debug to that instance of the component only. This is ordinarily what you probably want to do.', Category = 'debug', Readonly = '0', Requires = 'ZM_EXTRA_DEBUG=1';
+ insert into Config set Id = 49, Name = 'ZM_EXTRA_DEBUG_LEVEL', Value = '0', Type = 'integer', DefaultValue = '0', Hint = '0|1|2|3|4|5|6|7|8|9', Pattern = '(?-xism:^(\d+)$)', Format = ' $1 ', Prompt = 'What level of extra debug should be enabled', Help = 'There are 9 levels of debug available, with higher numbers being more debug and level 0 being no debug. However not all levels are used by all components. Also if there is debug at a high level it is usually likely to be output at such a volume that it may obstruct normal operation. For this reason you should set the level carefully and cautiously until the degree of debug you wish to see is present.', Category = 'debug', Readonly = '0', Requires = 'ZM_EXTRA_DEBUG=1';
+-insert into Config set Id = 50, Name = 'ZM_EXTRA_DEBUG_LOG', Value = '/tmp/zm_debug.log+', Type = 'string', DefaultValue = '/tmp/zm_debug.log+', Hint = 'string', Pattern = '(?-xism:^(.+)$)', Format = ' $1 ', Prompt = 'Where extra debug is output to', Help = 'Depending on your system configuration you may find that only errors, warning and informational messages are logged to your system log. This option allows you to specify an additional target for these messages and debug. This also has the advantage of partitioning debug for the component you are tracing, from messages from other components. Be warned however that if this 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.', Category = 'debug', Readonly = '0', Requires = 'ZM_EXTRA_DEBUG=1';
+-insert into Config set Id = 51, Name = 'ZM_PATH_SOCKS', Value = '/tmp', Type = 'string', DefaultValue = '/tmp', Hint = '/absolute/path/to/somewhere', Pattern = '(?-xism:^((?:/[^/]*)+?)/?$)', Format = ' $1 ', Prompt = '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 where those socket files go.', Category = 'paths', Readonly = '0', Requires = '';
+-insert into Config set Id = 52, Name = 'ZM_PATH_LOGS', Value = '/tmp', Type = 'string', DefaultValue = '/tmp', Hint = '/absolute/path/to/somewhere', Pattern = '(?-xism:^((?:/[^/]*)+?)/?$)', Format = ' $1 ', Prompt = 'Path to the various logs that the ZoneMinder daemons generate', Help = 'There are various daemons that are used by ZoneMinder to perform various tasks. Most generate helpful log files and this is where they go. They can be deleted if not required for debugging.', Category = 'paths', Readonly = '0', Requires = '';
++insert into Config set Id = 50, Name = 'ZM_EXTRA_DEBUG_LOG', Value = '/var/log/zoneminder/zm_debug.log+', Type = 'string', DefaultValue = '/tmp/zm_debug.log+', Hint = 'string', Pattern = '(?-xism:^(.+)$)', Format = ' $1 ', Prompt = 'Where extra debug is output to', Help = 'Depending on your system configuration you may find that only errors, warning and informational messages are logged to your system log. This option allows you to specify an additional target for these messages and debug. This also has the advantage of partitioning debug for the component you are tracing, from messages from other components. Be warned however that if this 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.', Category = 'debug', Readonly = '0', Requires = 'ZM_EXTRA_DEBUG=1';
++insert into Config set Id = 51, Name = 'ZM_PATH_SOCKS', Value = '/var/run/zm', Type = 'string', DefaultValue = '/tmp', Hint = '/absolute/path/to/somewhere', Pattern = '(?-xism:^((?:/[^/]*)+?)/?$)', Format = ' $1 ', Prompt = '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 where those socket files go.', Category = 'paths', Readonly = '0', Requires = '';
++insert into Config set Id = 52, Name = 'ZM_PATH_LOGS', Value = '/var/log/zoneminder', Type = 'string', DefaultValue = '/tmp', Hint = '/absolute/path/to/somewhere', Pattern = '(?-xism:^((?:/[^/]*)+?)/?$)', Format = ' $1 ', Prompt = 'Path to the various logs that the ZoneMinder daemons generate', Help = 'There are various daemons that are used by ZoneMinder to perform various tasks. Most generate helpful log files and this is where they go. They can be deleted if not required for debugging.', Category = 'paths', Readonly = '0', Requires = '';
+ insert into Config set Id = 53, Name = 'ZM_PATH_SWAP', Value = '/tmp', Type = 'string', DefaultValue = '/tmp', Hint = '/absolute/path/to/somewhere', Pattern = '(?-xism:^((?:/[^/]*)+?)/?$)', Format = ' $1 ', Prompt = '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.', Category = 'paths', Readonly = '0', Requires = '';
+ insert into Config set Id = 54, Name = 'ZM_WEB_TITLE_PREFIX', Value = 'ZM', Type = 'string', DefaultValue = 'ZM', Hint = 'string', Pattern = '(?-xism:^(.+)$)', Format = ' $1 ', Prompt = 'The title prefix displayed on each window', Help = 'If you have more than one installation of ZoneMinder it can be helpful to display different titles for each one. Changing this option allows you to customise the window titles to include further information to aid identification.', Category = 'web', Readonly = '0', Requires = '';
+ insert into Config set Id = 55, Name = 'ZM_WEB_RESIZE_CONSOLE', Value = '1', Type = 'boolean', DefaultValue = 'yes', Hint = 'yes|no', Pattern = '(?i-xsm:^([yn]))', Format = ' ($1 =~ /^y/) ? \"yes\" : \"no\" ', Prompt = 'Should the console window resize itself to fit', Help = 'Traditionally the main ZoneMinder web console window has resized itself to shrink to a size small enough to list only the monitors that are actually present. This is intended to make the window more unobtrusize but may not be to everyones tastes, especially if opened in a tab in browsers which support this kind if layout. Switch this option off to have the console window size left to the users preference', Category = 'web', Readonly = '0', Requires = '';
diff --git a/www-misc/zoneminder/files/1.23.1/zm_mpeg_ofc.patch b/www-misc/zoneminder/files/1.23.1/zm_mpeg_ofc.patch
new file mode 100644
index 000000000000..214be411e2cf
--- /dev/null
+++ b/www-misc/zoneminder/files/1.23.1/zm_mpeg_ofc.patch
@@ -0,0 +1,13 @@
+Index: ZoneMinder-1.23.1/src/zm_mpeg.cpp
+===================================================================
+--- ZoneMinder-1.23.1.orig/src/zm_mpeg.cpp
++++ ZoneMinder-1.23.1/src/zm_mpeg.cpp
+@@ -278,7 +278,7 @@ VideoStream::~VideoStream()
+ {
+ /* close the output file */
+ #if ZM_FFMPEG_SVN
+- url_fclose(ofc->pb);
++ url_fclose(&ofc->pb);
+ #else
+ url_fclose(&ofc->pb);
+ #endif
diff --git a/www-misc/zoneminder/files/1.23.1/zm_remote_camera.patch b/www-misc/zoneminder/files/1.23.1/zm_remote_camera.patch
new file mode 100644
index 000000000000..bcc6c5fb15f2
--- /dev/null
+++ b/www-misc/zoneminder/files/1.23.1/zm_remote_camera.patch
@@ -0,0 +1,55 @@
+Index: ZoneMinder-1.23.1/src/zm_remote_camera.cpp
+===================================================================
+--- ZoneMinder-1.23.1.orig/src/zm_remote_camera.cpp
++++ ZoneMinder-1.23.1/src/zm_remote_camera.cpp
+@@ -356,6 +356,14 @@ int RemoteCamera::GetResponse()
+ format = JPEG;
+ state = CONTENT;
+ }
++ else if ( !strcasecmp( content_type, "image/mpeg" ) )
++ {
++ // Single image
++ mode = SINGLE_IMAGE;
++ format = JPEG;
++ state = CONTENT;
++
++ }
+ else if ( !strcasecmp( content_type, "image/x-rgb" ) )
+ {
+ // Single image
+@@ -453,6 +461,10 @@ int RemoteCamera::GetResponse()
+ {
+ format = JPEG;
+ }
++ else if ( !strcasecmp( content_type, "image/mpeg" ) )
++ {
++ format = JPEG;
++ }
+ else if ( !strcasecmp( content_type, "image/x-rgb" ) )
+ {
+ format = X_RGB;
+@@ -783,6 +795,13 @@ int RemoteCamera::GetResponse()
+ format = JPEG;
+ state = CONTENT;
+ }
++ else if ( !strcasecmp( content_type, "image/mpeg" ) )
++ {
++ // Single image
++ mode = SINGLE_IMAGE;
++ format = JPEG;
++ state = CONTENT;
++ }
+ else if ( !strcasecmp( content_type, "image/x-rgb" ) )
+ {
+ // Single image
+@@ -947,6 +966,10 @@ int RemoteCamera::GetResponse()
+ {
+ format = JPEG;
+ }
++ else if ( !strcasecmp( content_type, "image/mpeg" ) )
++ {
++ format = JPEG;
++ }
+ else if ( !strcasecmp( content_type, "image/x-rgb" ) )
+ {
+ format = X_RGB;
diff --git a/www-misc/zoneminder/metadata.xml b/www-misc/zoneminder/metadata.xml
index 95c06f0095bb..6632069b5aff 100644
--- a/www-misc/zoneminder/metadata.xml
+++ b/www-misc/zoneminder/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<herd>web-apps</herd>
+ <herd>web-apps</herd>
</pkgmetadata>
diff --git a/www-misc/zoneminder/zoneminder-1.23.1.ebuild b/www-misc/zoneminder/zoneminder-1.23.1.ebuild
new file mode 100644
index 000000000000..801f4a67d4e5
--- /dev/null
+++ b/www-misc/zoneminder/zoneminder-1.23.1.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-misc/zoneminder/zoneminder-1.23.1.ebuild,v 1.1 2008/02/23 14:39:39 hollow Exp $
+
+inherit eutils webapp autotools depend.php depend.apache multilib
+
+WEBAPP_MANUAL_SLOT="yes"
+
+MY_PV=${PV/_/-}
+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}-${MY_PV}.tar.gz"
+
+LICENSE="GPL-2"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug ffmpeg X10"
+SLOT="0"
+
+DEPEND="app-admin/sudo
+ dev-libs/libpcre
+ >=media-libs/jpeg-6b
+ net-libs/gnutls
+ >=dev-lang/perl-5.6.0
+ dev-perl/Archive-Tar
+ 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/perl-Getopt-Long
+ virtual/perl-libnet
+ virtual/perl-Sys-Syslog
+ virtual/perl-Time-HiRes
+ X10? ( dev-perl/X10 )"
+
+RDEPEND="dev-perl/DBD-mysql
+ ffmpeg? ( media-video/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}-${MY_PV}
+
+pkg_setup() {
+ webapp_pkg_setup
+ require_php_with_use mysql
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}"/${PV}/Makefile.am.patch
+ epatch "${FILESDIR}"/${PV}/zm_create.sql.in.patch
+ epatch "${FILESDIR}"/${PV}/zm_mpeg_ofc.patch
+ epatch "${FILESDIR}"/${PV}/zm_remote_camera.patch
+
+ eautoreconf
+}
+
+src_compile() {
+ econf --with-libarch=$(get_libdir) \
+ --with-mysql=/usr \
+ $(use_with ffmpeg ffmpeg /usr) \
+ $(use_enable debug) \
+ $(use_enable debug crashtrace) \
+ --with-webdir="${MY_HTDOCSDIR}" \
+ --with-cgidir="${MY_CGIBINDIR}" \
+ --with-webuser=apache \
+ --with-webgroup=apache \
+ || die "econf failed"
+ emake || die "emake failed"
+}
+
+src_install() {
+ webapp_src_preinst
+
+ keepdir /var/run/zm
+ emake -j1 DESTDIR="${D}" install || die "emake install failed"
+
+ fperms 0644 /etc/zm.conf
+
+ keepdir /var/log/${PN}
+ fowners apache:apache /var/log/${PN}
+ 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
+
+ for DIR in events images sound; do
+ dodir "${MY_HTDOCSDIR}"/${DIR}
+ webapp_serverowned "${MY_HTDOCSDIR}"/${DIR}
+ done
+
+ webapp_postinst_txt en "${FILESDIR}"/postinstall-2.txt
+ webapp_postupgrade_txt en "${FILESDIR}"/postupgrade.txt
+
+ webapp_src_install
+}