initial ebuild as per bug #112197 largely based off ebuild by Greg Tassone
authorDaniel Black <dragonheart@gentoo.org>
Mon, 5 Jun 2006 08:19:18 +0000 (08:19 +0000)
committerDaniel Black <dragonheart@gentoo.org>
Mon, 5 Jun 2006 08:19:18 +0000 (08:19 +0000)
Package-Manager: portage-2.1_rc4-r1

app-crypt/truecrypt/ChangeLog [new file with mode: 0644]
app-crypt/truecrypt/Manifest [new file with mode: 0644]
app-crypt/truecrypt/files/digest-truecrypt-4.2 [new file with mode: 0644]
app-crypt/truecrypt/files/truecrypt-4.2-makefile.patch [new file with mode: 0644]
app-crypt/truecrypt/metadata.xml [new file with mode: 0644]
app-crypt/truecrypt/truecrypt-4.2.ebuild [new file with mode: 0644]

diff --git a/app-crypt/truecrypt/ChangeLog b/app-crypt/truecrypt/ChangeLog
new file mode 100644 (file)
index 0000000..472db98
--- /dev/null
@@ -0,0 +1,10 @@
+# ChangeLog for app-crypt/truecrypt
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/app-crypt/truecrypt/ChangeLog,v 1.1 2006/06/05 08:19:18 dragonheart Exp $
+
+*truecrypt-4.2 (05 Jun 2006)
+
+  05 Jun 2006; Daniel Black <dragonheart@gentoo.org>
+  +files/truecrypt-4.2-makefile.patch, +metadata.xml, +truecrypt-4.2.ebuild:
+  initial ebuild as per bug #112197 largely based off ebuild by Greg Tassone
+
diff --git a/app-crypt/truecrypt/Manifest b/app-crypt/truecrypt/Manifest
new file mode 100644 (file)
index 0000000..91a7d23
--- /dev/null
@@ -0,0 +1,30 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+AUX truecrypt-4.2-makefile.patch 1542 RMD160 7b90440b283ba8effdf926b96f6926f9970a333a SHA1 12d2a262883665b85cfc6f7df9a31ad26eabafe9 SHA256 80f878634534d9b72120cd78dfb230b465bc2ef2e75494efc3b6fa5a4693f2de
+MD5 5ea0f8c902f83757e908e02f121d900f files/truecrypt-4.2-makefile.patch 1542
+RMD160 7b90440b283ba8effdf926b96f6926f9970a333a files/truecrypt-4.2-makefile.patch 1542
+SHA256 80f878634534d9b72120cd78dfb230b465bc2ef2e75494efc3b6fa5a4693f2de files/truecrypt-4.2-makefile.patch 1542
+DIST truecrypt-4.2-source-code.tar.gz 1076093 RMD160 74ba185bad9952ea9b3b0e358e9fee6f2080e6b9 SHA1 603bac50891c49b051f7a9bcc15b1196168bff2a SHA256 54f54cd68c99efe3fd2c0899174b38d4cfe1ad576112672aabd2ac64e336cd1f
+EBUILD truecrypt-4.2.ebuild 2864 RMD160 b7e14e0956b4ca4dfc62e0296b439384714da664 SHA1 fc961e42af02547c43fd8fb25034af36959b39bc SHA256 5055fdb01dc31da5b1f27e962e945af251e689198174d71f32e8647ac26c8014
+MD5 3e20774c8ebd570682bcfb08221a1b02 truecrypt-4.2.ebuild 2864
+RMD160 b7e14e0956b4ca4dfc62e0296b439384714da664 truecrypt-4.2.ebuild 2864
+SHA256 5055fdb01dc31da5b1f27e962e945af251e689198174d71f32e8647ac26c8014 truecrypt-4.2.ebuild 2864
+MISC ChangeLog 454 RMD160 87d41246fb8ab3403e22c668ad91361e91515062 SHA1 8bc8118b85a8f9968f24d82ca008a0aee29bba82 SHA256 ac7ffe8db8e45a7a3337d1155b866d54e4c23c5d9716f6d60e061e4ad427df7d
+MD5 119f4f1be9fba9708cae4dd35ad9296d ChangeLog 454
+RMD160 87d41246fb8ab3403e22c668ad91361e91515062 ChangeLog 454
+SHA256 ac7ffe8db8e45a7a3337d1155b866d54e4c23c5d9716f6d60e061e4ad427df7d ChangeLog 454
+MISC metadata.xml 224 RMD160 74db96ad8aa1d285d83ae93a9f4a767335f55c15 SHA1 d86a171d981b45e7ed0c0b3b5059d2a63c811001 SHA256 9e9ce661a9fdb45a535ad875a247b700a70745359b27533ec29a6a46fa708e86
+MD5 566cf4f89e44670d0aba4a745913d748 metadata.xml 224
+RMD160 74db96ad8aa1d285d83ae93a9f4a767335f55c15 metadata.xml 224
+SHA256 9e9ce661a9fdb45a535ad875a247b700a70745359b27533ec29a6a46fa708e86 metadata.xml 224
+MD5 f32ba14b3b0c568e21d7dd5c6754851d files/digest-truecrypt-4.2 280
+RMD160 61f26925d2f0d6141f6044018997143bdef215c0 files/digest-truecrypt-4.2 280
+SHA256 200aa4f6243ac5b5f4cff0aa69d85c25b74456555c04e5db2b2e1327d7f0e9a6 files/digest-truecrypt-4.2 280
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.3-ecc0.1.6 (GNU/Linux)
+
+iD8DBQFEg+klmdTrptrqvGERAkyQAJ9l/v7+bj934bJx3s9gBM0+Kjf6KQCcCa7P
+AWRgftnqG+8Uq/w700SugEE=
+=dEeX
+-----END PGP SIGNATURE-----
diff --git a/app-crypt/truecrypt/files/digest-truecrypt-4.2 b/app-crypt/truecrypt/files/digest-truecrypt-4.2
new file mode 100644 (file)
index 0000000..9951f54
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 8ea4464f3f89fe8c367dc19982a8f611 truecrypt-4.2-source-code.tar.gz 1076093
+RMD160 74ba185bad9952ea9b3b0e358e9fee6f2080e6b9 truecrypt-4.2-source-code.tar.gz 1076093
+SHA256 54f54cd68c99efe3fd2c0899174b38d4cfe1ad576112672aabd2ac64e336cd1f truecrypt-4.2-source-code.tar.gz 1076093
diff --git a/app-crypt/truecrypt/files/truecrypt-4.2-makefile.patch b/app-crypt/truecrypt/files/truecrypt-4.2-makefile.patch
new file mode 100644 (file)
index 0000000..8b4017f
--- /dev/null
@@ -0,0 +1,67 @@
+--- Linux/Cli/Makefile.orig    2006-03-26 06:29:38.000000000 +1100
++++ Linux/Cli/Makefile 2006-06-05 17:57:29.000000000 +1000
+@@ -3,27 +3,16 @@
+ TC_COMMON := ../../Common
+ TC_CRYPTO := ../../Crypto
+-CC := gcc
++CC ?= gcc
+ ifneq ($(MAKECMDGOALS),clean)
+ -include ../Common/.platform
+ endif
+-ifdef NO_WARNINGS
+-CFLAGS := -w
+-else
+-CFLAGS := -W
+-endif
+ CFLAGS += -I../../Crypto -I../../Common -I../Kernel
+ CFLAGS += -D_cdecl="" -DBOOL=int -DTRUE=1 -DFALSE=0 -DMAX_PATH=260
+ CFLAGS += $(TYPES)
+-ifndef DEBUG
+-CFLAGS += -O2 -fno-strict-aliasing
+-else
+-CFLAGS += -ggdb
+-endif
+-
+ KERNEL_OBJS_F := ../.kernel-objs
+ USER_OBJS_F := ../.user-objs
+@@ -61,18 +50,18 @@
+       @echo Compiling $(<F)
+       @$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -MMD -o $@ -c $<
+-all: objclean truecrypt
++all: $(USER_OBJS_F) truecrypt
+       @echo Done.
+ ../Common/.platform: ../Common/Platform.c
+-      @$(CC) -o ../Common/platform $<
++      $(CC) -o ../Common/platform $<
+       @../Common/platform >../Common/.platform
+ -include $(OBJS:.o=.d)
+ truecrypt: $(OBJS)
+       @echo Linking $@
+-      @$(CC) -o $@ $(OBJS)
++      $(CC) -o $@ $(OBJS)
+ ifndef DEBUG
+       @strip $@
+ endif
+@@ -82,9 +71,11 @@
+ truecrypt.1: objclean truecrypt
+       help2man -N -i Man/help2man.inc ./truecrypt >Man/truecrypt.1
+       
+-objclean:
+-      @if [ -f $(KERNEL_OBJS_F) ]; then rm -f ${OBJS} $(KERNEL_OBJS_F); fi
++$(USER_OBJS_F):
++      @[ -f $(KERNEL_OBJS_F) ] && rm -f ${OBJS} $(KERNEL_OBJS_F)
+       @>$(USER_OBJS_F)
+ clean:
+       -rm -f truecrypt ${OBJS} *.d $(TC_COMMON)/*.d $(TC_CRYPTO)/*.d ../Common/platform ../Common/.platform
++
++.PHONY: man clean
diff --git a/app-crypt/truecrypt/metadata.xml b/app-crypt/truecrypt/metadata.xml
new file mode 100644 (file)
index 0000000..df1a1a8
--- /dev/null
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+       <herd>crypto</herd>
+       <maintainer>
+               <email>crypto@gentoo.org</email>
+       </maintainer>
+</pkgmetadata>
diff --git a/app-crypt/truecrypt/truecrypt-4.2.ebuild b/app-crypt/truecrypt/truecrypt-4.2.ebuild
new file mode 100644 (file)
index 0000000..0bef8de
--- /dev/null
@@ -0,0 +1,103 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-crypt/truecrypt/truecrypt-4.2.ebuild,v 1.1 2006/06/05 08:19:18 dragonheart Exp $
+
+inherit linux-mod toolchain-funcs
+
+DESCRIPTION="Free open-source disk encryption software for Windows XP/2000/2003 and Linux"
+HOMEPAGE="http://www.truecrypt.org/"
+SRC_URI="http://www.truecrypt.org/downloads/truecrypt-${PV}-source-code.tar.gz"
+
+LICENSE="truecrypt-2.0"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE=""
+
+DEPEND="virtual/linux-sources
+       sys-fs/device-mapper"
+
+RDEPEND="sys-fs/device-mapper"
+
+BUILD_PARAMS="KSRC=${KV_DIR} NO_WARNINGS=1"
+BUILD_TARGETS="truecrypt"
+MODULE_NAMES="truecrypt(block:${S}/Linux/Kernel)"
+
+pkg_setup() {
+       linux-info_pkg_setup
+       dmcrypt_check
+       kernel_is lt 2 6 5 && die 'requires at least 2.6.5 kernel version'
+}
+
+src_unpack() {
+       unpack ${A}
+       cd "${S}"
+       linux-mod_pkg_setup
+       epatch "${FILESDIR}/${P}-makefile.patch"
+}
+
+src_compile() {
+       linux-mod_src_compile || die "Truecrypt module compilation failed."
+       cd "${S}/Linux/Cli"
+       einfo "Building truecrypt utility"
+       tc-export CC
+       # remove kernel linked crypt stuff
+       emake clean || die "make clean failed"
+       emake truecrypt || die "Compile and/or linking of TrueCrypt Linux CLI application failed."
+}
+
+src_test() {
+       "${S}/Linux/Cli/truecrypt" --test
+}
+
+pkg_preinst() {
+       # unload truecrypt modules if already loaded
+       /sbin/rmmod truecrypt >&- 2>&-
+       if grep -q "^truecrypt" /proc/modules
+       then
+               die "Please dismount all mounted TrueCrypt volumes"
+       fi
+}
+
+src_install() {
+       # installing files
+       dobin Linux/Cli/truecrypt
+       doman Linux/Cli/Man/truecrypt.1
+       dodoc Readme.txt 'Release/Setup Files/TrueCrypt User Guide.pdf'
+
+       # installing kernel module
+       linux-mod_src_install
+}
+
+pkg_postinst() {
+       linux-mod_pkg_postinst
+       einfo " For TrueCrypt 4.2 to work you have to load a "
+       einfo " kernel module. This can be done in three ways: "
+       einfo
+       einfo " 1. Loading the module automatically by the running kernel. "
+       einfo "    For this 'Automatic kernel module loading' needs to be "
+       einfo "    enabled (CONFIG_KMOD=y). "
+       einfo " 2. Loading the module manually before mounting the volume. "
+       einfo "    Try 'modprobe truecrypt' as root to load the module. "
+       einfo " 3. Load the module during boot by listing it in "
+       einfo "    '/etc/modules.autoload.d/kernel-2.6' "
+}
+
+dmcrypt_check() {
+       ebegin "Checking for Device mapper support (BLK_DEV_DM)"
+       linux_chkconfig_present BLK_DEV_DM
+       eend $?
+
+       if [[ $? -ne 0 ]] ; then
+               ewarn "TrueCrypt requires Device mapper support!"
+               ewarn "Please enable Device mapper support in your kernel config, found at:"
+               ewarn "(for 2.6 kernels)"
+               ewarn
+               ewarn "  Device Drivers"
+               ewarn "    Multi-Device Support"
+               ewarn "      <*> Device mapper support"
+               ewarn
+               ewarn "and recompile your kernel if you want this package to work."
+               epause 10
+       fi
+}
+