From f73f9383430a2a2ab091c967db11aa8b21e4a7eb Mon Sep 17 00:00:00 2001 From: Pierre Cazenave Date: Thu, 13 May 2010 01:01:13 +0200 Subject: system/truecrypt: Added to 13.0 repository --- system/truecrypt/README | 34 ++++++++ system/truecrypt/doinst.sh | 5 ++ system/truecrypt/slack-desc | 19 +++++ system/truecrypt/truecrypt.SlackBuild | 96 +++++++++++++++++++++++ system/truecrypt/truecrypt.desktop | 8 ++ system/truecrypt/truecrypt.info | 10 +++ system/truecrypt/truecrypt.png | Bin 0 -> 2333 bytes system/truecrypt/truecrypt_dismount_failure.diff | 26 ++++++ 8 files changed, 198 insertions(+) create mode 100644 system/truecrypt/README create mode 100644 system/truecrypt/doinst.sh create mode 100644 system/truecrypt/slack-desc create mode 100644 system/truecrypt/truecrypt.SlackBuild create mode 100644 system/truecrypt/truecrypt.desktop create mode 100644 system/truecrypt/truecrypt.info create mode 100644 system/truecrypt/truecrypt.png create mode 100644 system/truecrypt/truecrypt_dismount_failure.diff (limited to 'system') diff --git a/system/truecrypt/README b/system/truecrypt/README new file mode 100644 index 0000000000..2cf051daa9 --- /dev/null +++ b/system/truecrypt/README @@ -0,0 +1,34 @@ +TrueCrypt + +Free open-source disk encryption software for Windows Vista/XP, Mac OS X, +and Linux Main Features: + +* Creates a virtual encrypted disk within a file and mounts it as +a real disk. +* Encrypts an entire partition or storage device such as USB flash drive + or hard drive. +* Encrypts a partition or drive where Windows is installed (pre-boot +authentication). +* Encryption is automatic, real-time (on-the-fly) and transparent. +* Parallelization and pipelining allow data to be read and written as +fast as if the drive was not encrypted. +* Provides plausible deniability, in case an adversary forces you to +reveal the password: + Hidden volume (steganography) and hidden operating system. +* Encryption algorithms: AES-256, Serpent, and Twofish. Mode of +operation: XTS. + +Further information regarding features of the software may be found in +the documentation. + +Since version 6.1a of TrueCrypt, a number of header files from RSA +Laboratories are required during the compilation. I've separated the +installation of these into a separate package called cryptoki rather +than have this script extract a separate, isolated archive. + +Thus, to build this version of TrueCrypt, you also need cryptoki, +and to run Truecrypt you need wxGTK. Both are available at +SlackBuilds.org. + +This script does not create the static GUI build seen elsewhere (see +above for required runtime dependency of wxGTK or similar). diff --git a/system/truecrypt/doinst.sh b/system/truecrypt/doinst.sh new file mode 100644 index 0000000000..8aeabc3280 --- /dev/null +++ b/system/truecrypt/doinst.sh @@ -0,0 +1,5 @@ +# Update the desktop database: +if [ -x usr/bin/update-desktop-database ]; then + chroot . /usr/bin/update-desktop-database /usr/share/applications > /dev/null 2>&1 +fi + diff --git a/system/truecrypt/slack-desc b/system/truecrypt/slack-desc new file mode 100644 index 0000000000..2fd0a2c004 --- /dev/null +++ b/system/truecrypt/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 ':'. + + |-----handy-ruler------------------------------------------------------| +truecrypt: truecrypt (On-the-fly disk encryption) +truecrypt: +truecrypt: TrueCrypt can create a virtual encrypted disk within a file and mount +truecrypt: it as a real disk. It can encrypt an entire hard disk partition or a +truecrypt: device, such as USB memory stick, floppy disk, etc. It provides two +truecrypt: levels of plausible deniability, in case an adversary forces you to +truecrypt: reveal the password: 1) Hidden volume 2) No TrueCrypt volume can be +truecrypt: identified. Supports many encryption algorithms. +truecrypt: TrueCrypt is multi-platform (supports MS-Windows TrueCrypt volumes) +truecrypt: +truecrypt: truecrypt home: http://www.truecrypt.org/ diff --git a/system/truecrypt/truecrypt.SlackBuild b/system/truecrypt/truecrypt.SlackBuild new file mode 100644 index 0000000000..ac79ec69e1 --- /dev/null +++ b/system/truecrypt/truecrypt.SlackBuild @@ -0,0 +1,96 @@ +#!/bin/sh + +# Slackware build script for TrueCrypt. +# Based on AlienBOB's truecrypt script and the script at slacky.eu. +# +# http://connie.slackware.com/~alien/slackbuilds/truecrypt/build/ +# http://repository.slacky.eu/slackware-12.2/security/6.3a/src +# +# Copyright 2009 Pierre Cazenave +# 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=truecrypt +SRCNAM=TrueCrypt +VERSION=${VERSION:-6.3a} +ARCH=${ARCH:-i486} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +set -e + +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" + SLKLDFLAGS="-L/usr/lib64" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION-source +tar xvf $CWD/"${SRCNAM} ${VERSION} Source.tar.gz" +cd ${PRGNAM}-${VERSION}-source + +# Fix dismount failure on Slackware using neongen's patch from slacky.eu +patch -p1 < $CWD/truecrypt_dismount_failure.diff + +chown -R root:root . +chmod -R u+w,go+r-w,a-s . + +if [ $ARCH == "x86_64" ]; then + export LDFLAGS="$SLKLDFLAGS" +fi +export CXXFLAGS="$SLKCFLAGS" +export CFLAGS="$SLKCFLAGS" + +# Assume wxWidgets is already installed and we're linking dynamically. +make + +mkdir -p $PKG/usr/bin +cp Main/truecrypt $PKG/usr/bin + +mkdir -p $PKG/usr/share/{applications,pixmaps} +cp $CWD/truecrypt.png $PKG/usr/share/pixmaps/ +cat $CWD/truecrypt.desktop > $PKG/usr/share/applications/truecrypt.desktop + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a Readme.txt License.txt Release/Setup\ Files/*.pdf \ + $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 +find $PKG/usr/doc -type f -exec chmod 644 {} \; + +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} diff --git a/system/truecrypt/truecrypt.desktop b/system/truecrypt/truecrypt.desktop new file mode 100644 index 0000000000..357ff338fd --- /dev/null +++ b/system/truecrypt/truecrypt.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=Truecrypt +Comment=Disk encryption software +Exec=truecrypt +Icon=/usr/share/pixmaps/truecrypt.png +Terminal=false +Type=Application +Categories=System; diff --git a/system/truecrypt/truecrypt.info b/system/truecrypt/truecrypt.info new file mode 100644 index 0000000000..8625c24446 --- /dev/null +++ b/system/truecrypt/truecrypt.info @@ -0,0 +1,10 @@ +PRGNAM="truecrypt" +VERSION="6.3a" +HOMEPAGE="http://www.truecrypt.org" +DOWNLOAD="http://www.truecrypt.org/downloads2" +MD5SUM="0a7cc9a340df0aa0a86e8f2ff3fdda92" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +MAINTAINER="Pierre Cazenave" +EMAIL="pwcazenave gmail {dot} com" +APPROVED="Erik Hanson" diff --git a/system/truecrypt/truecrypt.png b/system/truecrypt/truecrypt.png new file mode 100644 index 0000000000..08b4e53891 Binary files /dev/null and b/system/truecrypt/truecrypt.png differ diff --git a/system/truecrypt/truecrypt_dismount_failure.diff b/system/truecrypt/truecrypt_dismount_failure.diff new file mode 100644 index 0000000000..6bd21c15ca --- /dev/null +++ b/system/truecrypt/truecrypt_dismount_failure.diff @@ -0,0 +1,26 @@ +--- truecrypt-6.3-source/Core/Unix/Linux/CoreLinux.cpp 2009-10-21 15:11:02.000000000 +0200 ++++ truecrypt-6.3-source.src/Core/Unix/Linux/CoreLinux.cpp 2009-10-26 14:26:24.741564814 +0100 +@@ -90,13 +90,23 @@ + void CoreLinux::DetachLoopDevice (const DevicePath &devicePath) const + { + list args; ++ list args2; + args.push_back ("-d"); + args.push_back (devicePath); ++ /* args2 needed to umount loop device before detaching it ++ by Enrico Lo Tauro (neongen)*/ ++ args2.push_back (devicePath); + + for (int t = 0; true; t++) + { + try + { ++ try ++ {Process::Execute ("umount", args2); ++ } ++ catch (ExecutedProcessFailed&) ++ { ++ } + Process::Execute ("losetup", args); + break; + } -- cgit v1.2.3