home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / lib / partman / init.d / 75auto_mountpoints < prev    next >
Encoding:
Text File  |  2006-08-30  |  1.4 KB  |  70 lines

  1. #!/bin/sh
  2.  
  3. # Only run the first time.
  4. if [ -f /var/lib/partman/auto_mountpoints ]; then
  5.     exit 0
  6. fi
  7. [ -d /var/lib/partman ] || mkdir /var/lib/partman
  8. touch /var/lib/partman/auto_mountpoints
  9.  
  10. . /lib/partman/definitions.sh
  11.  
  12. partitions=
  13. for dev in $DEVICES/*; do
  14.     [ -d "$dev" ] || continue
  15.     cd $dev
  16.     open_dialog PARTITIONS
  17.     while { read_line num id size type fs path name; [ "$id" ]; }; do
  18.     [ -f $id/detected_filesystem ] || continue
  19.     fs=$(cat $id/detected_filesystem)
  20.     if [ "$name" ]; then
  21.         mountpoint="$(/usr/lib/partconf/mountpoint "$path" "$fs" "$name")"
  22.     else
  23.         mountpoint="$(/usr/lib/partconf/mountpoint "$path" "$fs")"
  24.     fi
  25.     if [ "$mountpoint" ]; then
  26.         partitions="$partitions
  27. $dev,$id,$fs,$mountpoint"
  28.     fi
  29.     done
  30.     close_dialog
  31. done
  32.  
  33. IFS_SAVE="$IFS"
  34. IFS='
  35. '
  36. for part in $partitions; do
  37.     IFS="$IFS_SAVE"
  38.     dev="${part%%,*}"
  39.     cdr="${part#*,}"
  40.     id="${cdr%%,*}"
  41.     cdr="${cdr#*,}"
  42.     fs="${cdr%%,*}"
  43.     mountpoint="${cdr#*,}"
  44.  
  45.     [ -d "$dev/$id" ] || continue
  46.  
  47.     if [ -f "$dev/$id/method" ]; then
  48.     method="$(cat $dev/$id/method)"
  49.     if [ "$method" ]; then
  50.         # Already used for something else.
  51.         continue
  52.     fi
  53.     fi
  54.  
  55.     echo keep >"$dev/$id/method"
  56.     if [ -f "$dev/$id/format" ]; then
  57.     rm "$dev/$id/format"
  58.     fi
  59.     >"$dev/$id/use_filesystem"
  60.     echo "$fs" >"$dev/$id/filesystem"
  61.     mkdir -p "$dev/$id/options"
  62.     echo "$mountpoint" >"$dev/$id/mountpoint"
  63.  
  64.     update_partition "$dev" "$id"
  65.  
  66.     IFS='
  67. '
  68. done
  69. IFS="$IFS_SAVE"
  70.