grub2/0054-mkrescue-Check-xorriso-presence-before-doing-anythin.patch
Peter Jones 81987f4958 Update grub2 for f28
- Try to fix things for new compiler madness.
  I really don't know why gcc decided __attribute__((packed)) on a "typedef
  struct" should imply __attribute__((align (1))) and that it should have a
  warning that it does so.  The obvious behavior would be to keep the alignment
  of the first element unless it's used in another object or type that /also/
  hask the packed attribute.  Why should it change the default alignment at
  all?
- Merge in the BLS patches Javier and I wrote.
- Attempt to fix pmtimer initialization failures to not be super duper slow.

Signed-off-by: Peter Jones <pjones@redhat.com>
2018-02-28 09:40:44 -05:00

50 lines
1.3 KiB
Diff

From 9e962fd3c42081e2eef1f99a0eaab38fd04d2620 Mon Sep 17 00:00:00 2001
From: Vladimir Serbinenko <phcoder@gmail.com>
Date: Mon, 7 Aug 2017 18:05:17 +0200
Subject: [PATCH 054/206] mkrescue: Check xorriso presence before doing
anything else.
mkrescue can't do anything useful without xorriso, so abort early if it's
not available.
---
util/grub-mkrescue.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/util/grub-mkrescue.c b/util/grub-mkrescue.c
index 238d4840e2f..38f1543974e 100644
--- a/util/grub-mkrescue.c
+++ b/util/grub-mkrescue.c
@@ -323,6 +323,7 @@ check_xorriso (const char *val)
char *buf = NULL;
size_t len = 0;
int ret = 0;
+ int wstatus = 0;
argv[0] = xorriso;
argv[1] = "-as";
@@ -347,8 +348,10 @@ check_xorriso (const char *val)
}
close (fd);
- waitpid (pid, NULL, 0);
+ waitpid (pid, &wstatus, 0);
free (buf);
+ if (!WIFEXITED (wstatus) || WEXITSTATUS(wstatus) != 0)
+ return 0;
return ret;
}
@@ -478,6 +481,10 @@ main (int argc, char *argv[])
if (!output_image)
grub_util_error ("%s", _("output file must be specified"));
+ if (!check_xorriso ("graft-points")) {
+ grub_util_error ("%s", _("xorriso not found"));
+ }
+
grub_init_all ();
grub_hostfs_init ();
grub_host_init ();
--
2.15.0