system/crashplan: Added (on and off-site backup)

Signed-off-by: Niels Horn <niels.horn@slackbuilds.org>
This commit is contained in:
Lionel Young 2011-07-18 22:14:56 -03:00 committed by Robby Workman
parent 393d023305
commit cf44db154b
5 changed files with 181 additions and 0 deletions

12
system/crashplan/README Normal file
View file

@ -0,0 +1,12 @@
CrashPlan is a backup software product that backs up personal files once a
day:
* Free onsite backup, allowing you to back up to other computers and
attached external hard drives.
* Free offsite backup when you back up to computers belonging to people you
know, like friends and family.
* Paid cloud-storage backup: the free version of CrashPlan does not back up
to their cloud storage.
The daemon is CrashPlanEngine, which is started by rc.crashplan.
The GUI can be launched by using the command CrashPlanDesktop.

View file

@ -0,0 +1,111 @@
#!/bin/sh
# Generated by Alien's SlackBuild Toolkit: http://slackware.com/~alien/AST
# Copyright 2009, 2010, 2011 Eric Hameleers, Eindhoven, Netherlands
# Slackware build script for crashplan
# Written by Lionel Young <redtricycle@gmail.com>
# Based on http://slackbuilds.org/template.SlackBuild
PRGNAM=crashplan
VERSION=${VERSION:-3.0.3}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
SRCNAM=CrashPlan
TARGETDIR=/opt/crashplan
MANIFESTDIR=/var/crashplan # Directory to store backups to
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
# Pre-compiled binaries included only for i486 and x86_64
if [ ! "$ARCH" = "i486" -a ! "$ARCH" = "x86_64" ]; then
echo "$ARCH architecture not supported."
exit 1
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 $SRCNAM-install
tar xvf $CWD/${SRCNAM}_${VERSION}_Linux.tgz
cd $SRCNAM-install
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 {} \;
# Repackage everything into /opt
mkdir -p $PKG/$TARGETDIR/bin/
mkdir -p $PKG/usr/bin
mkdir -p $PKG/etc/rc.d/
mkdir -p $PKG/usr/share/applications/
mkdir -p $PKG/$MANIFESTDIR
# Expand the archive
( cd $PKG/$TARGETDIR
cat $TMP/$SRCNAM-install/${SRCNAM}_${VERSION}.cpi | gzip -d -c - | cpio -i --no-preserve-owner
)
# Make the log file world writable
chmod 777 $PKG/$TARGETDIR/log
# create a file that has our install vars, which is required to run
echo "" > $PKG/${TARGETDIR}/install.vars
echo "TARGETDIR=${TARGETDIR}" >> $PKG/${TARGETDIR}/install.vars
echo "BINSDIR=${TARGETDIR}/bin" >> $PKG/${TARGETDIR}/install.vars
echo "MANIFESTDIR=${MANIFESTDIR}" >> $PKG/${TARGETDIR}/install.vars
echo "INITDIR=/etc/rc.d" >> $PKG/${TARGETDIR}/install.vars
echo "RUNLVLDIR=/etc/rc.d" >> $PKG/${TARGETDIR}/install.vars
NOW=`date +%Y%m%d`
echo "INSTALLDATE=$NOW" >> $PKG/${TARGETDIR}/install.vars
cat .defaults >> $PKG/${TARGETDIR}/install.vars
JAVACOMMON=`which java`
echo "JAVACOMMON=${JAVACOMMON}" >> $PKG/${TARGETDIR}/install.vars
# Repackage the binaries in the appropriate directories
cp -a scripts/CrashPlanDesktop scripts/CrashPlanEngine scripts/run.conf $PKG/$TARGETDIR/bin/
ln -s $TARGETDIR/bin/CrashPlanDesktop $PKG/usr/bin/CrashPlanDesktop
# Repackage the init script
# Perform substitution on the init script; we need to make the value of INITSCRIPT available
# to what lives in /etc/rc.d
INITSCRIPT=$TARGETDIR/bin/CrashPlanEngine
SEDEXPRSUB=`echo $INITSCRIPT | sed 's/\//\\\\\//g'`
SEDEXPR="s/<INITSCRIPT>/$SEDEXPRSUB/g"
sed $SEDEXPR scripts/crashplan > $PKG/etc/rc.d/rc.crashplan.new
# Desktop icon
cp -a scripts/CrashPlan.desktop $PKG/usr/share/applications/
sed -i \
-e "s#Categories=;#Categories=System;Utility;#" \
-e "s#Exec=.*#Exec=${TARGETDIR}/bin/CrashPlanDesktop#" \
-e "s#Icon=.*#Icon=${TARGETDIR}/skin/icon_app_128x128.png#" \
$PKG/usr/share/applications/CrashPlan.desktop
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a \
EULA.txt README \
$PKG/$TARGETDIR/doc/* \
$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
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View file

@ -0,0 +1,10 @@
PRGNAM="crashplan"
VERSION="3.0.3"
HOMEPAGE="http://www.crashplan.com"
DOWNLOAD="http://download.crashplan.com/installs/linux/install/CrashPlan/CrashPlan_3.0.3_Linux.tgz"
MD5SUM="0260aafd45577be89281eb436aefce39"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="Lionel Young"
EMAIL="redtricycle@gmail.com"
APPROVED="Niels Horn"

View file

@ -0,0 +1,29 @@
config() {
NEW="$1"
OLD="$(dirname $NEW)/$(basename $NEW .new)"
# If there's no config file by that name, mv it over:
if [ ! -r $OLD ]; then
mv $NEW $OLD
elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
# toss the redundant copy
rm $NEW
fi
# Otherwise, we leave the .new copy for the admin to consider...
}
preserve_perms() {
NEW="$1"
OLD="$(dirname $NEW)/$(basename $NEW .new)"
if [ -e $OLD ]; then
cp -a $OLD ${NEW}.incoming
cat $NEW > ${NEW}.incoming
mv ${NEW}.incoming $NEW
fi
config $NEW
}
preserve_perms etc/rc.d/rc.crashplan.new
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi

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------------------------------------------------------|
crashplan: crashplan (on and off-site backup)
crashplan:
crashplan: CrashPlan is a backup software product that backs up personal files
crashplan: once a day. Free onsite backup, allowing you to back up to other
crashplan: computers and attached external hard drives. Free offsite backup
crashplan: when you back up to computers belonging to people you know, like
crashplan: friends and family. Paid cloud-storage backup; the free version of
crashplan: CrashPlan does not back up to their cloud storage.
crashplan:
crashplan:
crashplan: Home: http://www.crashplan.com