home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / lib / partman / commit.d / 50format_jfs < prev    next >
Encoding:
Text File  |  2009-04-19  |  2.0 KB  |  85 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.             jfs)
  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.             log-output -t partman --pass-stdout \
  54.                 mkfs.jfs -q $device >/dev/null
  55.             code=$?
  56.             sync
  57.             db_progress STOP
  58.  
  59.             if [ "$code" = 0 ]; then
  60.                 label=''
  61.                 if [ -f $id/label ]; then
  62.                     label=$(cat $id/label | \
  63.                         sed 's/\(................\).*/\1/g')
  64.                 fi
  65.                 if [ "$label" ]; then
  66.                     jfs_tune -L "$label" $device
  67.                 fi
  68.             fi
  69.  
  70.             if [ "$code" != 0 ]; then
  71.                 db_subst partman-jfs/create_failed PARTITION "$num"
  72.                 db_subst partman-jfs/create_failed DEVICE $(humandev $(cat device))
  73.                 db_input critical partman-jfs/create_failed || true
  74.                 db_go || true
  75.                 #disable_swap
  76.                 exit 1
  77.             fi
  78.             >$id/formatted
  79.             ;;
  80.         esac
  81.     done
  82. done
  83.  
  84. #disable_swap
  85.