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

  1. #!/bin/sh
  2.  
  3. . /lib/partman/definitions.sh
  4.  
  5. installdir () {
  6.     dir=${1%/}
  7.     while [ "$dir" ]; do
  8.     dirs="$dir $dirs"
  9.     dir="${dir%/*}"
  10.     done
  11.     for dir in $dirs; do
  12.     [ -d "$dir" ] || mkdir $dir
  13.     done
  14. }
  15.  
  16. fstab=$(
  17.     for i in /lib/partman/fstab.d/*; do
  18.     [ -x "$i" ] || continue
  19.     $i
  20.     done |
  21.     while read fs mp type options dump pass; do
  22.     echo $mp $fs $type $options $dump $pass
  23.     done |
  24.     sort |
  25.     while read mp fs type options dump pass; do
  26.     echo $fs $mp $type $options $dump $pass
  27.     done
  28. )
  29.  
  30. IFS="$NL"
  31. for f in $fstab; do
  32.     restore_ifs
  33.     set -- $f
  34.     case "$2" in
  35.     /media/*)
  36.         installdir /target$2
  37.         continue
  38.     ;;
  39.     /*)
  40.         installdir /target$2
  41.     ;;
  42.     esac
  43.     for m in /lib/partman/mount.d/*; do
  44.     [ -x "$m" ] || continue
  45.     if $m "$f"; then
  46.         case $2 in
  47.         /)
  48.             # create these before /var is mounted, so that udev can
  49.             # use them
  50.             installdir /target/var/lock
  51.             installdir /target/var/run
  52.         ;;
  53.         esac
  54.         continue 2
  55.     fi
  56.     done
  57.  
  58.     db_subst partman-target/mount_failed DEVICE $(humandev $1)
  59.     db_subst partman-target/mount_failed MOUNTPOINT $2
  60.     db_subst partman-target/mount_failed TYPE $3
  61.     db_input critical partman-target/mount_failed || true
  62.     db_go || exit 1
  63.     db_get partman-target/mount_failed
  64.     if [ "$RET" = true ]; then
  65.     exit 1
  66.     else
  67.     exit 2
  68.     fi
  69. done
  70.