[arch-commits] CVS update of arch/build/base/cryptsetup (2 files)
Thomas Baechler
thomas at archlinux.org
Thu Jun 21 16:33:12 UTC 2007
Date: Thursday, June 21, 2007 @ 12:33:12
Author: thomas
Path: /home/cvs-arch/arch/build/base/cryptsetup
Added: cryptsetup-1.0.5-run_udevsettle.patch (1.1)
Modified: PKGBUILD (1.6 -> 1.7)
hopefully fix "cannot read from key storage" bug
---------------------------------------+
PKGBUILD | 19 ++++++++++++-------
cryptsetup-1.0.5-run_udevsettle.patch | 29 +++++++++++++++++++++++++++++
2 files changed, 41 insertions(+), 7 deletions(-)
Index: arch/build/base/cryptsetup/PKGBUILD
diff -u arch/build/base/cryptsetup/PKGBUILD:1.6 arch/build/base/cryptsetup/PKGBUILD:1.7
--- arch/build/base/cryptsetup/PKGBUILD:1.6 Sat May 12 13:12:11 2007
+++ arch/build/base/cryptsetup/PKGBUILD Thu Jun 21 12:33:12 2007
@@ -1,30 +1,34 @@
-# $Id: PKGBUILD,v 1.6 2007/05/12 17:12:11 thomas Exp $
+# $Id: PKGBUILD,v 1.7 2007/06/21 16:33:12 thomas Exp $
# Maintainer: Judd Vinet <jvinet at zeroflux.org>
pkgname=cryptsetup
pkgver=1.0.5
-pkgrel=2
+pkgrel=3
pkgdesc="A userspace setup tool for transparent encryption of block devices using the Linux 2.6 cryptoapi"
arch=(i686 x86_64)
license=('GPL')
url="http://luks.endorphin.org/dm-crypt"
depends=('device-mapper' 'libgcrypt' 'popt' 'e2fsprogs')
-source=(http://luks.endorphin.org/source/cryptsetup-$pkgver.tar.bz2 \
- encrypt_hook encrypt_install luksOpen-status.patch)
+source=(http://luks.endorphin.org/source/cryptsetup-$pkgver.tar.bz2
+ encrypt_hook encrypt_install luksOpen-status.patch
+ cryptsetup-1.0.5-run_udevsettle.patch)
md5sums=('0aa2f94c39123f1a0352983e5366179c'
'40fee2419cd444cfb283c311f9555d2d'
'70fe6feacc8e7c735ba8baa95f9f61a1'
- 'd4be8d2059d5427c057be4de4e948887')
+ 'd4be8d2059d5427c057be4de4e948887'
+ '0c0af7d348da6e85dc4bdbd8c0df9e13')
+options=(!libtool !emptydirs)
build() {
cd $startdir/src/$pkgname-$pkgver
# suppress "Command successful" message on luksOpen
patch -Np1 -i $startdir/src/luksOpen-status.patch
+ patch -Np1 -i $startdir/src/cryptsetup-1.0.5-run_udevsettle.patch
./configure --prefix=/usr --disable-static
make || return 1
make DESTDIR=$startdir/pkg install
# include a static cryptsetup binary for initrd setups
make clean
- cd $startdir/src/$pkgname-luks-$pkgver
+ cd $startdir/src/$pkgname-$pkgver
./configure --prefix=/usr --enable-static
make || return 1
# include a static cryptsetup binary for initrd setups
@@ -33,5 +37,6 @@
install -D -m644 $startdir/src/encrypt_hook $startdir/pkg/lib/initcpio/hooks/encrypt
install -D -m644 $startdir/src/encrypt_install $startdir/pkg/lib/initcpio/install/encrypt
- find $startdir/pkg -name "*.la" -exec rm -f {} \;
+ # fix permissions
+ find $startdir/pkg -type d -exec chmod 755 {} \;
}
Index: arch/build/base/cryptsetup/cryptsetup-1.0.5-run_udevsettle.patch
diff -u /dev/null arch/build/base/cryptsetup/cryptsetup-1.0.5-run_udevsettle.patch:1.1
--- /dev/null Thu Jun 21 12:33:12 2007
+++ arch/build/base/cryptsetup/cryptsetup-1.0.5-run_udevsettle.patch Thu Jun 21 12:33:12 2007
@@ -0,0 +1,29 @@
+Index: cryptsetup-1.0.5/lib/libdevmapper.c
+===================================================================
+--- cryptsetup-1.0.5.orig/lib/libdevmapper.c
++++ cryptsetup-1.0.5/lib/libdevmapper.c
+@@ -18,6 +18,13 @@
+
+ #define CRYPT_TARGET "crypt"
+
++#define UDEVSETTLE "/sbin/udevsettle"
++
++static void run_udevsettle(void)
++{
++ system(UDEVSETTLE);
++}
++
+ static void set_dm_error(int level, const char *file, int line,
+ const char *f, ...)
+ {
+@@ -184,6 +191,9 @@ static int dm_create_device(int reload,
+ if (dmi.read_only)
+ options->flags |= CRYPT_FLAG_READONLY;
+
++ /* run udevsettle to avoid problems with busy dm devices */
++ run_udevsettle();
++
+ r = 0;
+
+ out:
+
More information about the arch-commits
mailing list