summaryrefslogtreecommitdiff
path: root/package/cryptsetup
diff options
context:
space:
mode:
Diffstat (limited to 'package/cryptsetup')
-rw-r--r--package/cryptsetup/Config.in16
-rw-r--r--package/cryptsetup/Makefile32
-rw-r--r--package/cryptsetup/ipkg/cryptsetup.control5
-rw-r--r--package/cryptsetup/patches/patch-lib_libdevmapper_c14
-rw-r--r--package/cryptsetup/patches/patch-lib_utils_c16
5 files changed, 83 insertions, 0 deletions
diff --git a/package/cryptsetup/Config.in b/package/cryptsetup/Config.in
new file mode 100644
index 000000000..db5d8a9ca
--- /dev/null
+++ b/package/cryptsetup/Config.in
@@ -0,0 +1,16 @@
+config ADK_PACKAGE_CRYPTSETUP
+ prompt "cryptsetup........................ LUKS cryptsetup tools"
+ tristate
+ select ADK_PACKAGE_LIBPOPT
+ select ADK_PACKAGE_LIBUUID
+ select ADK_PACKAGE_LIBGCRYPT
+ select ADK_PACKAGE_DEVICE_MAPPER
+ select ADK_KPACKAGE_KMOD_BLK_DEV_DM
+ select ADK_KPACKAGE_KMOD_DM_CRYPT
+ select ADK_KPACKAGE_KMOD_CRYPTO_SHA256
+ select ADK_KPACKAGE_KMOD_CRYPTO_AES
+ select ADK_KPACKAGE_KMOD_CRYPTO_CBC
+ default n
+ help
+ LUKS cryptsetup tools. You need to enable crypto kernel
+ modules to get a working setup (f.e. aes and sha256).
diff --git a/package/cryptsetup/Makefile b/package/cryptsetup/Makefile
new file mode 100644
index 000000000..f82509774
--- /dev/null
+++ b/package/cryptsetup/Makefile
@@ -0,0 +1,32 @@
+# $Id$
+#-
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include ${TOPDIR}/rules.mk
+
+PKG_NAME:= cryptsetup
+PKG_VERSION:= 1.0.6
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 00d452eb7a76e39f5749545d48934a10
+DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.bz2
+MASTER_SITES:= http://cryptsetup.googlecode.com/files/
+
+include ${TOPDIR}/mk/package.mk
+
+$(eval $(call PKG_template,CRYPTSETUP,cryptsetup,${PKG_VERSION}-${PKG_RELEASE},${ARCH}))
+
+CONFIGURE_STYLE:= gnu
+CONFIGURE_ARGS+= --disable-static
+BUILD_STYLE:= auto
+INSTALL_STYLE:= auto
+
+post-install:
+ ${INSTALL_DIR} ${IDIR_CRYPTSETUP}/usr/sbin
+ ${INSTALL_DIR} ${IDIR_CRYPTSETUP}/usr/lib
+ ${CP} ${WRKINST}/usr/lib/libcryptsetup.so.* \
+ ${IDIR_CRYPTSETUP}/usr/lib
+ ${INSTALL_BIN} ${WRKINST}/usr/sbin/cryptsetup \
+ ${IDIR_CRYPTSETUP}/usr/sbin
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/cryptsetup/ipkg/cryptsetup.control b/package/cryptsetup/ipkg/cryptsetup.control
new file mode 100644
index 000000000..f23b5bf4d
--- /dev/null
+++ b/package/cryptsetup/ipkg/cryptsetup.control
@@ -0,0 +1,5 @@
+Package: cryptsetup
+Priority: optional
+Section: crypto
+Depends: libgcrypt, device-mapper, libuuid, libpopt
+Description: LUKS cryptsetup tools
diff --git a/package/cryptsetup/patches/patch-lib_libdevmapper_c b/package/cryptsetup/patches/patch-lib_libdevmapper_c
new file mode 100644
index 000000000..052241c92
--- /dev/null
+++ b/package/cryptsetup/patches/patch-lib_libdevmapper_c
@@ -0,0 +1,14 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- cryptsetup-1.0.6.orig/lib/libdevmapper.c 2007-10-25 09:11:19.000000000 +0200
++++ cryptsetup-1.0.6/lib/libdevmapper.c 2009-01-04 17:02:57.000000000 +0100
+@@ -192,7 +192,9 @@ static int dm_create_device(int reload,
+ options->flags |= CRYPT_FLAG_READONLY;
+
+ /* run udevsettle to avoid a race in libdevmapper causing busy dm devices */
+- run_udevsettle();
++ /* do not run on mdev based systems
++ run_udevsettle();
++ */
+
+ r = 0;
+
diff --git a/package/cryptsetup/patches/patch-lib_utils_c b/package/cryptsetup/patches/patch-lib_utils_c
new file mode 100644
index 000000000..665620528
--- /dev/null
+++ b/package/cryptsetup/patches/patch-lib_utils_c
@@ -0,0 +1,16 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+
+* prevent segfault with uClibc
+ http://www.spinics.net/lists/dm-crypt/msg01187.html
+
+--- cryptsetup-1.0.6.orig/lib/utils.c 2007-12-01 17:29:27.000000000 +0100
++++ cryptsetup-1.0.6/lib/utils.c 2008-12-25 14:18:46.523091272 +0100
+@@ -27,6 +27,8 @@ static char *error=NULL;
+ void set_error_va(const char *fmt, va_list va)
+ {
+
++ if(!fmt) return;
++
+ if(error) {
+ free(error);
+ error=NULL;