From 1187d7cb38d2700e4773d79b1a3d26fd46adf0df Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 11 Sep 2012 03:36:56 -0300 Subject: zoneminder: adding new package to [pcr] repo --- pcr/zoneminder/Controls_Orbit.sql | 3 + pcr/zoneminder/PKGBUILD | 114 ++++++++++++++++ pcr/zoneminder/arm-context.patch | 18 +++ pcr/zoneminder/customdb | 31 +++++ pcr/zoneminder/httpd-zm.conf | 18 +++ pcr/zoneminder/patch-ffmpeg-0.11.patch | 60 +++++++++ pcr/zoneminder/patch-libavcodec-detection.patch | 11 ++ pcr/zoneminder/zm.rc.d | 172 ++++++++++++++++++++++++ pcr/zoneminder/zmeventbackup | 48 +++++++ pcr/zoneminder/zminit.arch | 143 ++++++++++++++++++++ pcr/zoneminder/zoneminder-1.25.0-kernel35.patch | 21 +++ pcr/zoneminder/zoneminder.install | 57 ++++++++ 12 files changed, 696 insertions(+) create mode 100644 pcr/zoneminder/Controls_Orbit.sql create mode 100644 pcr/zoneminder/PKGBUILD create mode 100644 pcr/zoneminder/arm-context.patch create mode 100755 pcr/zoneminder/customdb create mode 100644 pcr/zoneminder/httpd-zm.conf create mode 100644 pcr/zoneminder/patch-ffmpeg-0.11.patch create mode 100644 pcr/zoneminder/patch-libavcodec-detection.patch create mode 100644 pcr/zoneminder/zm.rc.d create mode 100755 pcr/zoneminder/zmeventbackup create mode 100644 pcr/zoneminder/zminit.arch create mode 100644 pcr/zoneminder/zoneminder-1.25.0-kernel35.patch create mode 100644 pcr/zoneminder/zoneminder.install (limited to 'pcr') diff --git a/pcr/zoneminder/Controls_Orbit.sql b/pcr/zoneminder/Controls_Orbit.sql new file mode 100644 index 000000000..23224e4aa --- /dev/null +++ b/pcr/zoneminder/Controls_Orbit.sql @@ -0,0 +1,3 @@ + +INSERT INTO `Controls` VALUES (7,'Orbit','Remote','mjpgStreamer',0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,-7000,7000,200,200,1,100,100,0,0,1,-2000,2000,10,100,1,200,200,0,0,0,0); + diff --git a/pcr/zoneminder/PKGBUILD b/pcr/zoneminder/PKGBUILD new file mode 100644 index 000000000..38e8732d6 --- /dev/null +++ b/pcr/zoneminder/PKGBUILD @@ -0,0 +1,114 @@ +# Maintainer: Vojtech Aschenbrenner +# Contributor: Jason Gardner +# Contributor: Ross melin + +pkgname=zoneminder +pkgver=1.25.0 +pkgrel=13 +pkgdesc="Capture, analyse, record and monitor video security cameras." +arch=('i686' 'x86_64' 'arm') +url="http://www.zoneminder.com" +license=('GPL') +depends=('cambozola' 'apache' 'php' 'php-gd' 'php-mcrypt' 'mysql' 'pcre' 'openssl' 'ffmpeg' 'perl-libwww' 'perl-date-manip' 'perl-unicode-map' 'perl-dbi' 'perl-dbd-mysql' 'perl-io-stringy' 'perl-mime-lite' 'perl-timedate' 'perl-x10' 'perl-time-modules' 'perl-net-smtp-ssl' 'perl-sys-mmap' 'perl-net-sftp-foreign' 'perl-mime-tools' 'perl-io-tty' 'sudo' 'libv4l' 'libjpeg' 'gnutls' 'php-apache') +makedepends=() +install=zoneminder.install +source=("http://www.zoneminder.com/downloads/ZoneMinder-${pkgver}.tar.gz" + zm.rc.d + Controls_Orbit.sql + zminit.arch + customdb + httpd-zm.conf + zmeventbackup + patch-ffmpeg-0.11.patch + patch-libavcodec-detection.patch + zoneminder-1.25.0-kernel35.patch + arm-context.patch) + +md5sums=('eaefa14befd482154970541252aa1a39' + '9fb81f81b056c18be6eef3f1c8e0dd6d' + '5033bc098bf497c8aed1fc1b3c9c5f9c' + 'f9720872736f26d17bc49d8725b75ae4' + '942f6641c744ffe7d64846a5c34d84f1' + 'e63262d1417105ae24c7a03d98b2c64c' + '1a6d7c43af79c786b27cc88f7ba7ed3e' + 'b872dd86926ab00c5d4733e7e38eaa9c' + '94bf5d95fe5429f7df458ddfbabf0c12' + '88bd124dfb841320cecb0a757b2a78c1' + 'b28c8eb392a7e7b6ef665817d7fe61f4') + +build() { + cd "$srcdir/ZoneMinder-$pkgver" + + # Patch for GCC 4.7.x + sed -i -e '1 s/^/#include \n/;' src/zm_logger.cpp + sed -i -e '1 s/^/#include \n/;' src/zm_thread.h + + # Patch for build/upgrade path + sed -i -e 's#ZM_PATH_BUILD=@PATH_BUILD@#ZM_PATH_BUILD=/srv/zoneminder/upgrade\nZM_PATH_UPDATE=/srv/zoneminder/upgrade#' zm.conf.in + + # Patch for support new ffmpeg + patch -p1 < ../patch-ffmpeg-0.11.patch + + # Patch for correct libavcodec detection + patch -p0 < ../patch-libavcodec-detection.patch + + # Patch for type cast in kernel3.5 + patch -p0 < ../zoneminder-1.25.0-kernel35.patch + + # Patch for ARM + if test "$CARCH" == arm; then + patch -p0 < ../arm-context.patch + fi + + # Add some more configs into DB + cat ../Controls_Orbit.sql >> db/zm_create.sql.in + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --with-webuser=http \ + --with-webgroup=http \ + --with-mysql=/usr \ + --with-webdir=/srv/zoneminder/www \ + --with-cgidir=/srv/zoneminder/cgi-bin \ + --bindir=/srv/zoneminder/bin \ + ZM_SSL_LIB=openssl \ + CPPFLAGS=-D__STDC_CONSTANT_MACROS + + # chown line mucks everything up, we'll chown it in the install script + sed -i '/chown/d' Makefile + + # modify hard-coded paths + sed -i 's#/var/lib/zm#/srv/zoneminder/backup#' scripts/zmdbrestore.in + sed -i 's#/var/lib/zm#/srv/zoneminder/backup#' scripts/zmlogrotate.conf.in + sed -i 's#/var/lib/zm#/srv/zoneminder/backup#' scripts/zmdbbackup.in + + # Build it! + make || return 1 + make DESTDIR="$pkgdir" install || return 1 + + install -D -m 700 $startdir/src/zminit.arch $startdir/pkg/srv/zoneminder/bin/zminit + install -D -m 755 $startdir/src/zm.rc.d $startdir/pkg/etc/rc.d/zm + install -D -m 700 scripts/zmdbbackup $startdir/pkg/srv/zoneminder/bin/zmdbbackup + install -D -m 700 scripts/zmdbbackup $startdir/pkg/srv/zoneminder/bin/zmdbbackup + install -D -m 700 scripts/zmdbrestore $startdir/pkg/srv/zoneminder/bin/zmdbrestore + install -D -m 700 scripts/zmeventdump $startdir/pkg/srv/zoneminder/bin/zmeventdump + install -D -m 700 scripts/zmlogrotate.conf $startdir/pkg/etc/logrotate.d/zm + install -D -m 700 $startdir/src/zmeventbackup $startdir/pkg/etc/cron.hourly/zmeventbackup + + mkdir -p $startdir/pkg/etc/httpd/conf/extra/ + install -m 644 $startdir/src/httpd-zm.conf $startdir/pkg/etc/httpd/conf/extra/httpd-zm.conf + + install -D -m 700 $startdir/src/customdb $startdir/pkg/srv/zoneminder/upgrade/customdb + install -D db/zm*.sql $startdir/pkg/srv/zoneminder/upgrade/ + + mkdir -p $startdir/pkg/var/run/zm + + ### remove special files + find $startdir/pkg/ -name "perllocal.pod" \ + -o -name ".packlist" \ + -o -name "*.bs" \ + |xargs -i rm -f {} + +} + +# vim:set ft=sh ts=2 sw=2 et: diff --git a/pcr/zoneminder/arm-context.patch b/pcr/zoneminder/arm-context.patch new file mode 100644 index 000000000..a6fbb5328 --- /dev/null +++ b/pcr/zoneminder/arm-context.patch @@ -0,0 +1,18 @@ +--- src/zm_signal.cpp.orig 2012-08-30 13:24:16.479872021 -0700 ++++ src/zm_signal.cpp 2012-08-30 13:27:35.909871996 -0700 +@@ -82,13 +82,13 @@ + int trace_size = 0; + + #if HAVE_STRUCT_SIGCONTEXT_EIP +- Error( "Signal address is %p, from %p", (void *)context.cr2, (void *)context.eip ); ++ Error( "Signal address is %p, from %p", (void *)context.fault_address, (void *)context.eip ); + + trace_size = backtrace( trace, TRACE_SIZE ); + // overwrite sigaction with caller's address + trace[1] = (void *)context.eip; + #elif HAVE_STRUCT_SIGCONTEXT +- Error( "Signal address is %p, no eip", (void *)context.cr2 ); ++ Error( "Signal address is %p, no eip", (void *)context.fault_address ); + + trace_size = backtrace( trace, TRACE_SIZE ); + #else // HAVE_STRUCT_SIGCONTEXT diff --git a/pcr/zoneminder/customdb b/pcr/zoneminder/customdb new file mode 100755 index 000000000..afd295935 --- /dev/null +++ b/pcr/zoneminder/customdb @@ -0,0 +1,31 @@ +#!/bin/sh +DBHOST=$1 +DBNAME=$2 +USERNAME=$3 +PASSWORD=$4 + +ZM_PATH_ZMS=/cgi-bin/nph-zms +ZM_PATH_SOCKS=/srv/zoneminder/socks +ZM_PATH_LOGS=/var/log/zm +ZM_WEB_LIST_THUMBS=1 +ZM_WEB_MONTAGE_WIDTH=320 +ZM_WEB_MONTAGE_HEIGHT=240 +ZM_OPT_CAMBOZOLA=1 +ZM_OPT_MPEG=ffmpeg +ZM_PATH_FFMPEG=/usr/bin/ffmpeg +ZM_OPT_NETPBM=1 +ZM_EXTRA_DEBUG_LOG=/var/log/zm/zm_debug.log +ZM_OPT_USE_AUTH=0 + +sql=/tmp/$$ +echo "" >$sql +for n in ZM_PATH_ZMS ZM_PATH_SOCKS ZM_PATH_LOGS ZM_WEB_LIST_THUMBS ZM_WEB_MONTAGE_WIDTH ZM_WEB_MONTAGE_HEIGHT ZM_OPT_CAMBOZOLA ZM_OPT_MPEG ZM_PATH_FFMPEG ZM_OPT_NETPBM ZM_EXTRA_DEBUG_LOG ZM_OPT_USE_AUTH; do + eval "val=\$$n" + echo "UPDATE Config SET Value='$val' WHERE Name='$n';" >>$sql +done + +cat $sql | mysql --user=$USERNAME --password=$PASSWORD --host=$DBHOST $DBNAME +rm -f $sql + + +exit 0 diff --git a/pcr/zoneminder/httpd-zm.conf b/pcr/zoneminder/httpd-zm.conf new file mode 100644 index 000000000..ad24cbbe4 --- /dev/null +++ b/pcr/zoneminder/httpd-zm.conf @@ -0,0 +1,18 @@ +# /etc/httpd/conf/extra/httpd-zm.conf +# Config for zoneminder web app + +Alias /zm "/srv/zoneminder/www" + + Options -Indexes MultiViews FollowSymLinks + AllowOverride All + Order allow,deny + Allow from all + + +ScriptAlias /cgi-bin "/srv/zoneminder/cgi-bin" + + AllowOverride All + Options ExecCGI + Order allow,deny + Allow from all + diff --git a/pcr/zoneminder/patch-ffmpeg-0.11.patch b/pcr/zoneminder/patch-ffmpeg-0.11.patch new file mode 100644 index 000000000..8356fff83 --- /dev/null +++ b/pcr/zoneminder/patch-ffmpeg-0.11.patch @@ -0,0 +1,60 @@ +diff --git a/src/zm_ffmpeg_camera.cpp b/src/zm_ffmpeg_camera.cpp +index 42927f6..61df606 100644 +--- a/src/zm_ffmpeg_camera.cpp ++++ b/src/zm_ffmpeg_camera.cpp +@@ -108,7 +108,7 @@ int FfmpegCamera::PrimeCapture() + Info( "Priming capture from %s", mPath.c_str() ); + + // Open the input, not necessarily a file +- if ( av_open_input_file( &mFormatContext, mPath.c_str(), NULL, 0, NULL ) !=0 ) ++ if ( avformat_open_input( &mFormatContext, mPath.c_str(), NULL, NULL ) !=0 ) + Fatal( "Unable to open input %s due to: %s", mPath.c_str(), strerror(errno) ); + + // Locate stream info from input +@@ -139,7 +139,7 @@ int FfmpegCamera::PrimeCapture() + Fatal( "Can't find codec for video stream from %s", mPath.c_str() ); + + // Open the codec +- if ( avcodec_open( mCodecContext, mCodec ) < 0 ) ++ if ( avcodec_open2( mCodecContext, mCodec, NULL ) < 0 ) + Fatal( "Unable to open codec for video stream from %s", mPath.c_str() ); + + // Allocate space for the native video frame + +diff --git a/src/zm_mpeg.cpp b/src/zm_mpeg.cpp +index f5de2a4..d614346 100644 +--- a/src/zm_mpeg.cpp ++++ b/src/zm_mpeg.cpp +@@ -167,10 +167,12 @@ void VideoStream::SetParameters() + { + /* set the output parameters (must be done even if no + parameters). */ +- if ( av_set_parameters(ofc, NULL) < 0 ) ++ /* ++ * Removed in last ffmpeg ++ * if ( av_set_parameters(ofc, NULL) < 0 ) + { + Panic( "Invalid output format parameters" ); +- } ++ }*/ + //dump_format(ofc, 0, filename, 1); + } + +@@ -259,7 +261,7 @@ void VideoStream::OpenStream() + if ( !(of->flags & AVFMT_NOFILE) ) + { + #if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(51,2,1) +- if ( avio_open(&ofc->pb, filename, URL_WRONLY) < 0 ) ++ if ( avio_open(&ofc->pb, filename, AVIO_FLAG_WRITE) < 0 ) + #else + if ( url_fopen(&ofc->pb, filename, URL_WRONLY) < 0 ) + #endif +@@ -278,7 +280,7 @@ void VideoStream::OpenStream() + } + + /* write the stream header, if any */ +- av_write_header(ofc); ++ avformat_write_header(ofc, NULL); + } + + VideoStream::VideoStream( const char *filename, const char *format, int bitrate, double frame_rate, int colours, int subpixelorder, int width, int height ) \ No newline at end of file diff --git a/pcr/zoneminder/patch-libavcodec-detection.patch b/pcr/zoneminder/patch-libavcodec-detection.patch new file mode 100644 index 000000000..0aaa9bc23 --- /dev/null +++ b/pcr/zoneminder/patch-libavcodec-detection.patch @@ -0,0 +1,11 @@ +--- configure.ac~ 2012-07-15 22:27:11.195257379 +0100 ++++ configure.ac 2012-07-15 22:24:34.308268675 +0100 +@@ -276,7 +276,7 @@ + AC_CHECK_LIB(avutil,av_malloc,,AC_MSG_WARN(libavutil.a may be required for MPEG streaming)) + # Don't bother to warn about this one + AC_CHECK_LIB(avcore,av_image_copy,,) +-AC_CHECK_LIB(avcodec,avcodec_init,,AC_MSG_WARN(libavcodec.a is required for MPEG streaming)) ++AC_CHECK_LIB(avcodec,avcodec_open,,AC_MSG_WARN(libavcodec.a is required for MPEG streaming)) + AC_CHECK_LIB(avformat,av_new_stream,,AC_MSG_WARN(libavformat.a is required for MPEG streaming)) + AC_CHECK_LIB(avdevice,avdevice_register_all,,AC_MSG_WARN(libavdevice.a may be required for MPEG streaming)) + AC_CHECK_LIB(swscale,sws_scale,,,-lswscale) \ No newline at end of file diff --git a/pcr/zoneminder/zm.rc.d b/pcr/zoneminder/zm.rc.d new file mode 100644 index 000000000..99a1f1f22 --- /dev/null +++ b/pcr/zoneminder/zm.rc.d @@ -0,0 +1,172 @@ +#!/bin/bash + +# Source function library. +. /etc/rc.conf +. /etc/rc.d/functions + +prog=ZoneMinder +ZM_VERSION="1.25.0" +ZM_PATH_BIN="/srv/zoneminder/bin" +ZM_CONFIG="/etc/zm.conf" +command="$ZM_PATH_BIN/zmpkg.pl" + +loadconf() +{ + if [ -f $ZM_CONFIG ]; then + . $ZM_CONFIG + else + echo "ERROR: $ZM_CONFIG not found. +" + return 1 + fi +} + +# Check for old config and update if needed +checkcfg() +{ + # Check config + if [ "$ZM_DB_HOST" = "" -o "$ZM_DB_NAME" = "" -o "$ZM_DB_USER" = "" -o "$ZM_DB_PASS" = "" ]; then + echo "In $ZM_CONFIG there should not be null values. +" + return 1 + loadconf + fi +} + +checkdb() +{ + # Check database exisits and version + GetVer="select Value from Config where Name='ZM_DYN_DB_VERSION'" + OLD_VERSION=`echo $GetVer | mysql -B -h $ZM_DB_HOST -u $ZM_DB_USER -p$ZM_DB_PASS $ZM_DB_NAME | grep -v '^Value'` + if [ "$OLD_VERSION" = "" ]; then + GetVer="select Value from Config where Name='ZM_DYN_CURR_VERSION'" + OLD_VERSION=`echo $GetVer | mysql -B -h $ZM_DB_HOST -u $ZM_DB_USER -p$ZM_DB_PASS $ZM_DB_NAME | grep -v '^Value'` + if [ "$OLD_VERSION" = "" ]; then + echo "You must run $ZM_PATH_BIN/zminit manually +" + return 1 + fi + fi + RETVAL=$? + + if [ $RETVAL != 0 ]; then + tbls=`mysql -h $ZM_DB_HOST -u $ZM_DB_USER -p$ZM_DB_PASS -s -e 'show tables' $ZM_DB_NAME` + RETVAL=$? + if [ $RETVAL = 0 ]; then + echo "Initialize $prog database: +" + echo tbls | grep Config >/dev/null 2>&1 + RETVAL=$? + if [ $RETVAL != 0 ]; then + mysql -B -h $ZM_DB_HOST -u $ZM_DB_USER -p$ZM_DB_PASS $ZM_DB_NAME < $ZM_PATH_UPDATE/zm_create.sql + RETVAL=$? + [ $RETVAL = 0 ] && stat_done + [ $RETVAL != 0 ] && stat_fail + echo + return $RETVAL + fi + ( cd $ZM_PATH_UPDATE; perl $ZM_PATH_BIN/zmupdate.pl -f ) + RETVAL=$? + [ $RETVAL = 0 ] && stat_done + [ $RETVAL != 0 ] && stat_fail + echo + return $RETVAL + else + echo "No access to ZoneMinder database. +Run $ZM_PATH_BIN/zminit manually. +" + return $RETVAL + fi + else + [ "$ZM_VERSION" = "$OLD_VERSION" ] && return 0 + echo "Upgrade %s database: " "$prog" + $ZM_PATH_BIN/zmupdate.pl --version=$OLD_VERSION --noi && ( cd $ZM_PATH_UPDATE; perl $ZM_PATH_BIN/zmupdate.pl -f ) + RETVAL=$? + [ $RETVAL = 0 ] && stat_done + [ $RETVAL != 0 ] && stat_fail + echo + return $RETVAL + fi +} + +start() +{ + loadconf || return $? + checkcfg || return $? + checkdb || return $? + stat_busy "Starting $prog" + [ -d /var/run/zm ] || mkdir -m 774 /var/run/zm + chown -R $ZM_WEB_USER:$ZM_WEB_GROUP /var/run/zm + GetPath="select Value from Config where Name='ZM_PATH_SOCKS'" + ZM_PATH_SOCK=`echo $GetPath | mysql -B -h $ZM_DB_HOST -u $ZM_DB_USER -p$ZM_DB_PASS $ZM_DB_NAME | grep -v '^Value'` + [ -d $ZM_PATH_SOCK ] || mkdir -m 774 -p $ZM_PATH_SOCK + sudo -u $ZM_WEB_USER test -O $ZM_PATH_SOCK \ + || chown -R $ZM_WEB_USER:$ZM_WEB_GROUP $ZM_PATH_SOCK + # Setup the log dir + [ -d /var/log/zm ] || mkdir /var/log/zm + for logs in zmaudit.log zmdc.log zmfilter.log zmpkg.log zmupdate.log zmwatch.log; do + touch /var/log/zm/$logs + done + chown -R $ZM_WEB_USER:$ZM_WEB_GROUP /var/log/zm + $command start + RETVAL=$? + [ $RETVAL = 0 ] && stat_done && add_daemon zm + [ $RETVAL != 0 ] && stat_fail + #[ $RETVAL = 0 ] && touch /var/lock/subsys/zm + return $RETVAL +} + +stop() +{ + stat_busy "Stopping $prog" + $command stop + RETVAL=$? + [ $RETVAL = 0 ] && stat_done && rm_daemon zm + [ $RETVAL != 0 ] && stat_fail + #[ $RETVAL = 0 ] && rm -f /var/lock/subsys/zm +} + +status() +{ + result=`$command status` + if [ "$result" = "running" ]; then + echo "ZoneMinder is running +" + RETVAL=0 + else + echo "ZoneMinder is stopped +" + RETVAL=1 + fi +} + +case "$1" in + 'start') + start + ;; + 'stop') + stop + ;; + 'restart') + stop + start + ;; + 'condrestart') + loadconf + checkcfg + result=`$ZM_PATH_BIN/zmdc.pl check` + if [ "$result" = "running" ]; then + $ZM_PATH_BIN/zmdc.pl shutdown > /dev/null + start + fi + ;; + 'status') + status + ;; + *) + echo "Usage: zm { start | stop | restart | condrestart | status } +" + RETVAL=1 + ;; +esac +exit $RETVAL diff --git a/pcr/zoneminder/zmeventbackup b/pcr/zoneminder/zmeventbackup new file mode 100755 index 000000000..a14ee22a1 --- /dev/null +++ b/pcr/zoneminder/zmeventbackup @@ -0,0 +1,48 @@ +#!/bin/bash +#=============================================================================== +# +# FILE: eventdump.sh +# +# USAGE: ./eventdump.sh +# +# DESCRIPTION: Uses mysqldump to create a .sql file for individual zm +# events to make Event table recovery possible by doing a +# 'find' search in ZoneMinder the events directory +# +# OPTIONS: --- +# REQUIREMENTS: --- mysqldump +# BUGS: --- +# NOTES: --- +# AUTHOR: Ross Melin +# COMPANY: +# VERSION: 1.0 +# CREATED: 03/06/2008 11:51:19 AM PST +# REVISION: --- +#=============================================================================== + +# Edit these to suit your configuration +ZM_CONFIG=/etc/zm.conf +MYSQLDUMP=/usr/bin/mysqldump +EVENTSDIR=/srv/zoneminder/www/events + +# The rest should not need editing + +# Get the mysql user and password +source $ZM_CONFIG +MYDUMPOPTS="--user=$ZM_DB_USER --password=$ZM_DB_PASS --skip-opt --compact --quick --no-create-info" + + +for tag in $(find $EVENTSDIR -amin -65 -name ".[0-9]*") + do + EVENT_PATH=$(echo $tag |cut -f 1 -d .) + EVENT_ID=$(echo $tag |cut -f 2 -d .) + # Dump the sql statements needed to reload the Events, Frames and Stats tables + + echo "-- ZM_DB_VERSION=$ZM_VERSION +" > $EVENT_PATH.sql + + $MYSQLDUMP $MYDUMPOPTS --where="Id=$EVENT_ID" zm Events >> $EVENT_PATH.sql + $MYSQLDUMP $MYDUMPOPTS --where="Eventid=$EVENT_ID" zm Frames >> $EVENT_PATH.sql + $MYSQLDUMP $MYDUMPOPTS --where="Eventid=$EVENT_ID" zm Stats >> $EVENT_PATH.sql + +done diff --git a/pcr/zoneminder/zminit.arch b/pcr/zoneminder/zminit.arch new file mode 100644 index 000000000..01b6658a7 --- /dev/null +++ b/pcr/zoneminder/zminit.arch @@ -0,0 +1,143 @@ +#!/bin/sh + + +ZM_CONFIG=/etc/zm.conf + + + +loadcfg() { + if [ -f $ZM_CONFIG ]; then + . $ZM_CONFIG + else + echo "ERROR: $ZM_CONFIG not found." + exit 1 + fi + } +chkmysql(){ + #FIXME + /etc/rc.d/mysqld restart || (echo "mysql is not availible" && exit 1 ) + } + +getmylogin(){ + echo "Enter MySQL Administrator username" + echo "(Default: root and password is blank)" + echo -n "MySQL Admin: " + read MYADMIN + echo -n "Password: " + read MYPASS + if [ "X$MYPASS" != "X" ]; then MYPASS="-p$MYPASS"; fi + echo "\q" |mysql -u $MYADMIN $MYPASS || exit 0 + + } + +checkdb() +{ + # Check database exisits and version + exists=$(echo "show databases" |mysql -u $MYADMIN "$MYPASS" |grep zm) + if [ "$exists" = "zm" ]; then + OLD_VERSION=$(echo "select Value from Config where Name = 'ZM_DYN_DB_VERSION';" | mysql -u $MYADMIN $MYPASS zm |grep -v '^Value') + + case $OLD_VERSION in + "") + echo "A zm database exists, but the version is unknown" + echo "Updating is unlikely to succeed" + ;; + "$ZM_VERSION") + echo "The zm database appears to be up to date" + echo "If this is incorrect, edit $ZM_CONFIG to reflect the current version" + ;; + *) + echo "A database fron zm-$OLD_VERSION exists already" + ;; + esac + + while [ true ] + do + echo "Choose one of the following options:" + echo "[U]pdate the database" + echo "[D]rop the old database and reinitialize" + echo "[E]xit and do nothing" + read OPTION + case $OPTION in + "U"|"u") + /etc/rc.d/zm restart + exit 0 + ;; + "D"|"d") + echo "drop database zm;"|mysql -u $MYADMIN $MYPASS + return + ;; + "E"|"e") + exit 0 + ;; + esac + done + fi +} + +checkcfg(){ +for n in ZM_DB_HOST ZM_DB_NAME ZM_DB_USER ZM_DB_PASS; do + eval "val=\$$n" + if [ "$val" = "" ]; then + echo "ERROR($ZM_CONFIG): $n should not be empty." + echo "Enter a $n for ZM to use the Database." + if [ "$n" = "ZM_DB_PASS" ]; then + echo -n "Will not echo on screen $n : " + stty -echo # Turns off screen echo. + read newval + stty echo # Restores screen echo. + echo "" + ### The following can be used to generate a random password + # randstr newval 16 + else + echo -n "$n : " + read newval + fi + cp $ZM_CONFIG /tmp/$$ && + sed 's/^'$n='.*$/'$n=$newval'/g' /tmp/$$ >$ZM_CONFIG + + fi +done + +if [ "$ZM_DB_HOST" = "localhost" ]; then + ClientHost=localhost +else + ClientHost=`hostname` +fi +} + +reloadcfg(){ +loadcfg +} + +initdb(){ +sql=/tmp/zm.crdb.sql +echo "" >$sql +chmod 600 $sql + +echo "CREATE DATABASE $ZM_DB_NAME;" >>$sql +echo "USE $ZM_DB_NAME;" >>$sql + +echo "GRANT all on $ZM_DB_NAME.* TO '$ZM_DB_USER'@'$ClientHost' IDENTIFIED BY '$ZM_DB_PASS';" >>$sql + +cat $sql | mysql -B -h $ZM_DB_HOST -u $MYADMIN $MYPASS +rm -f $sql + +cat $ZM_PATH_UPDATE/zm_create.sql | mysql -h $ZM_DB_HOST -u $ZM_DB_USER -p$ZM_DB_PASS $ZM_DB_NAME +( cd $ZM_PATH_UPDATE; perl $ZM_PATH_BIN/zmupdate.pl -f ) + + $ZM_PATH_UPDATE/customdb $ZM_DB_HOST $ZM_DB_NAME $ZM_DB_USER $ZM_DB_PASS +} + + + +loadcfg +getmylogin +checkdb +checkcfg +reloadcfg +initdb + + + + diff --git a/pcr/zoneminder/zoneminder-1.25.0-kernel35.patch b/pcr/zoneminder/zoneminder-1.25.0-kernel35.patch new file mode 100644 index 000000000..51bc1288d --- /dev/null +++ b/pcr/zoneminder/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) ); + } diff --git a/pcr/zoneminder/zoneminder.install b/pcr/zoneminder/zoneminder.install new file mode 100644 index 000000000..be449a5ca --- /dev/null +++ b/pcr/zoneminder/zoneminder.install @@ -0,0 +1,57 @@ +# zoneminder.install + +## arg 1: the new package version +post_install() { + ln -s /usr/share/cambozola/cambozola.jar /srv/zoneminder/www/ + chown -R http.http /srv/zoneminder + chown http.http /etc/zm.conf + mkdir /srv/zoneminder/backup + mkdir /srv/zoneminder/socks + cat << EOF +Note: +==> To initialize the ZoneMinder database run (as root) +==> /srv/zoneminder/bin/zminit +EOF + + cat << EOF +==> Check /etc/php/php.ini and make sure these are uncommented +==> extension=gd.so +==> extension=gettext.so +==> extension=mcrypt.so +==> extension=mysql.so +==> extension=mysqli.so +==> extension=session.so +==> extension=sockets.so +EOF + cat << EOF +==> Check /etc/php/php.ini and make sure short_open_tag = On +EOF + + + cat /etc/php/php.ini |grep "^open_basedir.*/etc/" | \ +grep "/srv/zoneminder/www">/dev/null || cat << EOF +==> You must edit /etc/php/php.ini and add to open_basedir "/etc/" and +==> "/srv/zoneminder/" like so +==> open_basedir = /home/:/tmp/:/usr/share/pear/:/etc/:/srv/zoneminder/ +==> Otherwise ZoneMinder will be unable to read /etc/zm.conf +==> or display its own web directory +EOF + + cat << EOF +Note: +==> You must edit /etc/httpd/conf/httpd.conf and uncomment/add the line +==> LoadModule php5_module modules/libphp5.so +==> You must also add these lines: +==> Include conf/extra/php5_module.conf +==> Include /etc/httpd/conf/extra/httpd-zm.conf +EOF + touch /srv/zoneminder/zm_backup.sql +} + + +## arg 1: the new package version +## arg 2: the old package version +post_upgrade() { + /srv/zoneminder/bin/zmupdate.pl -f >/dev/null +} +# vim:set ts=2 sw=2 et: -- cgit v1.2.3-54-g00ecf From a6e0886d58c8e7537e2ffb600813f4420a4dd58c Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 11 Sep 2012 04:05:04 -0300 Subject: zoneminder: adding zm.service file --- pcr/zoneminder/PKGBUILD | 2 +- pcr/zoneminder/zm.service | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 pcr/zoneminder/zm.service (limited to 'pcr') diff --git a/pcr/zoneminder/PKGBUILD b/pcr/zoneminder/PKGBUILD index 38e8732d6..206651216 100644 --- a/pcr/zoneminder/PKGBUILD +++ b/pcr/zoneminder/PKGBUILD @@ -5,7 +5,7 @@ pkgname=zoneminder pkgver=1.25.0 pkgrel=13 -pkgdesc="Capture, analyse, record and monitor video security cameras." +pkgdesc="Capture, analyse, record and monitor video security cameras" arch=('i686' 'x86_64' 'arm') url="http://www.zoneminder.com" license=('GPL') diff --git a/pcr/zoneminder/zm.service b/pcr/zoneminder/zm.service new file mode 100644 index 000000000..ccf1f3334 --- /dev/null +++ b/pcr/zoneminder/zm.service @@ -0,0 +1,9 @@ +[Unit] +Description=Capture, analyse, record and monitor video security cameras + +[Service] +Type=forking +ExecStart=/usr/sbin/zm + +[Install] +WantedBy=multi-user.target -- cgit v1.2.3-54-g00ecf From fe3b0ae26acc520731008093da19f4ab0dcccc7a Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 11 Sep 2012 04:21:22 -0300 Subject: cambozola: adding new package to [pcr] repo --- pcr/cambozola/PKGBUILD | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 pcr/cambozola/PKGBUILD (limited to 'pcr') diff --git a/pcr/cambozola/PKGBUILD b/pcr/cambozola/PKGBUILD new file mode 100644 index 000000000..27664f181 --- /dev/null +++ b/pcr/cambozola/PKGBUILD @@ -0,0 +1,26 @@ +# Maintainer: Ernie Brodeur +pkgname=cambozola +pkgver=0.92 +pkgrel=1 +pkgdesc="A java servlet for streaming JPEG's from ip Cameras." +url="http://www.charliemouse.com:8080/code/cambozola/" +arch=('x86_64' 'i686') +license=('GPL') +depends=('java-runtime') +makedepends=('apache-ant') +source=("${url}${pkgname}-${pkgver}.tar.gz") +md5sums=('602daba851e726e2399445fda3ca718f') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ant +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + mkdir -p ${pkgdir}/usr/share/${pkgname} + cp dist/* ${pkgdir}/usr/share/${pkgname}/ +} + +# vim:set ts=2 sw=2 et: + -- cgit v1.2.3-54-g00ecf From ce26f8426ca91df05d248016a02f4d254c81f9e7 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 11 Sep 2012 04:44:57 -0300 Subject: perl-unicode-map: adding new package to [pcr] repo --- pcr/perl-unicode-map/PKGBUILD | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 pcr/perl-unicode-map/PKGBUILD (limited to 'pcr') diff --git a/pcr/perl-unicode-map/PKGBUILD b/pcr/perl-unicode-map/PKGBUILD new file mode 100644 index 000000000..1d03e867d --- /dev/null +++ b/pcr/perl-unicode-map/PKGBUILD @@ -0,0 +1,30 @@ +# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman +# Contributor: Ross melin + +# Required by zoneminder + +pkgname=perl-unicode-map +pkgver=0.112 +pkgrel=2 +pkgdesc="Unicode::Map" +arch=('i686' 'x86_64') +url="http://search.cpan.org/~MSCHWARTZ/Unicode-Map" +license=('GPL' 'PerlArtistic') +depends=('perl') +options=('!emptydirs') +source=(http://www.cpan.org/authors/id/M/MS/MSCHWARTZ/Unicode-Map-$pkgver.tar.gz) +md5sums=('edaa8fc5ddf0e5d805e274283dd0625d') + +build() { + cd $startdir/src/Unicode-Map-$pkgver + eval `perl -V:archname` + PERL_MM_USE_DEFAULT=1 /usr/bin/perl Makefile.PL \ + INSTALLDIRS=vendor || return 1 + + /usr/bin/make || return 1 + /usr/bin/make DESTDIR=$startdir/pkg install || return 1 + /usr/bin/find $startdir/pkg -name '.packlist' -delete + /usr/bin/find $startdir/pkg -name '*.pod' -delete +} + +# vim:set ts=2 sw=2 et: -- cgit v1.2.3-54-g00ecf From df9c329131a3e5b77d1e1bdcc71b04caa384bb6f Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 11 Sep 2012 04:51:37 -0300 Subject: perl-x10: adding new package to [pcr] repo --- pcr/perl-x10/PKGBUILD | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 pcr/perl-x10/PKGBUILD (limited to 'pcr') diff --git a/pcr/perl-x10/PKGBUILD b/pcr/perl-x10/PKGBUILD new file mode 100644 index 000000000..51283d599 --- /dev/null +++ b/pcr/perl-x10/PKGBUILD @@ -0,0 +1,30 @@ +# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman +# Contributor: Ross melin + +# Required by zoneminder + +pkgname=perl-x10 +pkgver=0.03 +pkgrel=2 +pkgdesc="X10" +arch=('i686' 'x86_64') +url="http://search.cpan.org/~ROBF/X10" +license=('GPL' 'PerlArtistic') +depends=('perl-astro-suntime>=0.01' 'perl-device-serialport' 'perl-time-modules') +options=('!emptydirs') +source=(http://www.cpan.org/authors/id/R/RO/ROBF/X10-$pkgver.tar.gz) +md5sums=('056b3d98fab545865148b948de6784c7') + +build() { + cd $startdir/src/X10-$pkgver + eval `perl -V:archname` + PERL_MM_USE_DEFAULT=1 /usr/bin/perl Makefile.PL \ + INSTALLDIRS=vendor || return 1 + + /usr/bin/make || return 1 + /usr/bin/make DESTDIR=$startdir/pkg install || return 1 + /usr/bin/find $startdir/pkg -name '.packlist' -delete + /usr/bin/find $startdir/pkg -name '*.pod' -delete +} + +# vim:set ts=2 sw=2 et: -- cgit v1.2.3-54-g00ecf From dce7f494a1b21bd810336f773b602d2a75287559 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 11 Sep 2012 04:56:34 -0300 Subject: perl-astro-suntime: adding new package to [pcr] repo --- pcr/perl-astro-suntime/PKGBUILD | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 pcr/perl-astro-suntime/PKGBUILD (limited to 'pcr') diff --git a/pcr/perl-astro-suntime/PKGBUILD b/pcr/perl-astro-suntime/PKGBUILD new file mode 100644 index 000000000..d615aa3af --- /dev/null +++ b/pcr/perl-astro-suntime/PKGBUILD @@ -0,0 +1,29 @@ +# This PKGBUILD was generated by cpan4pacman via CPANPLUS::Dist::Pacman +# Contributor: Ross melin + +# Required by zoneminder + +pkgname=perl-astro-suntime +pkgver=0.01 +pkgrel=2 +pkgdesc="Calculate sun rise/set times" +arch=('i686' 'x86_64') +url="http://search.cpan.org/~ROBF/Astro-SunTime" +license=('GPL' 'PerlArtistic') +depends=('perl-time-modules') +options=('!emptydirs') +source=(http://www.cpan.org/authors/id/R/RO/ROBF/Astro-SunTime-$pkgver.tar.gz) +md5sums=('4657927a49604494bfaaa153663b90b9') + +build() { + cd $startdir/src/Astro-SunTime-$pkgver + eval `perl -V:archname` + PERL_MM_USE_DEFAULT=1 /usr/bin/perl Makefile.PL \ + INSTALLDIRS=vendor || return 1 + /usr/bin/make || return 1 + /usr/bin/make DESTDIR=$startdir/pkg install || return 1 + /usr/bin/find $startdir/pkg -name '.packlist' -delete + /usr/bin/find $startdir/pkg -name '*.pod' -delete +} + +# vim:set ts=2 sw=2 et: -- cgit v1.2.3-54-g00ecf From cc6aaca4e5a657ef13755d8b8f12e0473e303689 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 11 Sep 2012 05:10:36 -0300 Subject: perl-sys-mmap: adding new package to [pcr] repo --- pcr/perl-sys-mmap/PKGBUILD | 49 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 pcr/perl-sys-mmap/PKGBUILD (limited to 'pcr') diff --git a/pcr/perl-sys-mmap/PKGBUILD b/pcr/perl-sys-mmap/PKGBUILD new file mode 100644 index 000000000..e563d5da7 --- /dev/null +++ b/pcr/perl-sys-mmap/PKGBUILD @@ -0,0 +1,49 @@ +# Contributor: Justin Davis +# Generator : CPANPLUS::Dist::Arch 1.18 + +pkgname='perl-sys-mmap' +pkgver='0.16' +pkgrel='1' +pkgdesc="uses mmap to map in a file as a Perl variable" +arch=('i686' 'x86_64') +license=('PerlArtistic' 'GPL') +options=('!emptydirs') +depends=('perl') +makedepends=() +url='http://search.cpan.org/dist/Sys-Mmap' +source=('http://search.cpan.org/CPAN/authors/id/T/TO/TODDR/Sys-Mmap-0.16.tar.gz') +md5sums=('faae869e876fa86f92e6de3f13af3aef') +sha512sums=('9f533f8eaa2707a77fa69dc0163e5e55b13d6653ddb5f7850c3fcaa090c79069cccedb947c1b8cd5a125fd7b055803eff437697c120785f422bff0414be7cd05') +_distdir="${srcdir}/Sys-Mmap-0.16" + +build() { + ( export PERL_MM_USE_DEFAULT=1 PERL5LIB="" \ + PERL_AUTOINSTALL=--skipdeps \ + PERL_MM_OPT="INSTALLDIRS=vendor DESTDIR='$pkgdir'" \ + PERL_MB_OPT="--installdirs vendor --destdir '$pkgdir'" \ + MODULEBUILDRC=/dev/null + + cd "$_distdir" + /usr/bin/perl Makefile.PL + make + ) +} + +check() { + cd "$_distdir" + ( export PERL_MM_USE_DEFAULT=1 PERL5LIB="" + make test + ) +} + +package() { + cd "$_distdir" + make install + find "$pkgdir" -name .packlist -o -name perllocal.pod -delete +} + +# Local Variables: +# mode: shell-script +# sh-basic-offset: 2 +# End: +# vim:set ts=2 sw=2 et: -- cgit v1.2.3-54-g00ecf From 7a2d803d8dda27069bc21dbed8d83405ae7bf7ec Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Tue, 11 Sep 2012 05:20:07 -0300 Subject: perl-net-sftp-foreign: adding new package to [pcr] repo --- pcr/perl-net-sftp-foreign/Changes | 795 +++++++++++++++++++++++++++++++++++++ pcr/perl-net-sftp-foreign/PKGBUILD | 30 ++ 2 files changed, 825 insertions(+) create mode 100644 pcr/perl-net-sftp-foreign/Changes create mode 100644 pcr/perl-net-sftp-foreign/PKGBUILD (limited to 'pcr') diff --git a/pcr/perl-net-sftp-foreign/Changes b/pcr/perl-net-sftp-foreign/Changes new file mode 100644 index 000000000..eff2bb00b --- /dev/null +++ b/pcr/perl-net-sftp-foreign/Changes @@ -0,0 +1,795 @@ +Revision history for Net::SFTP::Foreign + +1.73 May 11, 2012 + - password authentication was broken on Solaris (maybe also on + others) due to an incorrect waitpid call (bug report and + solution by Douglas Wilson) + - disconnect was dieing when used with autodie on (bug report + by Douglas Wilson) + +1.72_02 May 4, 2012 + - add methods truncate, chmod, chown and utime + - make setstat, stat and statvfs accept both a path and a + remote file/dir handle as its first argument + - deprecate fsetstat, fstat and fstatvfs + - refactor remove and rmdir generation + - add support for sparse file transfer + - minor doc improvements + +1.72_01 Mar 20, 2012 + - add support for asks_for_username_at_login feature (feature + request by Horea Gligan) + - key_path now can accept an array + +1.71 Mar 14, 2012 + - release as stable + - add support for vendor-id extension + +1.70_10 Mar 2, 2012 + - now perm and umask can be used together on get method calls + - more cleanups for permission handling code on get method + +1.70_09 Mar 2, 2012 + - autodie was no working for chmod errors on get + - get was unlinking the file when chmod failed even whith + append or resume set + - get was failing when chmod failed even if copy_perms was + dissabled (bug report by Rich Anderson) + - solve bad interaction between autodie, resume and append + - best_effort wrapped methods were not failing ever + - minor put method refactoring + - save globals on destructor entry + - better put method debugging + +1.70_08 Feb 19, 2012 + - queue_size defaults per backend were using the wrong key + name and so being ignored. That was causing connections to + stall on Windows with the default backend. + +1.70_07 Feb 19, 2012 + - put recovers from open calls failing due to the existence of + a remote file with the wrong permissions + - do not use accessors for status and error slots internally + - test_d and test_e methods where broken when used with + autodie, this bug may also affected rget, rput and other + high level methods + +1.70_06 Feb 13, 2012 + - add put_content method + - support perm option in mget, mput, rget and rput methods + - better umask handling, now use an object to reset it at end + of scope + - improve debugging output + +1.70_05 Feb 5, 2012 + - on Compat::get $remote argument is optional + - make Compat::(get|put) use best_effort by default + - add support for best_effort feature + +1.70_04 Jan 22, 2012 + - check number of arguments passed to Compat methods + +1.70_03 Dec 11, 2011 + - remove uninitialized warning when using a custom transport + (bug report by Kay-C. Baufeld) + - several spelling corrections (patch contributed by Nicholas + Bamber) + +1.70_02 Dec 10, 2011 + - syntax error, POSIX::WNOHANG was recognized as bareword in + perl 5.8 + +1.70_01 Dec 9, 2011 + - do not use Expect to handle password authentication but a + hand-crafted method that uses IO::Pty directly + - solve problem with connections stalling when using password + authentication and the remote host was unreachable (bug + report by Srini T) + +1.69 Dec 9, 2011 + - release as stable + +1.68_08 Oct 11, 2011 + - accept an array reference in ssh_cmd + - use warnings::warnif to generate warnings + - minor doc improvements and corrections + - in case of sftp-server not found test were not skipped but + failed + +1.68_07 Oct 10, 2011 + - password authentication was not working with the new + IPC::Open3 replacement code (bug report by Srini T) + - empty password handling was also broken + - allow setting the backend on all the tests + +1.68_06 Oct 9, 2011 + - do not use the buggy IPC::Open3 under Unix/Linux. This is a + mayor internal change, please report any connection problems + that were not happening with previous versions of the module + - allow testing Windows backend under Unix + +1.68_05 Sep 27, 2011 + - this version is more picky about incomplete responses to + stat requests when copy_perms or copy_time are enabled + (implicetly or explicitly) on get method + - handle incomplete attributes in stat response inside get + (bug report by Gus via the Perl Guru Forums). + +1.68_04 Sep 7, 2011 + - accept passing undef as second argument to put, get, rput, + rget, mput and mget + - catch invalid undefined arguments in several places + - custom conversion usage was broken + - add %DEFAULTS to Compat package for setting default options + for Net::SFTP::Foreign methods called under the hood. + +1.68_03 Aug 28, 2011 + - atomic feature added to get, put and higher level methods + using them + - cleanup feature added to get and put + - support for numbered feature added to rename + - save final target name when a reference is passed as + numbered option + - refactor rput and rget handling of put, put_symlink, get and + get_symlink options using hashes + - remove operation inside put_symlink was clobbering error and + status from previous symlink call + - do not die from inside DESTROY methods when autodie is set + - resume feature in get method was broken + - refactor numbered logic inside _inc_numbered sub + - refactor _gen_save_status_method using local + +1.68_02 Jul 20, 2011 + - make unix2dos clever so it doesn't convert CR+LF sequences + into CR+CR+LF (bug report by Pavel Albertyan). + +1.68_01 Jul 12, 2011 + - add workaround for crippled versions of Scalar::Util + - document overwrite and numbered options as accepted by the + put method (reported by Paul Kolano) + +1.67 Jul 4, 2011 + - released as stable in order to solve critical bug: + - solve regresion introduced in 1.63_05 that caused ssh to + hang when trying to access the tty + - pass password to plink via -pw and generate a warning when + doing so + - support for key_path constructor argument + - support for autodie mode + - docs misspelling errors corrected (reported by Michael + Stevens) + +1.66_01 Jun 3, 2011 + - allow using regexp objects as patterns on glob and derived + methods + - some doc improvements + +1.65 May 17, 2011 + - die_on_error was broken + +1.64 May 09, 2011 + - release as stable + - document the write_delay and read_ahead options + - minor doc corrections + +1.63_10 Apr 13, 2011 + - workaround bug in perl 5.6 calling STORE in a tied + filehandle + - solve "not enough arguments for grep" when using an old + version of Scalar::Util + +1.63_09 Apr 12, 2011 + - an error in the handler accessors was adding and useless + wrapping layer + +1.63_08 Jan 22, 2011 + - bad method call inside mkpath corrected (bug report and + solution by Adam Pingel) + +1.63_07 Jan 20, 2011 + - do not override PreferredAuthentication when explicitly set + by the user (bug report and solution by Ave Wrigley) + +1.63_06 Dec 10, 2010 + - redirect_stderr_to_tty was redirecting to the wrong side of + the tty (bug report by Russ Brewer) + +1.63_05 Dec 6, 2010 + - add support for hardlink@openssh.com extension + - add die_on_error method + - create a new process group for slave ssh process so that + signals sent from the terminal are not propagated + - better error messages + +1.63_04 Nov 11, 2010 + - workaround for IPC::Open3::open3 not working with tied file + handles on Windows (bug report by Barnabas Bona) + - several spelling corrections (contributed by Philippe Bruhat) + +1.63_03 Nov 10, 2010 + - On some OSs (i.e. AIX) reading/writing from non-blocking fds + can result in EAGAIN even when select has indicated that + data was available (bug report and patch by Bill Godfrey) + +1.63_02 Nov 2, 2010 + - Windows backend was not pipelining requests when called from + put method + +1.63_01 + - support for Tectia client added (bug report by Russ Brewer) + +1.62 Oct 5, 2010 + - _catch_tainted_args was not being imported from helpers (bug + report by rfbits at PerlMonks) + +1.61 Sep 22, 2010 + - remove some dead code introducing unneeded constraints that + cause the Net::SSH2 backend to fail (bug report by Philippe + Vouters) + +1.60 Sep 20, 2010 + - _ensure_list was not being imported from Helpers (bug report + and solution by Jean-Benoît Baudens) + +1.59 Sep 16, 2010 + - kill ssh subprocess with KILL signal on Windows + +1.58_08 Aug 22, 2010 + - import _hexdump from Helpers.pm (bug report by Chuck Kozak) + - call kill passing the signal name instead of using POSIX to + get its number + +1.58_07 Aug 2, 2010 + - dump $! on failed sysreads and syswrites + +1.58_06 Jul 12, 2010 + - rput was broken under Windows (bug report by Brian + E. Lozier) + - do not use Fcntl S_IS* macro wrappers as S_ISLNK is not + available under Windows + - new FAQ about put failing because of forbidden setstat + - minor doc improvements + - use "kill $name" instead of using POSIX to get the signal + number + +1.58_05 Jun 7, 2010 + - add support for stderr_discard also in Windows backend + +1.58_04 Jun 7, 2010 + - add support for stderr_discard + +1.58_03 May 27, 2010 + - even more debugging for put method and the resume feature + +1.58_02 + - add FAQ about strict host key checking + - better debugging for put method + +1.58_01 Apr 19, 2010 + - add stderr redirection feature + - minor doc corrections + - add donating to OpenSSH entry in docs + +1.57 Mar 14, 2010 + - release as stable + +1.56_09 Mar 11, 2010 + - realpath feature was broken on find and ls methods (bug + report by Paul Kolano) + - taint checks on hashes were not reporting problems properly + - minor doc corrections + +1.56_08 Jan 5, 2010 + - put'ting a tied file handle was generating some warnings + (bug report and patch by Gavin Carr) + +1.56_07 Dec 29, 2009 + - new methods added: mget, mput, get_symlink, put_symlink + - new numbered feature + - some minor bugs corrected + - glob can now also be used from Net::SFTP::Foreign::Local + - some doc corrections and improvements + - _call_on_error was not cleaning up under some conditions + +1.56_06 Dec 14, 2009 + - mkpath was broken, rewritten to not use the obsolete + _normalize_path method (bug report by Peter Edwards). + - add some tests for mkpath + - introduce internal _clear_error_and_status method + - completely remove _normalize_path + - correct bug in _debug not printing sub name under some + conditions + +1.56_05 Dec 9, 2009 + - add support for plugable backends ***THIS IS A MAYOR + INTERNAL CHANGE THAT COULD INTRODUCE NEW BUGS*** + +1.56_04 Dec 8, 2009 + - remote file path joining sub rewritten (note: this could + change the module behaviour in some corner cases) + - new test file with path join operations + - rput('.',...) was failing due to bad path joining for local + filesystem (bug report by Aaron Paetznick). + - accept keyboard-interactive authentication + - some docs reorganization + - add pointer to my wish list :-) + +1.56_03 Nov 14, 2009 + - use SIGTERM to kill children also on Windows + - workaround Cygwin bug, fopen(..., a); ftell() does not + return the size of the file + +1.56_01 Oct 26, 2009 + - pass PreferredAuthentication option to SSH process to force + password authentication (bug and solution by Stewart + Heckenberg) + - use SIGTERM instead of SIGHUP to kill slave SSH process + +1.55 Sep 9, 2009 + - re-release as stable + +1.54_03 Sep 4, 2009 + - add debugging to _rel2abs + +1.54_02 Aug 19, 2009 + - add extra sanity check to setcwd method. It seems that some + servers do not report an error when realpath is called on an + inexistent file (bug report by Ben Szulc) + - password authentication broken in AIX + - some documentation corrections + - more tests added + +1.54_01 Jul 22, 2009 + - yet another "Password not requested as expected" bug solved, + $pty->close_slave was being called too soon (bug report by + Tim Rayner) + +1.53 Jul 6, 2009 + - re-released as stable + +1.52_12 Jul 2, 2009 + - also if using password authentication, detect when the + remote host key doesn't match the key stored in know_hosts + and abort the connection (bug report by Ryan Niebur). + - if using password authentication, detect when the target + host key has not been accepted yet (bug report by Ryan + Niebur) + - work around for IPC::Open3 feature missing in old versions + of that module that caused password authentication to fail + under 5.6.x perls (bug report by Vetrivel). + - find method would not follow links passed as arguments to + the method or others found when ordered mode was selected + (bug report by Paul Kolano) + - detect bad passwords and other password authentication + improvements + - sample scripts added + - atomic_rename was returning the wrong error code/string + - Perl 5.11 changes the EOF call interface for tied file + handles + - attributes flags slot was incorrectly set on new_from_buffer + - get/put_int64 optimization + - add calling function name to debug output + - add debug hexdumps for sysreads and syswrites + - optimize some common ls usages to reduce CPU utilization + - implement pipelining for ls command + - ls bug, wanted was being called with the wrong arguments + - add timestamps to debugging output + - ensure that attribute arguments are of class + Net::SFTP::Foreign::Attributes (feature request by Todd + Rinaldo) + - put_attributes was broken + - move _hexdump to Helpers package + - debug subsystem cleanup + +1.51 Apr 7, 2009 + - "get" corrupted the fetched files if $\ was non empty (bug + report and solution by Dagfinn Ilmari Mannsaker) + - increment default packet and queue size + +1.50 Mar 18, 2009 + - rel2abs was not collapsing duplicated slashes when joining + paths, generating paths as '//home' that have an unexpected + meaning under Windows (bug report and solution by Erik + Weidel) + +1.49 Mar 17, 2009 + - use utf8::downgrade to handle data with may have its utf8 + flag set (bug report by Jamie Lahowetz, solution by ikegami) + - emulate SSH2_FXF_APPEND mode not supported by OpenSSH SFTP + server + - open flags documented + - minor documentation corrections + - follow_links option from find method was broken (bug report + by Paul Kolano) + - spurious debugging message removed from statvfs + - put and get now accept a file handle instead of a file name + for the local file (feature request by David Morel) + - add support for append option in put and get + - put and get documentation reorganized + - improve write caching behavior, '_write_delay' is used to + control the write buffer size (feature request by David + Morel) + +1.47 Feb 13, 2009 + - add support for per object dirty cleanup flag required by + proper Net::OpenSSH integration + - add support for old SSH1 + +1.46 Dec 18, 2008 + - release as stable version + - improve synopsis documentation + - commercial support offering note added + +1.45 Nov 11, 2008 + - reduce localized scope for $SIG{__DIE__} and $@ (bug report + by David Serrano and David Riosalido) + - workaround incomplete unicode support in perl 5.6.x + - new FAQ entry about how to completely disable passwd + authentication + - add support for OpenSSH protocol extensions statvfs, + fstatvfs and posix-rename. + - add overwrite feature to rename method + - new fs_encoding feature added ***this is a mayor internal + change that could introduce new bugs*** + - when parsing status msgs, the string was not being converted + to utf8 + - croak when utf8 data is written to remote files in any way. + - binmode ssh_in and ssh_out + - some minor documentation corrections + - add support for mkpath (feature requested by Mark Murphy) + - add support for late_set_attr (bug report by Oliver Dunbar) + - add support for extended file attributes (bug report by + Oliver Dunbar) + - add support for the autodisconnect feature (bug report by + Jared Watkins). + - add support for multiprocess debugging + +1.44 Oct 9, 2008 + - put was using block sizes 4 times bigger than + requested, bug introduced in 1.41 (reported by Hussain + Syed). + +1.43 Sep 8, 2008 + - readline was slurping the full file contents (bug report by + Sylvain Cousineau). + +1.42 Jul 17, 2008 + - experimental support for resuming file transfers + - some typos fixed + - TODO added + +1.41 Jul 16, 2008 + - add support for on the fly data conversions including + dos2unix and unix2dos + - copy_perm => 0 was being ignored in several methods (bug + report by Dave Tauzell) + +1.40 Jun 24, 2008 + - work around for servers that do not include the mandatory + error message on SSH_FXP_STATUS responses (bug report by + Hugh Lampert). + +1.39 Jun 23, 2008 + - suppress warning on mod_perl environments (bug and solution + reported by Eric Rybski). + +1.38 May 20, 2008 + - add experimental support for plink command + - on get, don't change file size passed to callback + - on get, survive stat failure for servers with stat/readdir + disabled (bug reported by Hussain Syed) + - default open mode set to read + - add support for block_size and queue_size constructor + arguments + - limit usage of Expect and PTYs to authentication phase (bug + reported by Tom Warkentin) + - honour copy_perm option in put method (bug report by Bruce + Harold) + - copy_perms option renamed to copy_perm for consistency + (copy_perms still supported) + - glob optimization + - typo in Net::SFTP::Foreign::Common::_set_errno was not + setting $! correctly (bug report by Rafael Kitover) + - add debugging support to _do_io and _set_(status|error) + +1.36 Apr 18, 2008 + - forbid usage of Net::SFTP::Foreign methods from Compat + module (bug reported by Fred Zellinger) + - document the password and passphrase constructor + options. + +1.35 Feb 8, 2008 + - put method was failing for binary files under Windows + because binmode was not set on the local filehandler (bug + report and patch by Patrick Frazer). + +1.34 Jan 8, 2008 + - document rput. It said it was not implemented (bug report + by Paul Kolano). + - put method was failing for binary files under Windows + because binmode was not set on the local filehandler (bug + report and patch by Patrick Frazer). + +1.33 Jan 6, 2008 + - rremove was not removing dirs (bug report by Paul Kolano). + - require perl >= 5.6 + - add support for open/close and DESTROY debugging + +1.32 Dec 8, 2007 + - add new question to FAQ + - document password and passphrase options (though, not + completely). + - somo minor documentation changes + - on testing look for sftp-server on libexec dirs + - and delete temporal files + +1.31 Oct 8, 2007 + - remove Win32::Socketpair loading, it is not used anymore + - improve debugging + - do not croak when invalid data from the other side appears + +1.30 Aug 23, 2007 + - add support for realpath option to ls method + - add support for realpath and names_only to glob method + - improve _set_status and _set_error methods + - add support for password authentication and for keys with + passphrases + +1.29 Aug 14, 2007 + - add support for names_only option to ls and find methods + - make ls and find methods default to '.' + - DESTROY was also messing with $? and $! values (bug reported + by Dave Haywood) + - better usage checking for several methods + - add support for cwd (experimental) + - symlink docs corrected + - several other doc corrections + +1.28 + - argument checking in rename was wrong (reported by Greg + Howard) + - disable DIE custom handlers when using eval + +1.27 Jul 7, 2007 + - catch insecure $ENV{PATH} under taint mode (bug reported by + jmarshll). + +1.26 Jul 5, 2007 + - my email was missing from the docs + - make it work under taint checking (experimental feature). + - work around bug in dualvar under taint checking + +1.25 Jun 19, 2007 + - remove some obsolete tests not working on 5.9.x + +1.24 Jun 18, 2007 + - DESTROY was messing up $@ (bug reported by Kai Grossjohann) + - set $SIG{PIPE} handler inside _do_io to catch IO errors + - don't execute external command when transport option is used + on constructor + +1.23 May 23, 2007 + - release as stable! + - some doc improvements + +0.90_22 Apr 29, 2007 + - experimental Windows support added + +0.90_21 Apr 25, 2007 + - some documentation improvements + - check that ctor 'more' arguments are not joined + - eliminate "Password" prompt on passwd_auth sample (solution + suggested by Fletch on PerlMonks) + +0.90_20 Apr 20, 2007 + - add support for "transport" options on the constructor that + allows to use password authentication and keys protected by + a passphrase + - add password authentication sample + +0.90_19 Apr 5, 2007 + - add abort method (feature requested by Jamie Lahowetz) + +0.90_18 Mar 23, 2007 + - fallback to dirty cleanup if ssh process doesn't exit cleanly in + 8 seconds (bug reported by Brandon Schendel). + +0.90_17 Mar 21, 2007 + - add support for dont_save flag in get method, required for + Compat module (bug reported by Jamie Lahowetz). + +0.90_16 Mar 18, 2007 + - new tests added + - mkdir, rmdir, remove, setstat, fsetstat and _close methods + argument parsing was wrong (bug #25101 reported by + funkonaut) + - wrong detection of Sort::Key corrected + - debug mode was broken + - network errors do not die anymore, documented + +0.90_15 Dec 19 2006 + - messages were not being queued on get method and so, + performance was very bad (reported by "sched" via + Perlmonks). + - Auto reduce block size on get method. + +0.90_14 Nov 8 2006 + - FAQ section added on the module documentation + - Net::SFTP supplant was not working, corrected + +0.90_13 Sep 22 2006 + - fchmod is not available everywhere, don't use it (bug and + solution reported by Andre Tomt). + +0.90_12 Aug 21 2006 + - syntax error on Net::SFTP::Foreign::Compat corrected + (reported by Hans Schligtenhorst). + - supplant was misspelled + - correct some dependency problems on Compat. + - add test for Compat. + +0.90_11 Jun 30 2006 + - don't croak from connect on runtime errors + - workaround bug in IPC::Open3 that leaves two processes + running + +0.90_10 May 17 2006 + - 0 is a valid sftp handler. + +0.90_09 Apr 25 2006 + - bug on _do_io method corrected + +0.90_08 Apr 24 2006 + - bug for copy_perms => 0 corrected (reported by Erik + Johansen). + - usage checks added to most commands. + +0.90_07 Apr 23 2006 + - don't use pack for quads on little-endian systems (bug + reported by Mogens Hafsjold) + +0.90_06 Feb 24 2006 + - implement rput + - use Win32::Socketpair on Windows + - implement API for local fs in Local + - move common functions to Common and Helpers packages + +0.90_05 Feb 23 2006 + - convert remote file handle strings to tied file handles + - most methods changed to mimic perl buil-ins + - attach file position to file handles. + +0.90_04 Feb 22 2006 + - remove bug in get that could left remote file handles open + - new methods readlink, symlink, rremove, rget. + +0.90_03 Feb 21 2006 + - minor corrections to the docs + - new methods glob and join implemented. + +0.90_02 Feb 20 2006 + - added new method find + - ls method expanded with callback + - contructor rewritten + - better docs for Constants package + - Compat module updated + - several corrections on the docs + +0.90_01 Feb 16 2006 + - almost full rewrite exposing new much improved and + incompatible API!!! + +-------------------------------------------------------------------------- + +0.57 Nov 29 2005 + - check sysread return value when reading from pipe (bug + report and patch submited by Mina Naguib). + +0.56 Nov 14 2005 + - correct bug on open2_cmd option + +0.55 Oct 24 2005 + - kill ssh process when done (bug reported by Alf Carlsson). + +0.54 Sep 07 2005 + - add support for transferring files bigger than 4GB + +0.53 May 03 2005 + - link to SFTP draft actualised + +0.52 May 03 2005 + - some typos corrected on the docs. + +0.51 May 03 2005 + - Net::SFTP::Foreign::Buffer reimplemented from scratch. It + doesn't depend on Net::SSH::Perl::Buffer anymore. + - use foreign 'ssh' to open connections. + +0.50 May 02 2005 + - Net::SFTP::Foreign FORKED !!! + + +-------------------------------------------------------------------------- +Previous revision history for Net::SFTP + +0.09 2005.01.16 + - New co-maintainer, David Robins (DBROBINS). + - Adds a 'warn' argument to the constructor to allow supression or + redirection of warnings. + - Allows the 'ssh_args' constructor argument to be either a hash ref or an + array ref. + - Adds a 'status' method which returns the last SSH2_FX_* status value, or + (status value, text) in list context (only useful after last failure). + - Adds brief summary comments to some methods. + - Returns failure if the remote open fails for 'get' (previous code ignored + it); also moves the remote open before the local open so that we don't + create empty local files if the remote file can't be opened. + - Changes 'ls' to return an array reference in scalar context. + - Documents: the fact that we die on protocol/local errors; the new option + and method; changes to 'get'/'put' (formerly 'put' didn't return anything + useful, and 'get's actual return values are the same, just better + documented). + - Adds a comprehensive remote test, but to use it one has to manually go in + and configure a server a certain way, so it defaults to skipping + everything; I'm including it as a base since there are currently no remote + tests at all. + +0.08 2003.12.12 + - Net::SFTP::Buffer was passing an invalid option when loading + Net::SSH::Perl::Buffer. + - Add SUPPORT section to the docs. + +0.07 2003.11.14 + - Require Net::SSH::Perl 1.24, which also includes circular + reference fixes. + +0.06 2003.11.14 + - New maintainer, Dave Rolsky. + - Fixed a circular reference which caused connections to be held + open indefinitely in a persistent environment like mod_perl. + This uses weak references, so Perl 5.6.0+ is now required. This + work was funded by Kineticode, Inc. + - Added a LICENSE file. + +0.05 2001.05.24 + - Added help ('h' or '?') command to psftp. Moved all shell + functionality into Net::SFTP::Shell. + - Net::SFTP::Util needed to 'use Exporter'. + +0.04 2001.05.16 + - Fixed bug in put method when running fsetstat command; it + was trying to set the UID/GID on the remote file, which + was giving a permission denied message. Should not try to + set UID/GID, so had to adjust flags. + - Added eg/psftp, a working SFTP shell. + - Moved READ and WRITE commands into their own methods + (do_read and do_write, respectively). + - Changed semantics of get method. Returning the contents of + the remote file is no longer connected to whether a local + file is passed as an argument; it is instead based on the + calling context of 'get'. Updated docs to reflect this. + +0.03 2001.05.15 + - Documentation for all extra classes: Attributes, Buffer, + Constants, and Util. + - Documentation for command methods in Net::SFTP. + - Added binmode when reading/writing from local files. + - Added methods for all remaining commands in SFTP protocol + version 3 (eg. remove, rmdir, mkdir, realpath, etc.). + - Added callbacks to get and put, eg. for status messages, + etc. + - Fixed typo in Net::SFTP::Buffer::get_int64 that was breaking + reading 64-bit ints. + +0.02 2001.05.14 + - Fixed bug with SSH2 server not sending one message per + packet, ie. multiple packets have to be retrieved to make + up one SFTP message. This would show up as a "Message length + too long" error. Thanks to Matt Good for the spot. + - Fixed bug with OpenSSH and SSH2 SFTP servers where after + a certain amount of bytes the connection would hang. This + was a bug in Net::SSH::Perl (channel window sizes) that is + fixed in version 1.13. + +0.01 2001.05.13 + - original version; created by h2xs 1.19 diff --git a/pcr/perl-net-sftp-foreign/PKGBUILD b/pcr/perl-net-sftp-foreign/PKGBUILD new file mode 100644 index 000000000..61fb3b8df --- /dev/null +++ b/pcr/perl-net-sftp-foreign/PKGBUILD @@ -0,0 +1,30 @@ +# Contributor: Alessandro Sagratini +pkgname=perl-net-sftp-foreign +pkgver=1.73 +pkgrel=1 +pkgdesc="Perl SFTP client using the native SSH client application" +arch=(any) +url=http://search.cpan.org/~salva/Net-SFTP-Foreign +license=('GPL' 'PerlArtistic') +depends=('perl>=5.10.0') +optdepends=('perl-file-which' 'perl-sort-key') +options=(!emptydirs) +changelog=Changes +source=(http://search.cpan.org/CPAN/authors/id/S/SA/SALVA/Net-SFTP-Foreign-$pkgver.tar.gz) +md5sums=('3de69b9281027e484a30e3efa581981f') + +build() { + cd "$srcdir/Net-SFTP-Foreign-$pkgver" + + # install module in vendor directories. + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1 + make || return 1 +} + +package() { + cd "$srcdir/Net-SFTP-Foreign-$pkgver" + make install DESTDIR=${pkgdir} || return 1 + # remove perllocal.pod and .packlist + find "$pkgdir" -name perllocal.pod -delete + find "$pkgdir" -name .packlist -delete +} -- cgit v1.2.3-54-g00ecf