2008-07-29 Christian Franke <franke@computer.org>
* util/update-grub_lib.in (make_system_path_relative_to_its_root): Add conversion of emulated mount points on Cygwin.
This commit is contained in:
parent
b609876d15
commit
2921d33798
2 changed files with 21 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2008-07-29 Christian Franke <franke@computer.org>
|
||||||
|
|
||||||
|
* util/update-grub_lib.in (make_system_path_relative_to_its_root):
|
||||||
|
Add conversion of emulated mount points on Cygwin.
|
||||||
|
|
||||||
2008-07-29 Christian Franke <franke@computer.org>
|
2008-07-29 Christian Franke <franke@computer.org>
|
||||||
|
|
||||||
* util/update-grub.in: Add a check for admin
|
* util/update-grub.in: Add a check for admin
|
||||||
|
|
|
@ -68,7 +68,22 @@ make_system_path_relative_to_its_root ()
|
||||||
dir=""
|
dir=""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo $path | sed -e "s,^$dir,,g"
|
# XXX: This fails if $dir contains ','.
|
||||||
|
path=`echo "$path" | sed -e "s,^$dir,,g"` || return 1
|
||||||
|
|
||||||
|
case "`uname 2>/dev/null`" in
|
||||||
|
CYGWIN*)
|
||||||
|
# Cygwin: Check if regular or emulated mount.
|
||||||
|
if [ -z "$dir" ] || [ "`stat -c %D "$dir/.."`" != 620000 ] ; then
|
||||||
|
# Reached some mount point not below /cygdrive.
|
||||||
|
# GRUB does not know Cygwin's emulated mounts,
|
||||||
|
# convert to Win32 path and remove drive letter.
|
||||||
|
path=`cygpath -m "$path" | sed -n 's,^[A-Za-z]:,,p'`
|
||||||
|
test ! -z "$path" || return 1
|
||||||
|
fi ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo "$path"
|
||||||
}
|
}
|
||||||
|
|
||||||
is_path_readable_by_grub ()
|
is_path_readable_by_grub ()
|
||||||
|
|
Loading…
Add table
Reference in a new issue