Package: partman-base
Version: 80
Severity: wishlist
Tags: patch
Hi,
the attached patch is necessary in order to show decent descriptions for
encrypted volumes when using partman-crypt. Without the patch,
everything under /dev/mapper is listed as a lvm lv.
Regards,
David Härdeman
Index: partman-base/debian/partman-base.templates
===================================================================
--- partman-base.orig/debian/partman-base.templates 2006-03-23
23:40:53.000000000 +0100
+++ partman-base/debian/partman-base.templates 2006-04-06 22:27:20.000000000
+0200
@@ -252,6 +252,10 @@
Type: text
_Description: RAID%s device #%s
+Template: partman/text/dmcrypt_volume
+Type: text
+_Description: Encrypted volume (%s)
+
Template: partman/text/lvm_lv
Type: text
_Description: LVM VG %s, LV %s
Index: partman-base/definitions.sh
===================================================================
--- partman-base.orig/definitions.sh 2006-04-04 22:37:04.000000000 +0200
+++ partman-base/definitions.sh 2006-04-06 23:54:46.000000000 +0200
@@ -633,17 +633,29 @@
printf "$RET" ${type} ${device}
;;
/dev/mapper/*)
- # LVM2 devices are found as /dev/mapper/<vg>-<lv>. If the vg
- # or lv contains a dash, the dash is replaced by two dashes.
- # In order to decode this into vg and lv, first find the
- # occurance of one single dash to split the string into vg and
- # lv, and then replace two dashes next to each other with one.
- vglv=${1#/dev/mapper/}
- vglv=`echo "$vglv" | sed -e 's/\([^-]\)-\([^-]\)/\1 \2/' | sed -e
's/--/-/g'`
- vg=`echo "$vglv" | cut -d" " -f1`
- lv=`echo "$vglv" | cut -d" " -f2`
- db_metaget partman/text/lvm_lv description
- printf "$RET" $vg $lv
+ # First of all, check if this is a dm-crypt device
+ type=""
+ if [ -x /sbin/dmsetup ]; then
+ type=$(/sbin/dmsetup table $swap | head -1 | cut -d " " -f3)
+ fi
+
+ if [ $type = crypt ]; then
+ mapping=${1#/dev/mapper/}
+ db_metaget partman/text/dmcrypt_volume description
+ printf "$RET" $mapping
+ else
+ # LVM2 devices are found as /dev/mapper/<vg>-<lv>. If the vg
+ # or lv contains a dash, the dash is replaced by two dashes.
+ # In order to decode this into vg and lv, first find the
+ # occurance of one single dash to split the string into vg and
+ # lv, and then replace two dashes next to each other with one.
+ vglv=${1#/dev/mapper/}
+ vglv=`echo "$vglv" | sed -e 's/\([^-]\)-\([^-]\)/\1 \2/' | sed -e
's/--/-/g'`
+ vg=`echo "$vglv" | cut -d" " -f1`
+ lv=`echo "$vglv" | cut -d" " -f2`
+ db_metaget partman/text/lvm_lv description
+ printf "$RET" $vg $lv
+ fi
;;
/dev/loop/*)
n=${1#/dev/loop/}