#!/bin/sh . /usr/share/debconf/confmodule set -e dev=$1 id=$2 part=$dev/$id cd $dev [ -f $part/method -a -f $part/acting_filesystem ] || exit 0 method=$(cat $part/method) filesystem=$(cat $part/acting_filesystem) case "$filesystem" in ext2|fat16|fat32|ntfs) : ;; *) exit 0 ;; esac choice_mountpoint () { case "$filesystem" in ext2|fat16|fat32|ntfs) if [ -f $part/mountpoint ]; then mp=$(cat $part/mountpoint) else db_metaget partman-basicfilesystems/text/no_mountpoint description mp="$RET" fi db_metaget partman-basicfilesystems/text/specify_mountpoint description printf "mountpoint\t%s\${!TAB}%s\n" "$RET" "$mp" ;; esac } choice_options () { if [ "$filesystem" = ntfs ]; then # no mount options support yet (requires translations) return fi db_metaget partman-basicfilesystems/text/options description printf "options\t%s\${!TAB}%.45s\n" "$RET" "$(get_mountoptions $dev $id)" } choice_format_swap () { if [ "$method" = swap ] && [ -f $part/detected_filesystem ] && \ [ "$(cat $part/detected_filesystem)" = linux-swap ]; then db_metaget partman-basicfilesystems/text/format_swap description description="$RET" if [ -f $part/format ]; then db_metaget partman-basicfilesystems/text/yes description printf "dont_format_swap\t%s\${!TAB}%s\n" "$description" "${RET}" else db_metaget partman-basicfilesystems/text/no description printf "format_swap\t%s\${!TAB}%s\n" "$description" "${RET}" fi fi } choice_label () { # allow to set label only if the partition is to be formatted [ -f $part/format ] || return 0 [ ! -f $part/formatted \ -o $part/formatted -ot $part/method \ -o $part/formatted -ot $part/filesystem ] || return 0 case "$filesystem" in ext2) if [ -f $part/label ]; then label=$(cat $part/label) else db_metaget partman-basicfilesystems/text/none description label=$RET fi db_metaget partman-basicfilesystems/text/specify_label description printf "label\t%s\${!TAB}%s\n" "$RET" "$label" ;; _no_fat16|_no_fat32) # we dont have tools to set label of FAT file systems if [ -f $part/label ]; then label=$(cat $part/label) else db_metaget partman-basicfilesystems/text/none description label=$RET fi db_metaget partman-basicfilesystems/text/specify_label description printf "label\t%s\${!TAB}%s\n" "$RET" "$label" ;; esac } choice_reserved () { local reserved [ "$filesystem" = ext2 ] || return 0 # allow to set reserved space only if the partition is to be formatted [ -f $part/format ] || return 0 [ ! -f $part/formatted \ -o $part/formatted -ot $part/method \ -o $part/formatted -ot $part/filesystem ] || return 0 if [ -f $part/reserved_for_root ]; then reserved=$(cat $part/reserved_for_root) else reserved=5 fi db_metaget partman-basicfilesystems/text/reserved_for_root description printf "reserved_for_root\t%s\${!TAB}%s\n" "$RET" "$reserved%" } choice_usage () { local usage [ "$filesystem" = ext2 ] || return 0 # allow to set usage only if the partition is to be formatted [ -f $part/format ] || return 0 [ ! -f $part/formatted \ -o $part/formatted -ot $part/method \ -o $part/formatted -ot $part/filesystem ] || return 0 if [ -f $part/usage ]; then usage=$(cat $part/usage) else db_metaget partman-basicfilesystems/text/typical_usage description usage=$RET fi db_metaget partman-basicfilesystems/text/usage description printf "usage\t%s\${!TAB}%s\n" "$RET" "$usage" } choice_mountpoint choice_options choice_format_swap choice_label choice_reserved choice_usage