home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / lib / partman / commit.d / 50format_xfs < prev   
Encoding:
Text File  |  2009-04-19  |  2.0 KB  |  82 lines

  1. #!/bin/sh
  2.  
  3. . /lib/partman/lib/base.sh
  4.  
  5. enable_swap
  6.  
  7. for dev in $DEVICES/*; do
  8.     [ -d "$dev" ] || continue
  9.     cd $dev
  10.     partitions=
  11.     open_dialog PARTITIONS
  12.     while { read_line num id size type fs path name; [ "$id" ]; }; do
  13.         [ "$fs" != free ] || continue
  14.         partitions="$partitions $id,$num"
  15.     done
  16.     close_dialog
  17.  
  18.     for part in $partitions; do
  19.         id=${part%,*}
  20.         num=${part#*,}
  21.         [ -f $id/method -a -f $id/format \
  22.           -a -f $id/acting_filesystem ] || continue
  23.         filesystem=$(cat $id/acting_filesystem)
  24.         case $filesystem in
  25.             xfs)
  26.             if [ -f $id/formatted ] && \
  27.                [ $id/formatted -nt $id/method ] && \
  28.                ([ ! -f $id/filesystem ] || \
  29.                 [ $id/formatted -nt $id/filesystem ]); then
  30.                 continue
  31.             fi
  32.             log "Try to create file system for $dev/$id"
  33.             if [ -f $id/mountpoint ]; then
  34.                 template=partman-basicfilesystems/progress_formatting_mountable
  35.                 db_subst $template MOUNT_POINT "$(cat $id/mountpoint)"
  36.             else
  37.                 template=partman-basicfilesystems/progress_formatting
  38.             fi
  39.             open_dialog PARTITION_INFO $id
  40.             read_line x1 x2 x3 x4 x5 device x6
  41.             close_dialog
  42.  
  43.             RET=''
  44.             db_metaget  partman/filesystem_short/"$filesystem" description || RET=''
  45.             [ "$RET" ] || RET="$filesystem"
  46.             db_subst $template TYPE "$RET"
  47.             db_subst $template PARTITION "$num"
  48.             db_subst $template DEVICE $(humandev $(cat device))
  49.  
  50.             db_progress START 0 3 partman/text/formatting
  51.             db_progress INFO $template
  52.             db_progress SET 1
  53.  
  54.             label=''
  55.             if [ -f $id/label ]; then
  56.                 label=$(cat $id/label | \
  57.                     sed 's/\(............\).*/\1/g')
  58.             fi
  59.             code=0
  60.             # Ensure label is quoted correctly
  61.             log-output -t partman --pass-stdout \
  62.                 mkfs.xfs ${label:+-L "$label"} -f \
  63.                      $device >/dev/null || code=$?
  64.             sync
  65.             db_progress STOP
  66.  
  67.             if [ "$code" != 0 ]; then
  68.                 db_subst partman-xfs/create_failed PARTITION "$num"
  69.                 db_subst partman-xfs/create_failed DEVICE $(humandev $(cat device))
  70.                 db_input critical partman-xfs/create_failed || true
  71.                 db_go || true
  72.                 #disable_swap
  73.                 exit 1
  74.             fi
  75.             >$id/formatted
  76.             ;;
  77.         esac
  78.     done
  79. done
  80.  
  81. #disable_swap
  82.