[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] fix grub-install from build directory
From: |
Andrey Borzenkov |
Subject: |
[PATCH] fix grub-install from build directory |
Date: |
Sun, 22 Sep 2013 20:22:20 +0400 |
1. grub-install exits early due to cp error
address@hidden:~/build/grub> LC_ALL=C sudo pkgdatadir=$PWD ./grub-install
--grub-mkimage=./grub-mkimage --grub-setup=./grub-bios-setup
--grub-probe=./grub-probe --grub-mkrelpath=./grub-mkrelpath
--boot-directory=/boot/upstream -d $PWD/grub-core /dev/sda1
cp: omitting directory '/home/bor/build/grub/themes/starfield/src'
address@hidden:~/build/grub> echo $?
1
Explicitly skip non-plain files but emit a warning.
2. grub-install requires grub-editenv when installing in clean directory.
Add --grub-editenv option to grub-install to specify its location.
Signed-off-by: Andrey Borzenkov <address@hidden>
---
util/grub-install.in | 6 ++++++
util/grub-install_header | 10 +++++++---
2 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/util/grub-install.in b/util/grub-install.in
index 1816bb1..acd516f 100644
--- a/util/grub-install.in
+++ b/util/grub-install.in
@@ -75,6 +75,7 @@ usage () {
print_option_help "--grub-setup=$(gettext "FILE")" "$(gettext "use FILE as
grub-setup")"
print_option_help "--grub-mkrelpath=$(gettext "FILE")" "$(gettext "use
FILE as grub-mkrelpath")"
print_option_help "--grub-probe=$(gettext "FILE")" "$(gettext "use FILE as
grub-probe")"
+ print_option_help "--grub-editenv=$(gettext "FILE")" "$(gettext "use FILE
as grub-editenv")"
# TRANSLATORS: "may break" doesn't just mean that option wouldn't have any
# effect but that it will make the resulting install unbootable from HDD.
print_option_help "--allow-floppy" "$(gettext "make the drive also
bootable as floppy (default for fdX devices). May break on some BIOSes.")"
@@ -173,6 +174,11 @@ do
--grub-probe=*)
grub_probe="`echo "$option" | sed 's/--grub-probe=//'`" ;;
+ --grub-editenv)
+ grub_editenv="`argument "$option" "$@"`"; shift;;
+ --grub-editenv=*)
+ grub_editenv="`echo "$option" | sed 's/--grub-editenv=//'`" ;;
+
--no-floppy)
;;
--recheck)
diff --git a/util/grub-install_header b/util/grub-install_header
index cf7fa9d..26013fe 100644
--- a/util/grub-install_header
+++ b/util/grub-install_header
@@ -45,10 +45,14 @@ handler.lst video.lst crypto.lst terminal.lst"
grub_mkimage="${bindir}/@grub_mkimage@"
grub_compress_file () {
- if [ "$compressor" != "" ] ; then
- "$compressor" $compressor_opts "$1" > "$2"
+ if [ -f "$1" ] ; then
+ if [ "$compressor" != "" ] ; then
+ "$compressor" $compressor_opts "$1" > "$2"
+ else
+ cp -f "$1" "$2"
+ fi
else
- cp -f "$1" "$2"
+ gettext_printf "Skipping file \`%s': not a plain file\n" "$1" 1>&2
fi
}
--
tg: (37966d5..) u/grub-install-non-plain-files (depends on: master)
- [PATCH] fix grub-install from build directory,
Andrey Borzenkov <=