home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
-
- . /lib/partman/lib/base.sh
-
- enable_swap
-
- for dev in $DEVICES/*; do
- [ -d "$dev" ] || continue
- cd $dev
- partitions=
- open_dialog PARTITIONS
- while { read_line num id size type fs path name; [ "$id" ]; }; do
- [ "$fs" != free ] || continue
- partitions="$partitions $id,$num"
- done
- close_dialog
-
- for part in $partitions; do
- id=${part%,*}
- num=${part#*,}
- [ -f $id/method -a -f $id/format \
- -a -f $id/acting_filesystem ] || continue
- filesystem=$(cat $id/acting_filesystem)
- case $filesystem in
- reiserfs)
- 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
-
- 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
- # Trying to use parted will probably fail;
- # libparted currently doesn't support reiser
- name_progress_bar $template
- open_dialog CREATE_FILE_SYSTEM $id reiserfs
- read_line status
- close_dialog
- sync
- if [ "$status" != OK ]; then
- db_progress START 0 3 partman/text/formatting
- db_progress INFO $template
- db_progress SET 1
-
- label=''
- if [ -f $id/label ]; then
- label=$(cat $id/label | \
- sed 's/\(................\).*/\1/g')
- fi
- # Ensure label is quoted correctly
- if log-output -t partman --pass-stdout \
- mkfs.reiserfs ${label:+-l "$label"} -f -q \
- $device >/dev/null; then
- sync
- status=OK
- else
- status=failed
- fi
- db_progress STOP
- fi
- if [ "$status" != OK ]; then
- db_subst partman-reiserfs/create_failed PARTITION "$num"
- db_subst partman-reiserfs/create_failed DEVICE $(humandev $(cat device))
- db_input critical partman-reiserfs/create_failed || true
- db_go || true
- #disable_swap
- exit 1
- fi
- >$id/formatted
- ;;
- esac
- done
- done
-
- #disable_swap
-