diff options
Diffstat (limited to 'sys-boot')
5 files changed, 187 insertions, 0 deletions
diff --git a/sys-boot/vboot-utils/Manifest b/sys-boot/vboot-utils/Manifest index e5d6fd4..a8cc8d1 100644 --- a/sys-boot/vboot-utils/Manifest +++ b/sys-boot/vboot-utils/Manifest @@ -1 +1,2 @@ DIST vboot-utils-42_p20150219.tar.xz 18578108 SHA256 058053fd48afeeb30b48c51eb932ee3f477b1e7fc429b56ed776262010f30226 SHA512 bf1b5579f80bfd3804d74f5fed5ca0f85ff3d66cc4efd1c5e744ab0de50309c7e5168fe9a751579e9fcc0cb7dda72fc98497b2e13437b357b0ad9bb063edd33a WHIRLPOOL 01e5ca949ef417930669783d02b03d103005c6daa395f46bb3eab96a8d7de06875e3017697ed42d6200ca8e649b6b21737c5fc773a25da6da7a61c268dceba90 +DIST vboot-utils-51_p20160427.tar.xz 18377808 SHA256 6fc03136474c7cfd88074a9ffe7880dc83917cc0a6be344df422e3f851b50146 SHA512 5b9af2815b8939ae21f4e430744902ccd811627d668eaba709354901eb70553e57050b9068b07fecdfec5bb2ece0c11f1cf0f1a01c0e5f886d1913e1478fe3d7 WHIRLPOOL 4aa9c506c77596b3b598293872ada9cfc127d02f5cf23248ebf131612dcff38058f28bd61d22fc516dfacd7ff9c97d656795cdcce0dd07471930bcc085061a47 diff --git a/sys-boot/vboot-utils/files/vboot-utils-42_p20150219-sysmacros.patch b/sys-boot/vboot-utils/files/vboot-utils-42_p20150219-sysmacros.patch new file mode 100644 index 0000000..508f540 --- /dev/null +++ b/sys-boot/vboot-utils/files/vboot-utils-42_p20150219-sysmacros.patch @@ -0,0 +1,43 @@ +https://chromium-review.googlesource.com/339680 +https://bugs.gentoo.org/580554 + +From 7fff56afefd4e63dce2366636c084d4c1f1f95d4 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <vapier@chromium.org> +Date: Tue, 19 Apr 2016 13:58:49 -0400 +Subject: [PATCH] include sys/sysmacros.h for major() + +The major() func is defined in the sys/sysmacros.h header, so include it +explicitly for the prototype. Upstream C libs are moving away from having +sys/types.h include it all the time implicitly. + +BUG=None +TEST=precq passes +BRANCH=None + +Change-Id: I56b84138f08ded2376193403f9c9db22c5f24f71 +--- + +diff --git a/cgpt/cgpt_wrapper.c b/cgpt/cgpt_wrapper.c +index dcfaab9..1716cdd 100644 +--- a/cgpt/cgpt_wrapper.c ++++ b/cgpt/cgpt_wrapper.c +@@ -18,6 +18,7 @@ + #include <stdio.h> + #include <string.h> + #include <sys/stat.h> ++#include <sys/sysmacros.h> + #include <sys/types.h> + #include <unistd.h> + +diff --git a/futility/dump_kernel_config_lib.c b/futility/dump_kernel_config_lib.c +index 4fe990c..abf37ae 100644 +--- a/futility/dump_kernel_config_lib.c ++++ b/futility/dump_kernel_config_lib.c +@@ -10,6 +10,7 @@ + #include <string.h> + #include <sys/mman.h> + #include <sys/stat.h> ++#include <sys/sysmacros.h> + #include <sys/types.h> + #include <unistd.h> + diff --git a/sys-boot/vboot-utils/files/vboot-utils-51_p20160427-fix-format-conversion-specifiers-for-correct-types.patch b/sys-boot/vboot-utils/files/vboot-utils-51_p20160427-fix-format-conversion-specifiers-for-correct-types.patch new file mode 100644 index 0000000..1c6e579 --- /dev/null +++ b/sys-boot/vboot-utils/files/vboot-utils-51_p20160427-fix-format-conversion-specifiers-for-correct-types.patch @@ -0,0 +1,43 @@ +--- utility/bmpblk_utility.cc.orig 2016-05-09 14:33:53.521158230 -0700 ++++ utility/bmpblk_utility.cc 2016-05-09 14:47:38.203470874 -0700 +@@ -101,11 +101,11 @@ + // The number of localizations should match the number of locale_index + + if (debug_) { +- printf("%ld image_names\n", config_.image_names.size()); ++ printf("%zu image_names\n", config_.image_names.size()); + for (unsigned int i = 0; i < config_.image_names.size(); ++i) { + printf(" %d: \"%s\"\n", i, config_.image_names[i].c_str()); + } +- printf("%ld images_map\n", config_.images_map.size()); ++ printf("%zu images_map\n", config_.images_map.size()); + for (StrImageConfigMap::iterator it = config_.images_map.begin(); + it != config_.images_map.end(); + ++it) { +@@ -116,7 +116,7 @@ + it->second.data.tag, + it->second.data.format); + } +- printf("%ld screens_map\n", config_.screens_map.size()); ++ printf("%zu screens_map\n", config_.screens_map.size()); + for (StrScreenConfigMap::iterator it = config_.screens_map.begin(); + it != config_.screens_map.end(); + ++it) { +@@ -593,7 +593,7 @@ + current_filled += sizeof(it->second.data); + current_offset += sizeof(it->second.data); + if (debug_) +- printf("I1: current offset is 0x%08x (len %ld)\n", ++ printf("I1: current offset is 0x%08x (len %zu)\n", + current_offset, it->second.compressed_content.length()); + std::copy(it->second.compressed_content.begin(), + it->second.compressed_content.end(), +@@ -605,7 +605,7 @@ + current_offset = config_.header.locale_string_offset; + current_filled = bmpblock_.begin() + current_offset; + if (debug_) +- printf("locale_names: offset 0x%08x (len %ld)\n", ++ printf("locale_names: offset 0x%08x (len %zu)\n", + current_offset, config_.locale_names.size()); + std::copy(config_.locale_names.begin(), + config_.locale_names.end(), diff --git a/sys-boot/vboot-utils/metadata.xml b/sys-boot/vboot-utils/metadata.xml new file mode 100644 index 0000000..9702246 --- /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>zmedico@gentoo.org</email> + </maintainer> + <maintainer type="person"> + <email>vapier@gentoo.org</email> + </maintainer> +</pkgmetadata> diff --git a/sys-boot/vboot-utils/vboot-utils-51_p20160427.ebuild b/sys-boot/vboot-utils/vboot-utils-51_p20160427.ebuild new file mode 100644 index 0000000..a56da78 --- /dev/null +++ b/sys-boot/vboot-utils/vboot-utils-51_p20160427.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils toolchain-funcs + +# This is the latest commit in the latest branch. +GIT_SHA1="48b1a50b086e39332d2e1e51a73434e39c40b329" + +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" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~mips ~x86" +IUSE="minimal static" + +LIB_DEPEND="dev-libs/openssl:0=[static-libs(+)] + sys-apps/util-linux:=[static-libs(+)]" +RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs(+)]} ) + !minimal? ( + app-arch/xz-utils:= + dev-libs/libyaml:= + )" +DEPEND="${RDEPEND} + static? ( ${LIB_DEPEND} ) + app-crypt/trousers" + +S=${WORKDIR} + +src_prepare() { + sed -i \ + -e 's: -Werror : :g' \ + -e 's:${DESTDIR}/\(bin\|${LIBDIR}\):${DESTDIR}/usr/\1:g' \ + -e 's:${DESTDIR}/default:${DESTDIR}/etc/default:g' \ + Makefile || die + + epatch "${FILESDIR}"/${P}-fix-format-conversion-specifiers-for-correct-types.patch +} + +_emake() { + local arch=$(tc-arch) + emake \ + V=1 \ + QEMU_ARCH= \ + ARCH=${arch} \ + HOST_ARCH=${arch} \ + LIBDIR="$(get_libdir)" \ + DEBUG_FLAGS= \ + 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 +} |