summaryrefslogtreecommitdiff
path: root/package
diff options
context:
space:
mode:
Diffstat (limited to 'package')
-rw-r--r--package/cryptsetup/Makefile13
-rw-r--r--package/cryptsetup/patches/patch-lib_setup_c17
2 files changed, 30 insertions, 0 deletions
diff --git a/package/cryptsetup/Makefile b/package/cryptsetup/Makefile
index f609c9a4a..76fdc98e4 100644
--- a/package/cryptsetup/Makefile
+++ b/package/cryptsetup/Makefile
@@ -24,6 +24,19 @@ CONFIGURE_ARGS+= --disable-static
BUILD_STYLE:= auto
INSTALL_STYLE:= auto
+# hackish way to although build the static libraries for cryptinit
+pre-configure:
+ (cd ${WRKBUILD}; \
+ env ${CONFIGURE_ENV} \
+ ./configure --enable-static \
+ --build=${GNU_HOST_NAME} \
+ --host=${GNU_TARGET_NAME} \
+ --target=${GNU_TARGET_NAME} \
+ );
+ $(MAKE) -C $(WRKBUILD) CC="$(TARGET_CC)"
+ $(MAKE) -C $(WRKBUILD) CC="$(TARGET_CC)" DESTDIR='${WRKINST}' install
+ $(MAKE) -C $(WRKBUILD) CC="$(TARGET_CC)" clean
+
post-install:
${INSTALL_DIR} ${IDIR_CRYPTSETUP}/usr/sbin ${IDIR_CRYPTSETUP}/usr/lib
${CP} ${WRKINST}/usr/lib/libcryptsetup.so.* \
diff --git a/package/cryptsetup/patches/patch-lib_setup_c b/package/cryptsetup/patches/patch-lib_setup_c
new file mode 100644
index 000000000..97b356f68
--- /dev/null
+++ b/package/cryptsetup/patches/patch-lib_setup_c
@@ -0,0 +1,17 @@
+already added in svn upstream
+--- cryptsetup-1.0.7.orig/lib/setup.c 2009-07-22 13:12:44.000000000 +0200
++++ cryptsetup-1.0.7/lib/setup.c 2009-08-22 15:10:32.000000000 +0200
+@@ -542,7 +542,12 @@ static int __crypt_luks_open(int arg, st
+ start:
+ mk=NULL;
+
+- if(get_key(prompt, &password, &passwordLen, 0, options->key_file, options->passphrase_fd, options->timeout, options->flags))
++ if(options->passphrase) {
++ passwordLen = strlen(options->passphrase);
++ password = safe_alloc(passwordLen + 1);
++ strncpy(password, options->passphrase, passwordLen + 1);
++ tries = 0;
++ } else if(get_key(prompt, &password, &passwordLen, 0, options->key_file, options->passphrase_fd, options->timeout, options->flags))
+ tries--;
+ else
+ tries = 0;