Hello community, here is the log from the commit of package cryptsetup for openSUSE:Factory checked in at Thu Oct 8 18:16:51 CEST 2009. -------- --- cryptsetup/cryptsetup.changes 2009-10-06 13:48:02.000000000 +0200 +++ cryptsetup/cryptsetup.changes 2009-10-08 10:56:12.000000000 +0200 @@ -1,0 +2,8 @@ +Wed Oct 7 12:37:24 UTC 2009 - lnussel@suse.de + +- boot.crypto: + * /lib/udev/vol_id no longer exists, use blkid instead + * add space at end of password prompt in initrd + * fix autodetetection of root on LVM on LUKS (bnc#528474) + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- boot.crypto-0_200910061245.tar.bz2 New: ---- boot.crypto-0_200910071414.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cryptsetup.spec ++++++ --- /var/tmp/diff_new_pack.8IRTQ5/_old 2009-10-08 18:14:28.000000000 +0200 +++ /var/tmp/diff_new_pack.8IRTQ5/_new 2009-10-08 18:14:28.000000000 +0200 @@ -25,12 +25,12 @@ # hashalot version %define haver 0.3 # boot.crypto version -%define bcver 0_200910061245 +%define bcver 0_200910071414 License: BSD 3-clause (or similar) ; GPL v2 only ; GPL v2 or later Group: System/Base AutoReqProv: on Version: 1.0.7 -Release: 8 +Release: 9 Summary: Set Up dm-crypt Based Encrypted Block Devices Source: cryptsetup-%{version}.tar.bz2 Source1: hashalot-%haver.tar.bz2 ++++++ boot.crypto-0_200910061245.tar.bz2 -> boot.crypto-0_200910071414.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boot.crypto-0_200910061245/checks/vol_id new/boot.crypto-0_200910071414/checks/vol_id --- old/boot.crypto-0_200910061245/checks/vol_id 2009-10-06 12:45:30.000000000 +0200 +++ new/boot.crypto-0_200910071414/checks/vol_id 2009-10-07 14:14:23.000000000 +0200 @@ -11,7 +11,7 @@ dev="$1" fs="$2" -str=`/lib/udev/vol_id -t "$dev" 2>&1` +str=`/sbin/blkid -c /dev/null -w /dev/null -s TYPE -o value "$dev" 2>&1` if [ "$?" -ne 0 ]; then if [ "$str" = "$dev: unknown volume type" -a "$fs" = 'none' ]; then exit 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boot.crypto-0_200910061245/mkinitrd/boot-luks.sh new/boot.crypto-0_200910071414/mkinitrd/boot-luks.sh --- old/boot.crypto-0_200910061245/mkinitrd/boot-luks.sh 2009-10-06 12:45:30.000000000 +0200 +++ new/boot.crypto-0_200910071414/mkinitrd/boot-luks.sh 2009-10-07 14:14:23.000000000 +0200 @@ -66,7 +66,7 @@ if [ -z "$pass" ]; then local pass echo - echo -n "Enter LUKS Passphrase:" + echo -n "Enter LUKS Passphrase: " read -s pass echo fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/boot.crypto-0_200910061245/mkinitrd/setup-luks.sh new/boot.crypto-0_200910071414/mkinitrd/setup-luks.sh --- old/boot.crypto-0_200910061245/mkinitrd/setup-luks.sh 2009-10-06 12:45:30.000000000 +0200 +++ new/boot.crypto-0_200910071414/mkinitrd/setup-luks.sh 2009-10-07 14:14:23.000000000 +0200 @@ -3,6 +3,12 @@ #%stage: crypto # +dbg() +{ + test -n "$mkinitrd_luks_debug" || return 0 + echo "$@" +} + # search for entries that have the 'initrd' option set find_crypttab_initrd() { @@ -63,26 +69,42 @@ eval "test -n \"\$$1\"" } -if [ -x /sbin/cryptsetup -a -x /sbin/dmsetup ] ; then +find_luks_devices() +{ luks_blockdev= luks_add_device=() find_crypttab_initrd + set -- "${luks_add_device[@]}" $blockdev # bd holds the device we see the decrypted LUKS partition as - for bd in "${luks_add_device[@]}" $blockdev; do + while [ "$#" -gt 0 ]; do + bd="$1"; shift luks_name= update_blockdev $bd luks_blockmajor=$blockmajor luks_blockminor=$blockminor + dbg "finding deps of $bd ($blockmajor:$blockminor) ..." + deps=$(dm_resolvedeps $bd) # luksbd holds the device, LUKS is running on - for luksbd in $(dm_resolvedeps $bd); do # should only be one for luks + for luksbd in $deps; do # should be only one for luks update_blockdev $luksbd - /sbin/cryptsetup isLuks $luksbd 2>/dev/null || continue + dbg -n "isLuks $luksbd ... " + if ! /sbin/cryptsetup isLuks $luksbd 2>/dev/null; then + dbg -n "no" + if [ "$blockdriver" = "device-mapper" ]; then + dbg -n ", but dm, requeue" + # the block device is on dm itself + set -- "$@" "$luksbd" + fi + dbg + continue + fi + dbg "yes" root_luks=1 tmp_root_dm=1 # luks needs dm luks_name="$(dmsetup -c info -o name --noheadings -j $luks_blockmajor -m $luks_blockminor)" if isset "luks_${luks_name}"; then - echo "$luksname already handled" + dbg "$luks_name already handled" continue fi eval luks_${luks_name}=$(beautify_blockdev ${luksbd}) || continue @@ -99,7 +121,7 @@ fi luks="$luks $luks_name" - echo "enabling LUKS support for $luksbd" + echo "enabling LUKS support for $luksbd ($luks_name)" luks_blockdev="$luks_blockdev $luksbd" done if [ ! "$luks_name" ]; then # no luks found @@ -107,6 +129,10 @@ fi done blockdev="$luks_blockdev" +} + +if [ -x /sbin/cryptsetup -a -x /sbin/dmsetup ] ; then + find_luks_devices fi if [ -n "$root_luks" ]; then ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org