summaryrefslogtreecommitdiff
path: root/core/efibootmgr
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-06-18 01:11:38 -0700
committerroot <root@rshg054.dnsready.net>2013-06-18 01:11:38 -0700
commit614d2fec699c594b1a3a25c973e0b5150302ff0e (patch)
tree7d5b075f309f4004f09e77562975fad441662446 /core/efibootmgr
parent3c8e479bfe9fab72058c833f2909a26232114733 (diff)
Tue Jun 18 01:11:08 PDT 2013
Diffstat (limited to 'core/efibootmgr')
-rwxr-xr-xcore/efibootmgr/PKGBUILD49
-rw-r--r--core/efibootmgr/efibootmgr-tilt_slashes-func.patch61
2 files changed, 110 insertions, 0 deletions
diff --git a/core/efibootmgr/PKGBUILD b/core/efibootmgr/PKGBUILD
new file mode 100755
index 000000000..2a42dea3a
--- /dev/null
+++ b/core/efibootmgr/PKGBUILD
@@ -0,0 +1,49 @@
+# $Id: PKGBUILD 188652 2013-06-17 10:52:28Z tpowa $
+# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
+# Contributor : Murtuza Akhtari <inxsible at gmail dot com>
+# Contributor: Keshav P R <skodabenz at rocketmail dot com>
+
+pkgname=efibootmgr
+pkgver=0.6.0
+pkgrel=3
+pkgdesc="Tool to modify UEFI Firmware Boot Manager Variables."
+arch=('i686' 'x86_64')
+url="http://linux.dell.com/efibootmgr/"
+license=('GPL2')
+depends=('zlib' 'pciutils')
+makedepends=()
+provides=()
+options=(strip purge docs zipman !emptydirs)
+
+source=("http://linux.dell.com/efibootmgr/permalink/${pkgname}-${pkgver}.tar.gz"
+ "efibootmgr-tilt_slashes-func.patch"
+)
+
+build () {
+ rm -rf ${srcdir}/efibootmgr-${pkgver}_build/ || true
+
+ cp -r ${srcdir}/efibootmgr-${pkgver} ${srcdir}/efibootmgr-${pkgver}_build
+
+ cd ${srcdir}/efibootmgr-${pkgver}_build/
+ patch -Np1 -i ${srcdir}/efibootmgr-tilt_slashes-func.patch
+ echo
+
+ CFLAGS= make
+ echo
+
+}
+
+
+package() {
+
+ mkdir -p ${pkgdir}/usr/bin/
+ mkdir -p ${pkgdir}/usr/share/man/man8/
+
+ cd ${srcdir}/efibootmgr-${pkgver}_build/
+
+ install -D -m755 ${srcdir}/efibootmgr-${pkgver}_build/src/efibootmgr/efibootmgr ${pkgdir}/usr/bin/efibootmgr
+ install -D -m644 ${srcdir}/efibootmgr-${pkgver}_build/src/man/man8/efibootmgr.8 ${pkgdir}/usr/share/man/man8/efibootmgr.8
+
+}
+md5sums=('9e9a31d79e579644de83a14139b66d10'
+ '3622c0e978cf859cae60803a6b6a0c5e')
diff --git a/core/efibootmgr/efibootmgr-tilt_slashes-func.patch b/core/efibootmgr/efibootmgr-tilt_slashes-func.patch
new file mode 100644
index 000000000..ce857bb3c
--- /dev/null
+++ b/core/efibootmgr/efibootmgr-tilt_slashes-func.patch
@@ -0,0 +1,61 @@
+diff --git a/src/efibootmgr/efibootmgr.c b/src/efibootmgr/efibootmgr.c
+index 236365a..9883961 100644
+--- a/src/efibootmgr/efibootmgr.c
++++ b/src/efibootmgr/efibootmgr.c
+@@ -803,6 +803,7 @@ usage()
+ printf("\t-V | --version return version and exit\n");
+ printf("\t-w | --write-signature write unique sig to MBR if needed\n");
+ printf("\t-@ | --append-binary-args file append extra args from file (use \"-\" for stdin)\n");
++ printf("\t | --help show help/usage\n");
+ }
+
+ static void
+@@ -863,6 +864,7 @@ parse_opts(int argc, char **argv)
+ {"version", no_argument, 0, 'V'},
+ {"write-signature", no_argument, 0, 'w'},
+ {"append-binary-args", required_argument, 0, '@'},
++ {"help", no_argument, 0, 2},
+ {0, 0, 0, 0}
+ };
+
+@@ -1014,6 +1016,10 @@ parse_opts(int argc, char **argv)
+ opts.write_signature = 1;
+ break;
+
++ case 2:
++ usage();
++ exit(1);
++
+ default:
+ usage();
+ exit(1);
+diff --git a/src/lib/efi.c b/src/lib/efi.c
+index a4ce5cf..8ef8be8 100644
+--- a/src/lib/efi.c
++++ b/src/lib/efi.c
+@@ -70,6 +70,16 @@ efi_guid_unparse(efi_guid_t *guid, char *out)
+ return out;
+ }
+
++char *
++tilt_slashes(char *s)
++{
++ char *p;
++ for (p = s; *p; p++)
++ if (*p == '/')
++ *p = '\\';
++ return s;
++}
++
+ void
+ set_fs_kernel_calls()
+ {
+@@ -535,7 +545,7 @@ char *make_disk_load_option(char *p, char *disk)
+ signature,
+ mbr_type, signature_type);
+
+- efichar_from_char(os_loader_path, opts.loader, sizeof(os_loader_path));
++ efichar_from_char(os_loader_path, tilt_slashes(opts.loader), sizeof(os_loader_path));
+ p += make_file_path_device_path (p, os_loader_path);
+ p += make_end_device_path (p);
+