1. grub-install exits early due to cp error bor@opensuse:~/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' bor@opensuse:~/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 <arvidj...@gmail.com> --- 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) _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel