1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
#!/bin/sh
set -e
. /lib/partman/definitions.sh
if [ ! -f /var/run/parted_server.pid ]; then
[ -d /var/run ] || mkdir /var/run
parted_server
RET=$?
if [ $RET != 0 ]; then
# TODO: How do we signal we couldn't start parted_server properly?
exit $RET
fi
if [ -d /var/lib/partman/old_devices ]; then
rm -rf /var/lib/partman/old_devices
fi
if [ -d $DEVICES ]; then
mv $DEVICES /var/lib/partman/old_devices
fi
mkdir $DEVICES || true
IFS="$NL"
for partdev in $(parted_devices |
grep -v '^/dev/md' |
sed 's,^/dev/\(ide\|scsi\|[hs]d\),!/dev/\1,' |
sort |
sed 's,^!,,' ); do
IFS="$TAB"
set -- $partdev
dirname=$(echo $1 | sed 's:/:=:g')
dev=$DEVICES/$dirname
if [ -d /var/lib/partman/old_devices/$dirname ]; then
mv /var/lib/partman/old_devices/$dirname $dev
else
mkdir $dev || continue
fi
printf "%s" "$1" >$dev/device
printf "%s" "$2" >$dev/size
printf "%s" "$3" >$dev/model
cd $dev
open_dialog OPEN "$(cat $dev/device)"
read_line response
close_dialog
if [ "$response" = failed ]; then
cd /
rm -rf $dev
fi
done
fi
|