changeset 125:407d594b43ab

core/efibootmgr: initial import, closes #1021
author David Demelier <markand@malikania.fr>
date Sun, 10 Mar 2019 14:54:37 +0100
parents 24dcabcf0297
children 3fd04524c63d
files core/efibootmgr/efibootmgr.info core/efibootmgr/efibootmgr.sh core/efibootmgr/efivar.patch core/efibootmgr/musl-gettext.patch
diffstat 4 files changed, 86 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/core/efibootmgr/efibootmgr.info	Sun Mar 10 14:54:37 2019 +0100
@@ -0,0 +1,24 @@
+#!/bin/sh
+#
+# Copyright (c) 2019 David Demelier <markand@malikania.fr>
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+
+PKGNAME=efibootmgr
+PKGVERSION=17
+PKGREVISION=1
+PKGLICENSE="GPLv2"
+PKGSUMMARY="application to manipulate UEFI"
+PKGDOWNLOAD="https://github.com/rhboot/$PKGNAME/archive/$PKGVERSION.tar.gz"
+PKGDEPENDS="core/gettext lib/efivar lib/popt"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/core/efibootmgr/efibootmgr.sh	Sun Mar 10 14:54:37 2019 +0100
@@ -0,0 +1,37 @@
+#!/bin/sh
+#
+# Copyright (c) 2019 David Demelier <markand@malikania.fr>
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+
+: ${CC:=gcc}
+: ${CFLAGS:=-O2}
+
+source ./efibootmgr.info
+
+set -ex
+
+rm -rf PKGNAME-$PKGVERSION
+tar xvaf $PKGVERSION.tar.gz
+pushd $PKGNAME-$PKGVERSION
+
+# credits to alpine linux.
+# https://git.alpinelinux.org/aports/tree/testing/efibootmgr?h=master
+patch -p1 < ../efivar.patch
+patch -p1 < ../musl-gettext.patch
+make PCDIR=/usr/lib/pkgconfig EFIDIR=/boot/efi
+make EFIDIR=/boot/efi DESTDIR=$DESTDIR install
+
+popd
+rm -rf $PKGNAME-$PKGVERSION
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/core/efibootmgr/efivar.patch	Sun Mar 10 14:54:37 2019 +0100
@@ -0,0 +1,14 @@
+diff --git a/src/efibootmgr.c b/src/efibootmgr.c
+index de38f01..4e1a680 100644
+--- a/src/efibootmgr.c
++++ b/src/efibootmgr.c
+@@ -1536,9 +1536,6 @@ parse_opts(int argc, char **argv)
+ 					       "invalid numeric value %s\n",
+ 					       optarg);
+ 			}
+-                        /* XXX efivar-36 accidentally doesn't have a public
+-                         * header for this */
+-			extern int efi_set_verbose(int verbosity, FILE *errlog);
+ 			efi_set_verbose(opts.verbose - 2, stderr);
+ 			break;
+ 		case 'V':
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/core/efibootmgr/musl-gettext.patch	Sun Mar 10 14:54:37 2019 +0100
@@ -0,0 +1,11 @@
+--- ./Make.defaults.orig
++++ ./Make.defaults
+@@ -49,7 +49,7 @@
+ 	$(call pkg-config-ccldflags)
+ CPPFLAGS?=
+ SOFLAGS=-shared
+-LDLIBS=$(foreach lib,$(LIBS),-l$(lib)) $(call pkg-config-ldlibs)
++LDLIBS=$(foreach lib,$(LIBS),-l$(lib)) $(call pkg-config-ldlibs) -lintl
+ 
+ .PHONY: check_efidir_error
+ check_efidir_error : ; $(EFIDIR_ERROR) $(info Building with EFIDIR as $(EFIDIR))