commit-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[1749] 2008-07-29 Christian Franke <address@hidden>


From: Christian Franke
Subject: [1749] 2008-07-29 Christian Franke <address@hidden>
Date: Tue, 29 Jul 2008 16:47:32 +0000

Revision: 1749
          http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=1749
Author:   chrfranke
Date:     2008-07-29 16:47:31 +0000 (Tue, 29 Jul 2008)

Log Message:
-----------
2008-07-29  Christian Franke  <address@hidden>

        * util/update-grub_lib.in (make_system_path_relative_to_its_root):
        Add conversion of emulated mount points on Cygwin.

Modified Paths:
--------------
    trunk/grub2/ChangeLog
    trunk/grub2/util/update-grub_lib.in

Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog       2008-07-29 15:38:05 UTC (rev 1748)
+++ trunk/grub2/ChangeLog       2008-07-29 16:47:31 UTC (rev 1749)
@@ -1,5 +1,10 @@
 2008-07-29  Christian Franke  <address@hidden>
 
+       * 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  <address@hidden>
+
        * util/update-grub.in: Add a check for admin
        group on Cygwin.
        Remove old `grub.cfg.new' before creation.

Modified: trunk/grub2/util/update-grub_lib.in
===================================================================
--- trunk/grub2/util/update-grub_lib.in 2008-07-29 15:38:05 UTC (rev 1748)
+++ trunk/grub2/util/update-grub_lib.in 2008-07-29 16:47:31 UTC (rev 1749)
@@ -68,7 +68,22 @@
     dir=""
   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 ()






reply via email to

[Prev in Thread] Current Thread [Next in Thread]