summaryrefslogtreecommitdiff
path: root/perl
diff options
context:
space:
mode:
authorLukenShiro <lukenshiro@ngi.it>2011-12-14 14:21:31 -0600
committerNiels Horn <niels.horn@slackbuilds.org>2011-12-18 00:07:50 -0200
commit730402d64b6ccb8bf31b6b96a9348cff574cf301 (patch)
treef3bb081e7fe51c598407481d6dfc5f097d64520c /perl
parent32df864ea41e729974b83a4debf8de95be6cc861 (diff)
downloadslackbuilds-730402d64b6ccb8bf31b6b96a9348cff574cf301.tar.gz
perl/perl-file-listing: Added (parse directory listing)
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
Diffstat (limited to 'perl')
-rw-r--r--perl/perl-file-listing/README25
-rw-r--r--perl/perl-file-listing/perl-file-listing.SlackBuild90
-rw-r--r--perl/perl-file-listing/perl-file-listing.info10
-rw-r--r--perl/perl-file-listing/slack-desc19
4 files changed, 144 insertions, 0 deletions
diff --git a/perl/perl-file-listing/README b/perl/perl-file-listing/README
new file mode 100644
index 0000000000..9d2fc2392a
--- /dev/null
+++ b/perl/perl-file-listing/README
@@ -0,0 +1,25 @@
+This module exports a single function called parse_dir(), which can
+be used to parse directory listings.
+The first parameter to parse_dir() is the directory listing to parse.
+It can be a scalar, a reference to an array of directory lines or a
+glob representing a filehandle to read the directory listing from.
+The second parameter is the time zone to use when parsing time stamps
+in the listing. If this value is undefined, then the local time zone
+is assumed.
+The third parameter is the type of listing to assume. Currently
+supported formats are 'unix', 'apache' and 'dosftp'. The default value
+'unix'. Ideally, the listing type should be determined automatically.
+The fourth parameter specifies how unparseable lines should be treated.
+Values can be 'ignore', 'warn' or a code reference. Warn means that the
+perl warn() function will be called. If a code reference is passed, then
+this routine will be called and the return value from it will be incorporated
+in the listing. The default is 'ignore'.
+Only the first parameter is mandatory.
+The return value from parse_dir() is a list of directory entries. In a scalar
+context the return value is a reference to the list. The directory entries
+are represented by an array consisting of [ $filename, $filetype, $filesize,
+$filetime, $filemode ]. The $filetype value is one of the letters 'f', 'd',
+'l' or '?'. The $filetime value is the seconds since Jan 1, 1970. The
+$filemode is a bitmask like the mode returned by stat().
+
+This requires perl-http-date.
diff --git a/perl/perl-file-listing/perl-file-listing.SlackBuild b/perl/perl-file-listing/perl-file-listing.SlackBuild
new file mode 100644
index 0000000000..e3a5fde081
--- /dev/null
+++ b/perl/perl-file-listing/perl-file-listing.SlackBuild
@@ -0,0 +1,90 @@
+#!/bin/sh
+
+# Slackware build script for perl-file-listing
+
+# Copyright 2011 LukenShiro, Italy
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PRGNAM=perl-file-listing
+VERSION=${VERSION:-6.03}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+SRCNAM=File-Listing
+DOCFILES="Changes README"
+
+set -e # Exit on most errors
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $SRCNAM-$VERSION
+tar xvf $CWD/$SRCNAM-$VERSION.tar.gz
+cd $SRCNAM-$VERSION
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+echo "y" | CFLAGS="$SLKCFLAGS" perl Makefile.PL \
+ PREFIX=/usr \
+ INSTALLDIRS=vendor \
+ INSTALLVENDORMAN3DIR=/usr/man/man3
+make
+make test
+make install DESTDIR=$PKG
+
+# Remove perllocal.pod and other special files that don't need to be installed
+find $PKG -name perllocal.pod -o -name ".packlist" -o -name "*.bs" | xargs rm -f || true
+
+# Remove empty directories
+find $PKG -depth -type d -empty -exec rm -rf {} \;
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a $DOCFILES $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/perl/perl-file-listing/perl-file-listing.info b/perl/perl-file-listing/perl-file-listing.info
new file mode 100644
index 0000000000..be4c85e5f2
--- /dev/null
+++ b/perl/perl-file-listing/perl-file-listing.info
@@ -0,0 +1,10 @@
+PRGNAM="perl-file-listing"
+VERSION="6.03"
+HOMEPAGE="http://search.cpan.org/dist/File-Listing/"
+DOWNLOAD="http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/File-Listing-6.03.tar.gz"
+MD5SUM="ad56d06a719503198c02188995f32c9e"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+MAINTAINER="LukenShiro"
+EMAIL="lukenshiro@ngi.it"
+APPROVED="rworkman"
diff --git a/perl/perl-file-listing/slack-desc b/perl/perl-file-listing/slack-desc
new file mode 100644
index 0000000000..1ebc6340ac
--- /dev/null
+++ b/perl/perl-file-listing/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The handy ruler below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|' on
+# the right side marks the last column you can put a character in. You must make
+# exactly 11 lines for the formatting to be correct. It's also customary to
+# leave one space after the ':'.
+
+ |------------------------------------------------------------|
+perl-file-listing: perl-file-listing (parse directory listing)
+perl-file-listing:
+perl-file-listing: This perl module exports a single function called
+perl-file-listing: parse_dir(), which can be used to parse directory listings.
+perl-file-listing:
+perl-file-listing: http://search.cpan.org/dist/File-Listing/
+perl-file-listing:
+perl-file-listing:
+perl-file-listing:
+perl-file-listing:
+perl-file-listing: