---
 commit.d/format_basicfilesystems | 86 ++++++++++++++++++++++++++++++++++------
 debian/changelog                 |  1 +
 2 files changed, 75 insertions(+), 12 deletions(-)

diff --git a/commit.d/format_basicfilesystems b/commit.d/format_basicfilesystems
index 8724526..060429f 100755
--- a/commit.d/format_basicfilesystems
+++ b/commit.d/format_basicfilesystems
@@ -48,19 +48,81 @@ for dev in $DEVICES/*; do
                        db_subst $template DEVICE $(humandev $(cat device))
                        case $filesystem in
                            ext2)
-                               options=''
-                               if [ -f $id/usage ]; then
-                                       options="$options -T $(cat $id/usage)"
-                               fi
-                               if [ "$(udpkg --print-os)" = hurd ]; then
-                                       options="$options -b 4096 -I 128 -o 
hurd"
-                               fi
-                               if [ -z "$options" ]; then
-                                       name_progress_bar $template
-                                       open_dialog CREATE_FILE_SYSTEM $id 
$filesystem
-                                       read_line status
+# copied from partman-ext3
+                                       if [ -f $id/formatted ] && \
+                                               [ $id/formatted -nt $id/method 
] && \
+                                               ([ ! -f $id/filesystem ] || \
+                                               [ $id/formatted -nt 
$id/filesystem ]); then
+                                               continue
+                                       fi
+                                       log "Try to create file system for 
$dev/$id"
+                                       if [ -f $id/mountpoint ]; then
+                                               
template=partman-basicfilesystems/progress_formatting_mountable
+                                               db_subst $template MOUNT_POINT 
"$(cat $id/mountpoint)"
+                                       else
+                                               
template=partman-basicfilesystems/progress_formatting
+                                       fi
+                                       open_dialog PARTITION_INFO $id
+                                       read_line x1 x2 x3 x4 x5 device x6
                                        close_dialog
-                                       sync
+
+                                       RET=''
+                                       db_metaget 
partman/filesystem_short/$filesystem description || RET=''
+                                       [ "$RET" ] || RET=$filesystem
+                                       db_subst $template TYPE "$RET"
+                                       db_subst $template PARTITION "$num"
+                                       db_subst $template DEVICE $(humandev 
$(cat device))
+
+                                       status=failed
+
+                                       if [ "$status" != OK ]; then
+                                               db_progress START 0 3 
partman/text/formatting
+                                               db_progress INFO $template
+                                               db_progress SET 1
+                                               if [ -f $id/usage ]; then
+                                                       usage="-T $(cat 
$id/usage)"
+                                               else
+                                                       usage=''
+                                               fi
+                                               if log-output -t partman 
--pass-stdout \
+                                                       mkfs.$filesystem 
$device $usage >/dev/null; then
+                                                       sync
+                                                       status=OK
+                                               else
+                                                       status=failed
+                                               fi
+                                               db_progress STOP
+                                       fi
+                                       if [ "$status" = OK ]; then
+                                               label=''
+                                               if [ -f $id/label ]; then
+                                                       label=$(cat $id/label | 
\
+                                                               sed 
's/\(................\).*/\1/g')
+                                               fi
+                                               if [ "$label" ]; then
+                                                       log-output -t partman 
--pass-stdout \
+                                                               tune2fs -L 
"$label" $device >/dev/null
+                                               fi
+                                               if [ -f $id/reserved_for_root 
]; then
+                                                       log-output -t partman 
--pass-stdout \
+                                                               tune2fs -m 
$(cat $id/reserved_for_root) $device >/dev/null
+                                               fi
+                                       fi
+                                       if [ "$status" != OK ]; then
+                                               RET=''
+                                               db_metaget 
partman/filesystem_short/"$filesystem" description || RET=''
+                                               [ "$RET" ] || RET="$filesystem"
+                                               
T=partman-basicfilesystems/create_failed
+                                               db_subst $T TYPE "$RET"
+                                               db_subst $T PARTITION "$num"
+                                               db_subst $T DEVICE $(humandev 
$(cat device))
+                                               db_input critical $T || true
+                                               db_go || true
+                                               exit 1
+                                       fi
+                                       >$id/formatted
+                                       ;;
+
 
                            fat16|fat32)
                                db_progress START 0 3 partman/text/formatting
diff --git a/debian/changelog b/debian/changelog
index 8a8fc5b..16790bf 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,7 @@ partman-basicfilesystems (91) UNRELEASED; urgency=low
   * Remove check_swap, as there is no such thing as fscking swap
   * Use dosfstools to format and check fat filesystems rather than
     libparted.
+  * Use mke2fs instead of libparted
 
  -- Phillip Susi <[email protected]>  Wed, 12 Feb 2014 15:56:24 -0500
 
-- 
1.8.3.2


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: 
https://lists.debian.org/[email protected]

Reply via email to