system/freedup: Added (Duplicate file finder and linker)

Signed-off-by: dsomero <xgizzmo@slackbuilds.org>
This commit is contained in:
Pierre Cazenave 2011-09-09 16:25:14 -04:00 committed by Niels Horn
parent eb7cd0a2fb
commit c24b50e810
4 changed files with 125 additions and 0 deletions

6
system/freedup/README Normal file
View File

@ -0,0 +1,6 @@
Freedup walks through the file trees (directories) you specify.
When it finds two identical files on the same device, it hard links
them together. In this case two or more files still exist in their
respective directories, but only one copy of the data is stored on
disk; both directory entries point to the same data blocks.

View File

@ -0,0 +1,90 @@
#!/bin/sh
# Slackware build script for freedup.
#
# Copyright 2011 Pierre Cazenave <pwcazenave {at} gmail [dot] com>
# 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=freedup
VERSION=${VERSION:-1.6.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
ALTVER=${ALTVER:-1.6}
SRCVERSION=${SRCVERSION:-1.6-2-src}
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}
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"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$SRCVERSION.tar.bz2
mv $PRGNAM-$ALTVER $PRGNAM-$VERSION
cd $PRGNAM-$VERSION
chown -R root:root .
chmod -R u+w,go+r-w,a-s .
export CFLAGS="$SLKCFLAGS"
export CXXFLAGS="$SLKCFLAGS"
make DCOL=""
make install PRE=$PKG MANPAGEDIR=$PKG/usr/man/
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a COPYING ChangeLog README TODO html $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
cat $CWD/README > $PKG/usr/doc/$PRGNAM-$VERSION/README$TAG
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}

View File

@ -0,0 +1,10 @@
PRGNAM="freedup"
VERSION="1.6.2"
HOMEPAGE="http://freedup.org"
DOWNLOAD="http://freedup.org/freedup-1.6-2-src.tar.bz2"
MD5SUM="3e11eac2168118efbb92e63264bc154d"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="Pierre Cazenave"
EMAIL="pwcazenave <at> gmail {dot} com"
APPROVED="dsomero"

19
system/freedup/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--------------------------------------------------|
freedup: freedup (Duplicate file finder and linker)
freedup:
freedup: Freedup walks through the file trees (directories) you specify.
freedup: When it finds two identical files on the same device, it hard
freedup: links them together.
freedup:
freedup: In this case two or more files still exist in their respective
freedup: directories, but only one copy of the data is stored on disk;
freedup: both directory entries point to the same data blocks.
freedup:
freedup: