aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-boot')
-rw-r--r--sys-boot/vboot-utils/Manifest1
-rw-r--r--sys-boot/vboot-utils/files/vboot-utils-42_p20150219-sysmacros.patch43
-rw-r--r--sys-boot/vboot-utils/files/vboot-utils-51_p20160427-fix-format-conversion-specifiers-for-correct-types.patch43
-rw-r--r--sys-boot/vboot-utils/metadata.xml15
-rw-r--r--sys-boot/vboot-utils/vboot-utils-51_p20160427.ebuild85
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
+}