From: Felix Zielcke <fzielcke@z-51.de>
To: The development of GRUB 2 <grub-devel@gnu.org>
Subject: Re: [RFC] rename update-grub to update-grubcfg
Date: Wed, 24 Sep 2008 13:04:03 +0200 [thread overview]
Message-ID: <1222254243.4289.0.camel@fz.local> (raw)
In-Reply-To: <20080924094951.GB6973@thorin>
[-- Attachment #1: Type: text/plain, Size: 962 bytes --]
Am Mittwoch, den 24.09.2008, 11:49 +0200 schrieb Robert Millan:
> On Wed, Sep 17, 2008 at 05:24:00PM +0200, Felix Zielcke wrote:
> > Index: util/update-grub_lib.in
> > ===================================================================
> > --- util/update-grub_lib.in (revision 1863)
> > +++ util/update-grub_lib.in (working copy)
> > @@ -1,173 +0,0 @@
> > -# Helper library for update-grub
>
> If you rename this lib, please keep a stub for backwards compatibility. This
> is part of the API we export to update-grub add-ons, so we should try to
> avoid abrupt changes.
>
> I suggest something like:
>
> echo "warning: this file is deprecated, use grub-mkconfig_lib instead" >&2
> . $path/$to/grub-mkconfig_lib
Ok, attached patch is now with this stub.
> Also please mind using 'svn copy' or 'svn move' when doing the commit.
I already used it for making the patch but thanks for reminding me :)
So if there are no objections I'll commit this then.
[-- Attachment #2: mkconfig.diff.3 --]
[-- Type: text/plain, Size: 21963 bytes --]
2008-09-24 Felix Zielcke <fzielcke@z-51.de>
* util/update-grub_lib.in: Copy to ...
* util/grub-mkconfigig_lib.in: ... this. Update all users.
* util/update-grub_lib.in: Make it a stub to `grub-mkconfigig_lib.in'.
* util/update-grub.in: Rename to ...
* util/grub-mkconfig.in: ... this. Update all users. Add --output
option to allow users to specify the generated configuration. Default
to stdout.
(update_grub_dir): Rename to ...
(grub_mkconfig_dir): ... this.
(grub_cfg): Default to an empty string.
* conf/common.rmk (update-grub): Rename to ...
(grub-mkconfig): ... this.
(update-grub_lib): Copy to ...
(grub-mkconfig_lib): ... this.
(update-grub_SCRIPTS): Copy to ...
(grub-mkconfig_SCRIPTS): ... this. Update all users.
(update-grub_DATA): Rename to ...
(grub-mkconfig_DATA): ... this.
Index: Makefile.in
===================================================================
--- Makefile.in (revision 1872)
+++ Makefile.in (working copy)
@@ -108,7 +108,7 @@ PKGLIB = $(pkglib_IMAGES) $(pkglib_MODUL
$(pkglib_DATA) $(lib_DATA)
PKGDATA = $(pkgdata_DATA)
PROGRAMS = $(bin_UTILITIES) $(sbin_UTILITIES)
-SCRIPTS = $(bin_SCRIPTS) $(sbin_SCRIPTS) $(update-grub_SCRIPTS)
+SCRIPTS = $(bin_SCRIPTS) $(sbin_SCRIPTS) $(grub-mkconfig_SCRIPTS)
CLEANFILES =
MOSTLYCLEANFILES =
@@ -209,12 +209,12 @@ install-local: all
$(HELP2MAN) --section=8 $(builddir)/$$file > $(DESTDIR)$(mandir)/man8/$$dest.8; \
done
$(mkinstalldirs) $(DESTDIR)$(sysconfdir)/grub.d
- @list='$(update-grub_SCRIPTS)'; for file in $$list; do \
+ @list='$(grub-mkconfig_SCRIPTS)'; for file in $$list; do \
if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
$(INSTALL_SCRIPT) $$dir$$file $(DESTDIR)$(sysconfdir)/grub.d/$$dest; \
done
- @list='$(update-grub_DATA)'; for file in $$list; do \
+ @list='$(grub-mkconfig_DATA)'; for file in $$list; do \
if test -f "$$file"; then dir=; else dir="$(srcdir)/"; fi; \
dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
$(INSTALL_DATA) $$dir$$file $(DESTDIR)$(sysconfdir)/grub.d/$$dest; \
@@ -249,7 +249,7 @@ uninstall:
dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
rm -f $(DESTDIR)$(sbindir)/$$dest; \
done
- @list='$(update-grub_SCRIPTS) $(update-grub_DATA)'; for file in $$list; do \
+ @list='$(grub-mkconfig_SCRIPTS) $(grub-mkconfig_DATA)'; for file in $$list; do \
dest="`echo $$file | sed 's,.*/,,' | sed '$(transform)'`"; \
rm -f $(DESTDIR)$(sysconfdir)/grub.d/$$dest; \
done
Index: conf/common.rmk
===================================================================
--- conf/common.rmk (revision 1872)
+++ conf/common.rmk (working copy)
@@ -115,12 +115,18 @@ endif
grub_pe2elf_SOURCES = util/grub-pe2elf.c util/misc.c
CLEANFILES += grub-pe2elf
-# For update-grub
-update-grub: util/update-grub.in config.status
+# For grub-mkconfig
+grub-mkconfig: util/grub-mkconfig.in config.status
./config.status --file=$@:$<
chmod +x $@
-sbin_SCRIPTS += update-grub
-CLEANFILES += update-grub
+sbin_SCRIPTS += grub-mkconfig
+CLEANFILES += grub-mkconfig
+
+grub-mkconfig_lib: util/grub-mkconfig_lib.in config.status
+ ./config.status --file=$@:$<
+ chmod +x $@
+lib_DATA += grub-mkconfig_lib
+CLEANFILES += grub-mkconfig_lib
update-grub_lib: util/update-grub_lib.in config.status
./config.status --file=$@:$<
@@ -131,14 +137,14 @@ CLEANFILES += update-grub_lib
%: util/grub.d/%.in config.status
./config.status --file=$@:$<
chmod +x $@
-update-grub_SCRIPTS = 00_header 10_linux 10_hurd 30_os-prober 40_custom
+grub-mkconfig_SCRIPTS = 00_header 10_linux 10_hurd 30_os-prober 40_custom
ifeq ($(target_os), cygwin)
-update-grub_SCRIPTS += 10_windows
+grub-mkconfig_SCRIPTS += 10_windows
endif
-CLEANFILES += $(update-grub_SCRIPTS)
+CLEANFILES += $(grub-mkconfig_SCRIPTS)
-update-grub_DATA += util/grub.d/README
+grub-mkconfig_DATA += util/grub.d/README
# Filing systems.
Index: conf/common.mk
===================================================================
--- conf/common.mk (revision 1872)
+++ conf/common.mk (working copy)
@@ -526,12 +526,18 @@ grub_pe2elf-util_misc.o: util/misc.c $(u
CLEANFILES += grub-pe2elf
-# For update-grub
-update-grub: util/update-grub.in config.status
+# For grub-mkconfig
+grub-mkconfig: util/grub-mkconfig.in config.status
./config.status --file=$@:$<
chmod +x $@
-sbin_SCRIPTS += update-grub
-CLEANFILES += update-grub
+sbin_SCRIPTS += grub-mkconfig
+CLEANFILES += grub-mkconfig
+
+grub-mkconfig_lib: util/grub-mkconfig_lib.in config.status
+ ./config.status --file=$@:$<
+ chmod +x $@
+lib_DATA += grub-mkconfig_lib
+CLEANFILES += grub-mkconfig_lib
update-grub_lib: util/update-grub_lib.in config.status
./config.status --file=$@:$<
@@ -542,14 +548,14 @@ CLEANFILES += update-grub_lib
%: util/grub.d/%.in config.status
./config.status --file=$@:$<
chmod +x $@
-update-grub_SCRIPTS = 00_header 10_linux 10_hurd 30_os-prober 40_custom
+grub-mkconfig_SCRIPTS = 00_header 10_linux 10_hurd 30_os-prober 40_custom
ifeq ($(target_os), cygwin)
-update-grub_SCRIPTS += 10_windows
+grub-mkconfig_SCRIPTS += 10_windows
endif
-CLEANFILES += $(update-grub_SCRIPTS)
+CLEANFILES += $(grub-mkconfig_SCRIPTS)
-update-grub_DATA += util/grub.d/README
+grub-mkconfig_DATA += util/grub.d/README
# Filing systems.
Index: DISTLIST
===================================================================
--- DISTLIST (revision 1872)
+++ DISTLIST (working copy)
@@ -414,6 +414,8 @@ util/getroot.c
util/grub-editenv.c
util/grub-emu.c
util/grub-fstest.c
+util/grub-mkconfig.in
+util/grub-mkconfig_lib.in
util/grub-mkdevicemap.c
util/grub-pe2elf.c
util/grub-probe.c
@@ -424,7 +426,6 @@ util/misc.c
util/raid.c
util/resolve.c
util/unifont2pff.rb
-util/update-grub.in
util/update-grub_lib.in
util/elf/grub-mkimage.c
util/grub.d/00_header.in
Index: util/grub.d/10_windows.in
===================================================================
--- util/grub.d/10_windows.in (revision 1872)
+++ util/grub.d/10_windows.in (working copy)
@@ -19,7 +19,7 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
-. ${libdir}/grub/update-grub_lib
+. ${libdir}/grub/grub-mkconfig_lib
case "`uname 2>/dev/null`" in
CYGWIN*) ;;
Index: util/grub.d/30_os-prober.in
===================================================================
--- util/grub.d/30_os-prober.in (revision 1872)
+++ util/grub.d/30_os-prober.in (working copy)
@@ -83,7 +83,7 @@ EOF
done
;;
hurd|*)
- echo " ${LONGNAME} is not yet supported by update-grub." >&2
+ echo " ${LONGNAME} is not yet supported by grub-mkconfig." >&2
;;
esac
done
Index: util/grub.d/10_linux.in
===================================================================
--- util/grub.d/10_linux.in (revision 1872)
+++ util/grub.d/10_linux.in (working copy)
@@ -19,7 +19,7 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
-. ${libdir}/grub/update-grub_lib
+. ${libdir}/grub/grub-mkconfig_lib
if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
OS=GNU/Linux
Index: util/grub.d/10_hurd.in
===================================================================
--- util/grub.d/10_hurd.in (revision 1872)
+++ util/grub.d/10_hurd.in (working copy)
@@ -19,7 +19,7 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
-. ${libdir}/grub/update-grub_lib
+. ${libdir}/grub/grub-mkconfig_lib
if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
OS=GNU
Index: util/grub.d/00_header.in
===================================================================
--- util/grub.d/00_header.in (revision 1872)
+++ util/grub.d/00_header.in (working copy)
@@ -23,7 +23,7 @@ exec_prefix=@exec_prefix@
libdir=@libdir@
grub_prefix=`echo /boot/grub | sed ${transform}`
-. ${libdir}/grub/update-grub_lib
+. ${libdir}/grub/grub-mkconfig_lib
# Do this as early as possible, since other commands might depend on it.
# (e.g. the `font' command might need lvm or raid modules)
Index: util/update-grub.in
===================================================================
--- util/update-grub.in (revision 1872)
+++ util/update-grub.in (working copy)
@@ -1,204 +0,0 @@
-#! /bin/sh -e
-
-# Generate grub.cfg by inspecting /boot contents.
-# Copyright (C) 2006,2007,2008 Free Software Foundation, Inc.
-#
-# GRUB is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# GRUB is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GRUB. If not, see <http://www.gnu.org/licenses/>.
-
-transform="@program_transform_name@"
-
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-sbindir=@sbindir@
-libdir=@libdir@
-sysconfdir=@sysconfdir@
-grub_prefix=`echo /boot/grub | sed ${transform}`
-grub_cfg=${grub_prefix}/grub.cfg
-update_grub_dir=${sysconfdir}/grub.d
-
-grub_mkdevicemap=${sbindir}/`echo grub-mkdevicemap | sed ${transform}`
-grub_probe=${sbindir}/`echo grub-probe | sed ${transform}`
-
-# Usage: usage
-# Print the usage.
-usage () {
- cat <<EOF
-Usage: $0 [OPTION]
-Generate /boot/grub/grub.cfg
-
- -h, --help print this message and exit
- -v, --version print the version information and exit
- -y ignored for compatibility
-
-Report bugs to <bug-grub@gnu.org>.
-EOF
-}
-
-# Check the arguments.
-for option in "$@"; do
- case "$option" in
- -h | --help)
- usage
- exit 0 ;;
- -v | --version)
- echo "$0 (GNU GRUB ${PACKAGE_VERSION})"
- exit 0 ;;
- -y)
- echo "$0: warning: Ignoring -y option (no longer needed)." >&2
- ;;
- -*)
- echo "Unrecognized option \`$option'" 1>&2
- usage
- exit 1
- ;;
- esac
-done
-
-. ${libdir}/grub/update-grub_lib
-
-if [ "x$EUID" = "x" ] ; then
- EUID=`id -u`
-fi
-
-if [ "$EUID" != 0 ] ; then
- root=f
- case "`uname 2>/dev/null`" in
- CYGWIN*)
- # Cygwin: Assume root if member of admin group
- for g in `id -G 2>/dev/null` ; do
- case $g in
- 0|544) root=t ;;
- esac
- done ;;
- esac
- if [ $root != t ] ; then
- echo "$0: You must run this as root" >&2
- exit 1
- fi
-fi
-
-set $grub_mkdevicemap dummy
-if test -f "$1"; then
- :
-else
- echo "$1: Not found." 1>&2
- exit 1
-fi
-
-set $grub_probe dummy
-if test -f "$1"; then
- :
-else
- echo "$1: Not found." 1>&2
- exit 1
-fi
-
-mkdir -p ${grub_prefix}
-
-if test -e ${grub_prefix}/device.map ; then : ; else
- grub-mkdevicemap
-fi
-
-# Device containing our userland. Typically used for root= parameter.
-GRUB_DEVICE="`${grub_probe} --target=device /`"
-GRUB_DEVICE_UUID="`${grub_probe} --device ${GRUB_DEVICE} --target=fs_uuid 2> /dev/null`" || true
-
-# Device containing our /boot partition. Usually the same as GRUB_DEVICE.
-GRUB_DEVICE_BOOT="`${grub_probe} --target=device /boot`"
-GRUB_DEVICE_BOOT_UUID="`${grub_probe} --device ${GRUB_DEVICE_BOOT} --target=fs_uuid 2> /dev/null`" || true
-
-# Filesystem for the device containing our userland. Used for stuff like
-# choosing Hurd filesystem module.
-GRUB_FS="`${grub_probe} --target=fs / 2> /dev/null || echo unknown`"
-
-if test -f ${sysconfdir}/default/grub ; then
- . ${sysconfdir}/default/grub
-fi
-
-case x${GRUB_TERMINAL} in
- x)
- # If this platform supports gfxterm, try to use it.
- if test -e ${grub_prefix}/gfxterm.mod ; then
- GRUB_TERMINAL=gfxterm
- fi
- ;;
- xconsole | xserial | xofconsole | xgfxterm) ;;
- *) echo "Invalid terminal \"${GRUB_TERMINAL}\"" >&2 ; exit 1 ;;
-esac
-
-# check for terminals that require fonts
-case ${GRUB_TERMINAL} in
- gfxterm)
- if path=`font_path` ; then
- GRUB_FONT_PATH="${path}"
- else
- # fallback to the native terminal for this platform
- unset GRUB_TERMINAL
- fi
- ;;
-esac
-
-# does our terminal support utf-8 ?
-case ${GRUB_TERMINAL} in
- gfxterm) ;;
- *)
- # make sure all our children behave in conformance with ascii..
- export LANG=C
- ;;
-esac
-
-# These are defined in this script, export them here so that user can
-# override them.
-export GRUB_DEVICE GRUB_DEVICE_UUID GRUB_DEVICE_BOOT GRUB_DEVICE_BOOT_UUID GRUB_FS GRUB_FONT_PATH GRUB_PRELOAD_MODULES
-
-# These are optional, user-defined variables.
-export GRUB_DEFAULT GRUB_TIMEOUT GRUB_DISTRIBUTOR GRUB_CMDLINE_LINUX GRUB_CMDLINE_LINUX_DEFAULT GRUB_TERMINAL GRUB_SERIAL_COMMAND GRUB_DISABLE_LINUX_UUID GRUB_GFXMODE
-
-rm -f ${grub_cfg}.new
-exec > ${grub_cfg}.new
-
-# Allow this to fail, since /boot/grub/ might need to be fatfs to support some
-# firmware implementations (e.g. OFW or EFI).
-chmod 444 ${grub_cfg}.new || true
-
-echo "Updating ${grub_cfg} ..." >&2
-
-cat << EOF
-#
-# DO NOT EDIT THIS FILE
-#
-# It is automatically generated by $0 using templates
-# from ${update_grub_dir} and settings from ${sysconfdir}/default/grub
-#
-EOF
-
-for i in ${update_grub_dir}/* ; do
- case "$i" in
- # emacsen backup files. FIXME: support other editors
- *~) ;;
- *)
- if grub_file_is_not_garbage "$i" && test -x "$i" ; then
- echo
- echo "### BEGIN $i ###"
- "$i"
- echo "### END $i ###"
- fi
- ;;
- esac
-done
-
-# none of the children aborted with error, install the new grub.cfg
-mv -f ${grub_cfg}.new ${grub_cfg}
-
-echo "done" >&2
Index: util/grub-mkconfig_lib.in
===================================================================
--- util/grub-mkconfig_lib.in (revision 1863)
+++ util/grub-mkconfig_lib.in (working copy)
@@ -1,4 +1,4 @@
-# Helper library for update-grub
+# Helper library for grub-mkconfig
# Copyright (C) 2007,2008 Free Software Foundation, Inc.
#
# GRUB is free software: you can redistribute it and/or modify
Property changes on: util/grub-mkconfig_lib.in
___________________________________________________________________
Added: svn:mergeinfo
Index: util/grub-mkconfig.in
===================================================================
--- util/grub-mkconfig.in (revision 1863)
+++ util/grub-mkconfig.in (working copy)
@@ -24,8 +24,8 @@ sbindir=@sbindir@
libdir=@libdir@
sysconfdir=@sysconfdir@
grub_prefix=`echo /boot/grub | sed ${transform}`
-grub_cfg=${grub_prefix}/grub.cfg
-update_grub_dir=${sysconfdir}/grub.d
+grub_cfg=""
+grub_mkconfig_dir=${sysconfdir}/grub.d
grub_mkdevicemap=${sbindir}/`echo grub-mkdevicemap | sed ${transform}`
grub_probe=${sbindir}/`echo grub-probe | sed ${transform}`
@@ -35,8 +35,9 @@ grub_probe=${sbindir}/`echo grub-probe |
usage () {
cat <<EOF
Usage: $0 [OPTION]
-Generate /boot/grub/grub.cfg
+Generate a grub config file
+ -o, --output=FILE output generated config to FILE [default=stdout]
-h, --help print this message and exit
-v, --version print the version information and exit
-y ignored for compatibility
@@ -57,6 +58,13 @@ for option in "$@"; do
-y)
echo "$0: warning: Ignoring -y option (no longer needed)." >&2
;;
+ -o)
+ shift
+ grub_cfg=$1
+ ;;
+ --output=)
+ grub_cfg=`echo "$option" | sed 's/--output=//'`
+ ;;
-*)
echo "Unrecognized option \`$option'" 1>&2
usage
@@ -65,7 +73,7 @@ for option in "$@"; do
esac
done
-. ${libdir}/grub/update-grub_lib
+. ${libdir}/grub/grub-mkconfig_lib
if [ "x$EUID" = "x" ] ; then
EUID=`id -u`
@@ -165,14 +173,15 @@ export GRUB_DEVICE GRUB_DEVICE_UUID GRUB
# These are optional, user-defined variables.
export GRUB_DEFAULT GRUB_TIMEOUT GRUB_DISTRIBUTOR GRUB_CMDLINE_LINUX GRUB_CMDLINE_LINUX_DEFAULT GRUB_TERMINAL GRUB_SERIAL_COMMAND GRUB_DISABLE_LINUX_UUID GRUB_GFXMODE
-rm -f ${grub_cfg}.new
-exec > ${grub_cfg}.new
-
-# Allow this to fail, since /boot/grub/ might need to be fatfs to support some
-# firmware implementations (e.g. OFW or EFI).
-chmod 444 ${grub_cfg}.new || true
-
-echo "Updating ${grub_cfg} ..." >&2
+if test "x${grub_cfg}" != "x"; then
+ rm -f ${grub_cfg}.new
+ exec > ${grub_cfg}.new
+
+ # Allow this to fail, since /boot/grub/ might need to be fatfs to support some
+ # firmware implementations (e.g. OFW or EFI).
+ chmod 444 ${grub_cfg}.new || true
+fi
+echo "Generating grub.cfg ..." >&2
cat << EOF
#
@@ -183,7 +192,7 @@ cat << EOF
#
EOF
-for i in ${update_grub_dir}/* ; do
+for i in ${grub_mkconfig_dir}/* ; do
case "$i" in
# emacsen backup files. FIXME: support other editors
*~) ;;
@@ -198,7 +207,9 @@ for i in ${update_grub_dir}/* ; do
esac
done
-# none of the children aborted with error, install the new grub.cfg
-mv -f ${grub_cfg}.new ${grub_cfg}
+if test "x${grub_cfg}" != "x" ; then
+ # none of the children aborted with error, install the new grub.cfg
+ mv -f ${grub_cfg}.new ${grub_cfg}
+fi
echo "done" >&2
Property changes on: util/grub-mkconfig.in
___________________________________________________________________
Added: svn:mergeinfo
Index: util/update-grub_lib.in
===================================================================
--- util/update-grub_lib.in (revision 1866)
+++ util/update-grub_lib.in (working copy)
@@ -1,4 +1,4 @@
-# Helper library for update-grub
+# stub for new grub-mkconfig_lib
# Copyright (C) 2007,2008 Free Software Foundation, Inc.
#
# GRUB is free software: you can redistribute it and/or modify
@@ -14,160 +14,9 @@
# You should have received a copy of the GNU General Public License
# along with GRUB. If not, see <http://www.gnu.org/licenses/>.
-transform="@program_transform_name@"
-
prefix=@prefix@
exec_prefix=@exec_prefix@
-datarootdir=@datarootdir@
-datadir=@datadir@
-sbindir=@sbindir@
-pkgdatadir=${datadir}/`echo @PACKAGE_TARNAME@ | sed "${transform}"`
-
-grub_probe=${sbindir}/`echo grub-probe | sed ${transform}`
-
-make_system_path_relative_to_its_root ()
-{
- path=$1
- # abort if file doesn't exist
- if test -e $path ; then : ;else
- return 1
- fi
-
- # canonicalize
- if path=`readlink -f $path` ; then : ; else
- return 1
- fi
-
- # if not a directory, climb up to the directory containing it
- if test -d $path ; then
- dir=$path
- else
- dir=`echo $path | sed -e "s,/[^/]*$,,g"`
- fi
-
- num=`stat -c %d $dir`
-
- # this loop sets $dir to the root directory of the filesystem we're inspecting
- while : ; do
- parent=`readlink -f $dir/..`
- if [ "x`stat -c %d $parent`" = "x$num" ] ; then : ; else
- # $parent is another filesystem; we found it.
- break
- fi
- if [ "x$dir" = "x/" ] ; then
- # / is our root.
- break
- fi
- dir=$parent
- done
-
- # This function never prints trailing slashes (so that its output can be
- # appended a slash unconditionally). Each slash in $dir is considered a
- # preceding slash, and therefore the root directory is an empty string.
- if [ "$dir" = "/" ] ; then
- dir=""
- fi
-
- # 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 ()
-{
- path=$1
-
- # abort if path doesn't exist
- if test -e $path ; then : ;else
- return 1
- fi
-
- # abort if file is in a filesystem we can't read
- if ${grub_probe} -t fs $path > /dev/null 2>&1 ; then : ; else
- return 1
- fi
-
- return 0
-}
-
-convert_system_path_to_grub_path ()
-{
- path=$1
-
- echo "Warning: convert_system_path_to_grub_path() is deprecated. Use prepare_grub_to_access_device() instead." >&2
-
- # abort if GRUB can't access the path
- if is_path_readable_by_grub ${path} ; then : ; else
- return 1
- fi
-
- if drive=`${grub_probe} -t drive $path` ; then : ; else
- return 1
- fi
-
- if relative_path=`make_system_path_relative_to_its_root $path` ; then : ; else
- return 1
- fi
-
- echo ${drive}${relative_path}
-}
-
-prepare_grub_to_access_device ()
-{
- device=$1
-
- # Abstraction modules aren't auto-loaded.
- abstraction="`${grub_probe} --device ${device} --target=abstraction`"
- if [ "x${abstraction}" = "x" ] ; then : ; else
- echo "insmod ${abstraction}"
- fi
-
- # If there's a filesystem UUID that GRUB is capable of identifying, use it;
- # otherwise set root as per value in device.map.
- echo "set root=`${grub_probe} --device ${device} --target=drive`"
- if fs_uuid="`${grub_probe} --device ${device} --target=fs_uuid 2> /dev/null`" ; then
- echo "search --fs-uuid --set ${fs_uuid}"
- fi
-}
-
-font_path ()
-{
- for dir in ${pkgdatadir} /boot/grub /usr/share/grub ; do
- # FIXME: We prefer ascii because loading complete fonts is too slow (and
- # we don't yet provide the gettext magic that would make unicode useful).
- for basename in ascii unicode unifont ; do
- path="${dir}/${basename}.pff"
- if is_path_readable_by_grub ${path} > /dev/null ; then
- echo "${path}"
- return 0
- fi
- done
- done
-
- return 1
-}
+libdir=@libdir@
-grub_file_is_not_garbage ()
-{
- if test -f "$1" ; then
- case "$1" in
- *.dpkg-dist|*.dpkg-old|*.dpkg-tmp) return 1 ;; # debian dpkg
- esac
- else
- return 1
- fi
- return 0
-}
+echo "warning: this file is deprecated, use grub-mkconfig_lib instead" >&2
+. ${libdir}/grub/grub-mkconfig_lib
next prev parent reply other threads:[~2008-09-24 11:04 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-09-04 12:22 [RFC] rename update-grub to update-grubcfg Felix Zielcke
2008-09-04 13:56 ` Pavel Roskin
2008-09-04 17:38 ` Vesa Jääskeläinen
2008-09-04 17:50 ` Felix Zielcke
2008-09-04 19:45 ` Robert Millan
2008-09-15 17:56 ` Felix Zielcke
2008-09-15 18:14 ` Vesa Jääskeläinen
2008-09-17 13:56 ` Robert Millan
2008-09-17 14:31 ` Vesa Jääskeläinen
2008-09-17 15:24 ` Felix Zielcke
2008-09-24 9:49 ` Robert Millan
2008-09-24 11:04 ` Felix Zielcke [this message]
2008-09-24 13:22 ` Robert Millan
2008-09-24 13:34 ` Felix Zielcke
2008-09-24 13:54 ` Robert Millan
2008-09-29 14:57 ` Felix Zielcke
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1222254243.4289.0.camel@fz.local \
--to=fzielcke@z-51.de \
--cc=grub-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.