app-crypt/efitools: Sync with gentoo

It's from gentoo commit 915705ee5db3fff848c1af34db5aa4a68320619b.
This commit is contained in:
Krzesimir Nowak 2022-03-02 17:28:51 +01:00
parent 86fc0c28ae
commit e1d763786e
7 changed files with 87 additions and 51 deletions

View File

@ -1,2 +1,2 @@
DIST efitools-1.7.0.tar.bz2 96042 BLAKE2B b0042df906282d878b1400c359c1eece24588f5df7ab753b62f5f0b95e97467cfaa17e04a2ef40a7ec85155c4d13bd438dd94471e0ec98ab23030dd54e7d4214 SHA512 1e839c5565b0a113569cf47bf98d656875f9a127b481287a553e8b1276969021e1a39a730b9ede3852e15d1ac045db7ec64767f5ac71a24567236c0938697ccb
DIST efitools-1.8.1.tar.gz 115319 BLAKE2B 3aad65defc203055122027cc3a48f50912d2f08b592841780fdc1bf337d75774116e698c4270865275ce7fe64988cd84105138ca979d81818f0065d7ae90f1d0 SHA512 114ef8e52160f5a5239ec306dbd587610849bce771ba8145ed092afd79e44f3ecee93cc1d97e2d5fdb880cc825bbbe928b3ef6701fd3b1fa444053894be1098a DIST efitools-1.8.1.tar.gz 115319 BLAKE2B 3aad65defc203055122027cc3a48f50912d2f08b592841780fdc1bf337d75774116e698c4270865275ce7fe64988cd84105138ca979d81818f0065d7ae90f1d0 SHA512 114ef8e52160f5a5239ec306dbd587610849bce771ba8145ed092afd79e44f3ecee93cc1d97e2d5fdb880cc825bbbe928b3ef6701fd3b1fa444053894be1098a
DIST efitools-1.9.2.tar.gz 116037 BLAKE2B b3540932eb112e362fd0eed47090360603807dcaec8c6a10058618f8252eeb5dcbbd703d313cb6fadae62c1312815080cf2c77fc86f9dfc9f9afca24ad97f584 SHA512 77e0ad7e865814ed388ff6daabe0f4b49ba51672bf2cbb98b7905e209cbd28f9ede2f73213ce45af8a978c1e67dba24ec88a1188661317cc22317b47e575cde8

View File

@ -1,33 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
inherit eutils
DESCRIPTION="Tools for manipulating UEFI secure boot platforms"
HOMEPAGE="https://git.kernel.org/cgit/linux/kernel/git/jejb/efitools.git"
SRC_URI="https://git.kernel.org/cgit/linux/kernel/git/jejb/efitools.git/snapshot/v${PV}.tar.bz2 -> ${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="libressl"
RDEPEND="
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
sys-apps/util-linux"
DEPEND="${RDEPEND}
sys-apps/help2man
>=sys-boot/gnu-efi-3.0u
app-crypt/sbsigntools
virtual/pkgconfig
dev-perl/File-Slurp"
S=${WORKDIR}/v${PV}
src_prepare() {
epatch "${FILESDIR}/1.7.0-Make.rules.patch"
epatch_user
}

View File

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation # Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
EAPI=6 EAPI=6
@ -12,10 +12,9 @@ SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/jejb/efitools.git/snaps
LICENSE="GPL-2 LGPL-2.1" LICENSE="GPL-2 LGPL-2.1"
SLOT="0" SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86" KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="libressl static" IUSE="static"
LIB_DEPEND="!libressl? ( dev-libs/openssl:0=[static-libs(+)] ) LIB_DEPEND="dev-libs/openssl:0=[static-libs(+)]"
libressl? ( dev-libs/libressl:0=[static-libs(+)] )"
RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} ) RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )
sys-apps/util-linux" sys-apps/util-linux"
@ -30,7 +29,7 @@ DEPEND="${RDEPEND}
PATCHES=( PATCHES=(
"${FILESDIR}/1.7.0-Make.rules.patch" "${FILESDIR}/1.7.0-Make.rules.patch"
"${FILESDIR}/${P}-libressl-compatibility.patch" "${FILESDIR}/1.8.1-respect-ar.patch"
) )
src_prepare() { src_prepare() {

View File

@ -0,0 +1,56 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit flag-o-matic toolchain-funcs
DESCRIPTION="Tools for manipulating UEFI secure boot platforms"
HOMEPAGE="https://git.kernel.org/cgit/linux/kernel/git/jejb/efitools.git"
SRC_URI="https://git.kernel.org/pub/scm/linux/kernel/git/jejb/efitools.git/snapshot/${P}.tar.gz"
LICENSE="GPL-2 LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 ~arm64 x86"
IUSE="static"
LIB_DEPEND="dev-libs/openssl:0=[static-libs(+)]"
RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} )
sys-apps/util-linux"
DEPEND="${RDEPEND}
app-crypt/sbsigntools
dev-perl/File-Slurp
static? ( ${LIB_DEPEND} )
sys-apps/help2man
sys-boot/gnu-efi
virtual/pkgconfig"
PATCHES=(
"${FILESDIR}/1.7.0-Make.rules.patch"
"${FILESDIR}/1.8.1-respect-ar.patch"
)
src_prepare() {
if use static; then
append-ldflags -static
sed -i "s/-lcrypto\b/$($(tc-getPKG_CONFIG) --static --libs libcrypto)/g" \
Makefile || die
fi
# Let it build with clang.
if tc-is-clang; then
sed -i -e 's/-fno-toplevel-reorder//g' Make.rules || die
fi
# Respect users CFLAGS
sed -i -e 's/CFLAGS.*= -O2 -g/CFLAGS += /' Make.rules || die
# Respect users LDFLAGS
sed -i -e 's/LDFLAGS/LIBS/g' Make.rules || die
sed -i -e 's/\$(CC)/& $(LDFLAGS)/g' Makefile || die
# Run 'default', to apply user patches
default
}

View File

@ -0,0 +1,25 @@
From 81503d7a43b99c036758d05c1794502c09189fa4 Mon Sep 17 00:00:00 2001
From: Matthias Maier <tamiko@43-1.org>
Date: Tue, 5 Oct 2021 22:27:52 -0500
Subject: [PATCH] Do not use ar directly
---
Make.rules | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Make.rules b/Make.rules
index e46d407..767070d 100644
--- a/Make.rules
+++ b/Make.rules
@@ -129,7 +129,7 @@ getvar = $(shell if [ "$(1)" = "PK" -o "$(1)" = "KEK" ]; then echo $(1); else ec
# sbsign --key KEK.key --cert KEK.crt --output $@ $<
%.a:
- ar rcv $@ $^
+ $(AR) rcv $@ $^
doc/%.1: doc/%.1.in %
$(HELP2MAN) --no-info -i $< -o $@ ./$*
--
2.32.0

View File

@ -1,11 +0,0 @@
--- a/cert-to-efi-hash-list.c 2018-04-21 20:59:24.814748503 +0200
+++ b/cert-to-efi-hash-list.c 2018-04-21 20:59:51.868581307 +0200
@@ -135,7 +135,7 @@
X509 *cert = PEM_read_bio_X509(cert_bio, NULL, NULL, NULL);
unsigned char *cert_buf = NULL;
-#if OPENSSL_VERSION_NUMBER < 0x10100000L
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
int cert_len = i2d_X509_CINF(cert->cert_info, &cert_buf);
#else
int cert_len = i2d_re_X509_tbs(cert, &cert_buf);

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata> <pkgmetadata>
<maintainer type="person"> <maintainer type="person">
<email>tamiko@gentoo.org</email> <email>tamiko@gentoo.org</email>