Robert Millan wrote:
On Sun, Jul 20, 2008 at 02:40:14PM +0200, Christian Franke wrote:
The shell function make_system_path_relative_to_its_root() does not
work on Cygwin due to path mapping (e.g. /boot/grub/ is actually
/cygwin/boot/grub).
This patch adds '-t prefix' to grub-probe. It prints result from
grub_get_prefix() which is already extended for Cygwin (svn rev 1584).
The result is used in make_system_path_relative_to_its_root(). This
keeps the platform dependent code in getroot.c.
Christian
2008-07-20 Christian Franke <address@hidden>
* util/grub-probe.c (enum): Add PRINT PREFIX.
(probe): Add PRINT_PREFIX, prints result of
grub_get_prefix ().
(usage): Add `prefix' to `-t' usage text.
Add some '\n' to avoid excess long lines.
(main): Add check for `-t prefix' option.
This is different than the usual grub-probe usage in that it doesn't
operate
on a device. Perhaps it would make sense to add the functionality
you want in
a separate utility?
OK, probably /usr/bin/grub-prefix ?
Drawback: getroot.c contains also grub_guess_root_device() etc, so a
grub-prefix program would require most of the objects grub-probe
requires.
Put grub_get_prefix() in a new util/getprefix.c ?
Or handle those platform dependencies in update-grub_lib.in itself.
Can be done by a conditional call to 'cygpath' utility. This
conditional must then be removed for the other platforms when
generating update-grub_lib.