first draft of invirtification of grub2 master
authorAdam Glasgall <glasgall@mit.edu>
Fri, 6 Jun 2014 21:12:59 +0000 (17:12 -0400)
committerAdam Glasgall <glasgall@mit.edu>
Fri, 6 Jun 2014 21:12:59 +0000 (17:12 -0400)
grub2-config-in-mkstandalone.patch [new file with mode: 0644]
invirtify-grub [new file with mode: 0644]

diff --git a/grub2-config-in-mkstandalone.patch b/grub2-config-in-mkstandalone.patch
new file mode 100644 (file)
index 0000000..838e098
--- /dev/null
@@ -0,0 +1,38 @@
+--- grub2-2.02~beta2/util/grub-mkstandalone.c  2013-12-24 11:40:31.000000000 -0500
++++ grub2-2.02~beta2-patched/util/grub-mkstandalone.c  2014-06-06 11:27:05.000000000 -0400
+@@ -32,6 +32,7 @@
+ static char *output_image;
+ static char **files;
++static char *config_file;
+ static int nfiles;
+ const struct grub_install_image_target_desc *format;
+ static FILE *memdisk;
+@@ -48,6 +49,7 @@
+    0, N_("save output in FILE [required]"), 2},
+   {"format", 'O', N_("FILE"), 0, 0, 2},
+   {"compression", 'C', "xz|none|auto", OPTION_HIDDEN, 0, 2},
++  {"config", 'c', "FILE", 0, 0, 2},
+   {0, 0, 0, 0, 0, 0}
+ };
+@@ -99,7 +101,9 @@
+         }
+       break;
+       }
+-
++    case 'c':
++      config_file = xstrdup(arg);
++      break;
+     case ARGP_KEY_ARG:
+       files[nfiles++] = xstrdup (arg);
+       break;
+@@ -352,7 +356,7 @@
+   grub_install_make_image_wrap (grub_install_source_directory,
+                               "(memdisk)/boot/grub", output_image,
+-                              memdisk_img, NULL,
++                              memdisk_img, config_file,
+                               grub_util_get_target_name (format), 0);
+   grub_util_unlink (memdisk_img);
diff --git a/invirtify-grub b/invirtify-grub
new file mode 100644 (file)
index 0000000..0fc1077
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/sh
+set -e
+
+name=grub2
+ivversionappend=invirt1
+
+dir=$(cd "$(dirname "$0")"; pwd)
+
+hack_package () {
+    mkdir -p debian/patches/
+    cp -a "$dir"/grub2-config-in-mkstandalone.patch debian/patches/
+    cat >>debian/patches/series <<EOF
+
+# Invirt addition
+grub2-config-in-mkstandalone.patch
+EOF
+    append_description <<EOF
+ .
+ This package was rebuilt for the Invirt project to add support for
+ embedding a configuration file in a standalone image.
+EOF
+    add_changelog 'Add support for embedding a config file in a standalone image.'
+    add_invirt_provides
+    munge_sections
+}
+
+. ../common/invirtificator.sh
\ No newline at end of file