system/atool: Added (an archive manager script)

This commit is contained in:
David Woodfall 2010-05-11 00:23:34 -05:00 committed by Robby Workman
parent db9a0a1a21
commit e3e22ec5df
4 changed files with 141 additions and 0 deletions

21
system/atool/README Normal file
View file

@ -0,0 +1,21 @@
atool is a script for managing file archives of various types
(tar, tar+gzip, zip, etcetera).
The main command is aunpack which extracts files from an archive.
Did you ever extract files from an archive, not checking whether the
files were located in a subdirectory or in the top directory of the
archive, resulting in files scattered all over the place? aunpack
overcomes this problem by first extracting to a new directory. If
there was only a single file in the archive, that file is moved to
the original directory. aunpack also prevents local files from being
overwritten by mistake.
The other commands provided are apack (to create archives), als (to
list files in archives), and acat (to extract files to standard out).
As atool invokes external programs to handle the archives, not all
commands may be supported for a certain type of archives.
atool identifies archives by their file extension. Sometimes this is
not possible - for instance rar archives usually have varying numeric
file extensions. In those cases when atool can't identify the format,
file is used instead. (atool can be configured not to use file.)

91
system/atool/atool.SlackBuild Executable file
View file

@ -0,0 +1,91 @@
#!/bin/sh
# Slackware build script for atool
# Copyright 2010 David Woodfall <dave@dawoodfall.net>
# 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=atool
VERSION=${VERSION:-0.37.0}
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
TAG=${TAG:-_SB0}
CWD=$(pwd)
TMP=${TMP:-/tmp/sbo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
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 {} \;
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--build=$ARCH-slackware-linux
make
make install DESTDIR=$PKG
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
gzip -9 $PKG/usr/man/man?/*.?
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
TODO README AUTHORS INSTALL ChangeLog COPYING NEWS \
$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}

10
system/atool/atool.info Normal file
View file

@ -0,0 +1,10 @@
PRGNAM="atool"
VERSION="0.37.0"
HOMEPAGE="http://www.nongnu.org/atool/"
DOWNLOAD="http://savannah.nongnu.org/download/atool/atool-0.37.0.tar.gz"
MD5SUM="2607e9b19518af4145be8a6bed454477"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="David Woodfall"
EMAIL="dave@dawoodfall.net"
APPROVED="rworkman"

19
system/atool/slack-desc Normal file
View file

@ -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 ':'.
|-----handy-ruler------------------------------------------------------|
atool: atool (archive tools)
atool:
atool: The main command is aunpack which extracts files from an archive.
atool: The other commands provided are apack (to create archives), als (to
atool: list files in archives), and acat (to extract files to standard out).
atool: atool is written in Perl by Oskar Liljeblad and is free software (GNU
atool: General Public License).
atool:
atool: Homepage: http://www.nongnu.org/atool/
atool:
atool: