commit: b6cab09bc706e64c167873c95eeb0edaf2187035 Author: Quentin Retornaz <gentoo <AT> retornaz <DOT> com> AuthorDate: Sun Jan 17 20:50:40 2021 +0000 Commit: Quentin Retornaz <gentoo <AT> retornaz <DOT> com> CommitDate: Sun Jan 17 20:50:40 2021 +0000 URL: https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=b6cab09b
sys-boot/vboot-utils: new package Package-Manager: Portage-3.0.12, Repoman-3.0.2 Signed-off-by: Quentin Retornaz <gentoo <AT> retornaz.com> sys-boot/vboot-utils/Manifest | 2 + .../files/vboot-utils-72_p20181229-libressl.patch | 11 +++ .../files/vboot-utils-80-musl-fts.patch | 17 ++++ sys-boot/vboot-utils/metadata.xml | 15 +++ .../vboot-utils/vboot-utils-72_p20181229-r1.ebuild | 101 ++++++++++++++++++++ .../vboot-utils/vboot-utils-80_p20200108.ebuild | 104 +++++++++++++++++++++ 6 files changed, 250 insertions(+) diff --git a/sys-boot/vboot-utils/Manifest b/sys-boot/vboot-utils/Manifest new file mode 100644 index 0000000..94f473c --- /dev/null +++ b/sys-boot/vboot-utils/Manifest @@ -0,0 +1,2 @@ +DIST vboot-utils-72_p20181229.tar.xz 18489004 BLAKE2B 444eb0bc2c571ad79d26d473da724016d6d041207beaae161f6c1155768ff9d0b1c8b7b070b828083cc1396266cc77175a75e8067ce22613c75b4d77780dda75 SHA512 41df034dc5498bcbec0d49a472331ceb2fbc2eb3b4173d5c56e920d65ae485382b3d811e5f2c13cf45a1b05a5d6a24197924fa1c76ada9c3aac14fa3c4c363fe +DIST vboot-utils-80_p20200108.tar.xz 18448212 BLAKE2B f7e375133fb6dc90def1e22c42c7511a3b649c34d067a447f44fb99c1ec37a73d034837c2212e5d6ad368a4f4b011c8cb9eb479e81db4a52b1160cda99382a77 SHA512 077d137d8fe89f35b6f7ec6408b2e9fc7a28765b0987646c1964e6e0c039e359711ab79958c45ee555a0fe810997217225d072a7f1011b1c73c4aefb4e57fcc1 diff --git a/sys-boot/vboot-utils/files/vboot-utils-72_p20181229-libressl.patch b/sys-boot/vboot-utils/files/vboot-utils-72_p20181229-libressl.patch new file mode 100644 index 0000000..6702a9f --- /dev/null +++ b/sys-boot/vboot-utils/files/vboot-utils-72_p20181229-libressl.patch @@ -0,0 +1,11 @@ +--- a/host/include/openssl_compat.h 2019-01-03 17:32:20.000000000 -0500 ++++ b/host/include/openssl_compat.h 2019-02-23 13:40:27.521664838 -0500 +@@ -12,7 +12,7 @@ + + #include <openssl/rsa.h> + +-#if OPENSSL_VERSION_NUMBER < 0x10100000L ++#if OPENSSL_VERSION_NUMBER < 0x10100000L || LIBRESSL_VERSION_NUMBER < 0x2080000L + + static inline void RSA_get0_key(const RSA *rsa, const BIGNUM **n, + const BIGNUM **e, const BIGNUM **d) diff --git a/sys-boot/vboot-utils/files/vboot-utils-80-musl-fts.patch b/sys-boot/vboot-utils/files/vboot-utils-80-musl-fts.patch new file mode 100644 index 0000000..bd291f9 --- /dev/null +++ b/sys-boot/vboot-utils/files/vboot-utils-80-musl-fts.patch @@ -0,0 +1,17 @@ +--- a/Makefile ++++ b/Makefile +@@ -231,4 +231,7 @@ + ifndef HAVE_MUSL + CFLAGS += -DHAVE_EXECINFO_H ++# Musl doesn't have fts.h so enable linking to the standalone lib. ++else ++ MUSL_LIBS := -lfts + endif + +@@ -1043,5 +1046,5 @@ + + # FUTIL_LIBS is shared by FUTIL_BIN and TEST_FUTIL_BINS. +-FUTIL_LIBS = ${CRYPTO_LIBS} ${LIBZIP_LIBS} ++FUTIL_LIBS = ${CRYPTO_LIBS} ${LIBZIP_LIBS} ${MUSL_LIBS} + + ${FUTIL_BIN}: LDLIBS += ${FUTIL_LIBS} diff --git a/sys-boot/vboot-utils/metadata.xml b/sys-boot/vboot-utils/metadata.xml new file mode 100644 index 0000000..c4bb35a --- /dev/null +++ b/sys-boot/vboot-utils/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <upstream> + <bugs-to>http://crbug.com</bugs-to> + <changelog>https://chromium.googlesource.com/chromiumos/platform/vboot_reference/+log/master</changelog> + <doc>https://chromium.googlesource.com/chromiumos/platform/vboot_reference/+/master/README</doc> + </upstream> + <maintainer type="person"> + <email>zmed...@gentoo.org</email> + </maintainer> + <use> + <flag name="libzip">Use dev-libs/libzip.</flag> + </use> +</pkgmetadata> diff --git a/sys-boot/vboot-utils/vboot-utils-72_p20181229-r1.ebuild b/sys-boot/vboot-utils/vboot-utils-72_p20181229-r1.ebuild new file mode 100644 index 0000000..c4798ea --- /dev/null +++ b/sys-boot/vboot-utils/vboot-utils-72_p20181229-r1.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils toolchain-funcs + +# This is the latest commit in the latest branch. +GIT_SHA1="a32c930e8c46424a3bba3c296fd78b3e60f50aeb" + +DESCRIPTION="Chrome OS verified boot tools" +HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/vboot_reference/ http://dev.chromium.org/chromium-os/chromiumos-design-docs/verified-boot" +# Can't use gitiles directly until b/19710536 is fixed. +#SRC_URI="https://chromium.googlesource.com/chromiumos/platform/vboot_reference/+archive/${GIT_SHA1}.tar.gz -> ${P}.tar.gz" +SRC_URI="mirror://gentoo/${P}.tar.xz + https://dev.gentoo.org/~zmedico/dist/${P}.tar.xz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~mips ~x86" +IUSE="libressl minimal static" + +LIB_DEPEND=" + dev-libs/libyaml:=[static-libs(+)] + app-arch/xz-utils:=[static-libs(+)]" +LIB_DEPEND_MINIMAL=" + !libressl? ( dev-libs/openssl:0=[static-libs(+)] ) + libressl? ( dev-libs/libressl:0=[static-libs(+)] ) + sys-apps/util-linux:=[static-libs(+)] + dev-libs/libzip:=[static-libs(+)]" +RDEPEND="!static? ( + ${LIB_DEPEND_MINIMAL//\[static-libs(+)]} + !minimal? ( ${LIB_DEPEND//\[static-libs(+)]} ) + ) + elibc_musl? ( sys-libs/fts-standalone )" +DEPEND="${RDEPEND} + static? ( + ${LIB_DEPEND_MINIMAL} + !minimal? ( ${LIB_DEPEND} ) + ) + app-crypt/trousers" + +S=${WORKDIR} + +src_prepare() { + eapply "${FILESDIR}"/${P}-libressl.patch + + default + sed -i \ + -e 's:${DESTDIR}/\(bin\|${LIBDIR}\):${DESTDIR}/usr/\1:g' \ + -e 's:${DESTDIR}/default:${DESTDIR}/etc/default:g' \ + -e 's:${TEST_INSTALL_DIR}/bin:${TEST_INSTALL_DIR}/usr/bin:' \ + -e '/cgpt -D 358400/d' \ + Makefile || die + sed -e 's:^BIN_DIR=${BUILD_DIR}/install_for_test/bin:BIN_DIR=${BUILD_DIR}/install_for_test/usr/bin:' \ + -i tests/common.sh || die + sed -e "s:/mnt/host/source/src/platform/vboot_reference:${S}:" \ + -i tests/futility/expect_output/* || die +} + +_emake() { + local arch=$(tc-arch) + emake \ + V=1 \ + QEMU_ARCH= \ + ARCH=${arch} \ + HOST_ARCH=${arch} \ + LIBDIR="$(get_libdir)" \ + DEBUG_FLAGS= \ + WERROR= \ + MINIMAL=$(usev minimal) \ + STATIC=$(usev static) \ + $(usex elibc_musl HAVE_MUSL=1 "") \ + "$@" +} + +src_compile() { + tc-export CC AR CXX PKG_CONFIG + _emake TEST_BINS= all +} + +src_test() { + _emake runtests +} + +src_install() { + _emake DESTDIR="${ED}" install + + insinto /usr/share/vboot/devkeys + doins tests/devkeys/* + + insinto /usr/include/vboot + doins host/include/* \ + firmware/include/gpt.h \ + firmware/include/tlcl.h \ + firmware/include/tss_constants.h + + dolib.a build/libvboot_host.a + + dodoc README +} diff --git a/sys-boot/vboot-utils/vboot-utils-80_p20200108.ebuild b/sys-boot/vboot-utils/vboot-utils-80_p20200108.ebuild new file mode 100644 index 0000000..c3388e7 --- /dev/null +++ b/sys-boot/vboot-utils/vboot-utils-80_p20200108.ebuild @@ -0,0 +1,104 @@ +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit toolchain-funcs + +# Can't use gitiles directly until b/19710536 is fixed. +# This is the name of the latest release branch. +#RELEASE="release-R80-12739.B" +# This is the latest commit in the release-R80-12739.B branch. +#GIT_SHA1="236bd46bfb59f0262dcb1771a108ebb5e90df578" + +DESCRIPTION="Chrome OS verified boot tools" +HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform/vboot_reference/ https://dev.chromium.org/chromium-os/chromiumos-design-docs/verified-boot" +# Can't use gitiles directly until b/19710536 is fixed. +#SRC_URI="https://chromium.googlesource.com/chromiumos/platform/vboot_reference/+archive/refs/heads/${RELEASE}.tar.gz -> ${P}.tar.gz" +#SRC_URI="https://chromium.googlesource.com/chromiumos/platform/vboot_reference/+archive/${GIT_SHA1}.tar.gz -> ${P}.tar.gz" +SRC_URI="mirror://gentoo/${P}.tar.xz + https://dev.gentoo.org/~zmedico/dist/${P}.tar.xz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~mips ~x86" +IUSE="libressl +libzip minimal static" + +LIB_DEPEND=" + dev-libs/libyaml:=[static-libs(+)] + app-arch/xz-utils:=[static-libs(+)]" +LIB_DEPEND_MINIMAL=" + elibc_musl? ( sys-libs/fts-standalone:=[static-libs(+)] ) + !libressl? ( dev-libs/openssl:0=[static-libs(+)] ) + libressl? ( dev-libs/libressl:0=[static-libs(+)] ) + libzip? ( dev-libs/libzip:=[static-libs(+)] ) + sys-apps/util-linux:=[static-libs(+)]" +RDEPEND="!static? ( + ${LIB_DEPEND_MINIMAL//\[static-libs(+)]} + !minimal? ( ${LIB_DEPEND//\[static-libs(+)]} ) + )" +DEPEND="${RDEPEND} + static? ( + ${LIB_DEPEND_MINIMAL} + !minimal? ( ${LIB_DEPEND} ) + ) + app-crypt/trousers" +BDEPEND="virtual/pkgconfig" + +S=${WORKDIR} + +PATCHES=( + # Bug #687820 + "${FILESDIR}"/${PN}-80-musl-fts.patch +) + +src_prepare() { + default + + # Bug #687008 + if ! use libzip; then + sed -e 's|^\(LIBZIP_VERSION :=\).*|\1|' -i Makefile || die + fi + + sed -i \ + -e 's:${DESTDIR}/\(bin\|include\|${LIBDIR}\|share\):${DESTDIR}/usr/\1:g' \ + -e 's:${DESTDIR}/default:${DESTDIR}/etc/default:g' \ + -e 's:${TEST_INSTALL_DIR}/bin:${TEST_INSTALL_DIR}/usr/bin:' \ + Makefile || die + sed -e 's:^BIN_DIR=${BUILD_DIR}/install_for_test/bin:BIN_DIR=${BUILD_DIR}/install_for_test/usr/bin:' \ + -i tests/common.sh || die +} + +_emake() { + local arch=$(tc-arch) + emake \ + V=1 \ + QEMU_ARCH= \ + ARCH=${arch} \ + HOST_ARCH=${arch} \ + LIBDIR="$(get_libdir)" \ + DEBUG_FLAGS= \ + WERROR= \ + MINIMAL=$(usev minimal) \ + STATIC=$(usev static) \ + $(usex elibc_musl HAVE_MUSL=1 "") \ + "$@" +} + +src_compile() { + tc-export CC AR CXX PKG_CONFIG + _emake FUZZ_TEST_BINS= TEST_BINS= all +} + +src_test() { + _emake runtests +} + +src_install() { + _emake DESTDIR="${ED}" install install_dev + + insinto /usr/share/vboot/devkeys + doins tests/devkeys/* + + dodoc README +}