From 008170dda60dfca27329802260398cd997f9abca Mon Sep 17 00:00:00 2001 From: Chris Abela Date: Fri, 21 Oct 2011 15:04:39 -0200 Subject: misc/gcp: Added (file copy tool) Signed-off-by: Niels Horn --- misc/gcp/README | 18 +++++++++++ misc/gcp/gcp.SlackBuild | 79 +++++++++++++++++++++++++++++++++++++++++++++++++ misc/gcp/gcp.info | 10 +++++++ misc/gcp/slack-desc | 19 ++++++++++++ 4 files changed, 126 insertions(+) create mode 100644 misc/gcp/README create mode 100644 misc/gcp/gcp.SlackBuild create mode 100644 misc/gcp/gcp.info create mode 100644 misc/gcp/slack-desc (limited to 'misc/gcp') diff --git a/misc/gcp/README b/misc/gcp/README new file mode 100644 index 000000000000..586ba2ae4bca --- /dev/null +++ b/misc/gcp/README @@ -0,0 +1,18 @@ +gcp is a file copy tool, freely inspired from cp, but with a few high-level +functionalities such as: + +* transfer progression indication +* continuous copying on error (skip to next file) +* copy status logging: gcp logs all its actions so that it is possible to + know which files have been successfuly copied +* name mangling to handle target filesystem limitations (for example + deletion of incompatible characters "*" or "?" on FAT) +* forced copy serialization: process all copy requests sequentially in + order to avoid useless moves of the hard disk head +* transfer lists management: you can save a list of files you copied and + copy them again later from that list (useful for example when copying + several times the same tracks to multiple friends) +* command-line interface similar to that of cp + +This requires distribute, and progressbar is a recommended optional runtime +dependency, or you will not get the progression indication. diff --git a/misc/gcp/gcp.SlackBuild b/misc/gcp/gcp.SlackBuild new file mode 100644 index 000000000000..8594e468f5d0 --- /dev/null +++ b/misc/gcp/gcp.SlackBuild @@ -0,0 +1,79 @@ +#!/bin/sh + +# Slackware build script for gcp + +# Copyright 2011 Chris Abela, Malta +# 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 IMPLIE +# 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=gcp +VERSION=${VERSION:-0.1.3} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +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} + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM.tar.bz2 +cd $PRGNAM-$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 {} \; + +python setup.py install --root=$PKG + +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 + +# Slackware's nuances: +mv $PKG/usr/share/man/ $PKG/usr/share/doc/ $PKG/usr/ +mv $PKG/usr/doc/$PRGNAM $PKG/usr/doc/$PRGNAM-$VERSION + +find $PKG/usr/man -type f -exec gzip -9 {} \; +for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a CHANGELOG $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/misc/gcp/gcp.info b/misc/gcp/gcp.info new file mode 100644 index 000000000000..081185c3ee33 --- /dev/null +++ b/misc/gcp/gcp.info @@ -0,0 +1,10 @@ +PRGNAM="gcp" +VERSION="0.1.3" +HOMEPAGE="http://wiki.goffi.org/wiki/Gcp" +DOWNLOAD="ftp://ftp.goffi.org/gcp/gcp.tar.bz2" +MD5SUM="146da3e5508be6273b0a9169326286f2" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +MAINTAINER="Chris Abela" +EMAIL="kristofru@gmail.com" +APPROVED="Niels Horn" diff --git a/misc/gcp/slack-desc b/misc/gcp/slack-desc new file mode 100644 index 000000000000..86566c4f35a8 --- /dev/null +++ b/misc/gcp/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 ':' except on otherwise blank lines. + + |--------------handy-ruler---------------------------------------------| +gcp: gcp (file copy tool) +gcp: +gcp: gcp is freely inspired from cp, but with a few high-level +gcp: functionalities such as transfer progression indication and many +gcp: others. +gcp: +gcp: Homepage: http://wiki.goffi.org/wiki/Gcp +gcp: +gcp: +gcp: +gcp: -- cgit v1.2.3