commit:     a745103590ae417c7505f88efa49a0c3ca306a1b
Author:     Sebastian Hamann <code <AT> ares-macrotechnology <DOT> com>
AuthorDate: Sun Nov  7 12:05:23 2021 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Wed Nov 10 10:57:31 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a7451035

app-emulation/firecracker-bin: Bump to 0.25.1, install seccompiler

Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Sebastian Hamann <code <AT> ares-macrotechnology.com>
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 app-emulation/firecracker-bin/Manifest             |  2 +
 .../firecracker-bin/firecracker-bin-0.25.1.ebuild  | 83 ++++++++++++++++++++++
 2 files changed, 85 insertions(+)

diff --git a/app-emulation/firecracker-bin/Manifest 
b/app-emulation/firecracker-bin/Manifest
index fdce422ba0c..76006a81ddc 100644
--- a/app-emulation/firecracker-bin/Manifest
+++ b/app-emulation/firecracker-bin/Manifest
@@ -2,3 +2,5 @@ DIST firecracker-v0.24.5-aarch64.tgz 1426237 BLAKE2B 
11e260d4afcd5f5ebabeb5c7730
 DIST firecracker-v0.24.5-x86_64.tgz 1432963 BLAKE2B 
70e16dc651ae1071b9f223f0a21eaba6a8ad515d75847698cbf67ac73053cb8c52d67cd46a315e5681dadbab92ecc4d0d43ecbba9928dc2f52a5168c0a889a97
 SHA512 
746f1af7a37b2ecdd86faee75ee0cacf01aa80aa6f060cc75761f930df0da9a6f6597fea4235035ba10f6198909b5b2f7a834571c52d73e647611f9be8fa0967
 DIST firecracker-v0.25.0-aarch64.tgz 1747986 BLAKE2B 
cbfbe04326f78491fccbde69ae28552db255ef88b1da4a6d3ba62fd8aac34e935677e7fc8d71d8efa56f87f764dfd17b3da6ff688fd0602f0b414060a402c0d2
 SHA512 
2cc1882782e26492979c06fef06f162d4f1d20a8e1cacc2680b3ea54d6f028b951c6a14f1a3d4169079cd407f9e6e77c49e64b8dbebd4e329b683a1f38f90298
 DIST firecracker-v0.25.0-x86_64.tgz 1773525 BLAKE2B 
e870c7d021f6c5b960c52883ab659fc33fec3b39314ec1ca5448f02b9596e88192831639c6817048b97954d28866eaa7b94b50821a6c991def345bce3b47b9bb
 SHA512 
ffd3e9dfe7e2b29ce6c9ef61504056844d7081850dfe484ddb207d7339242819adf6d7a43e9c812c032fcf606daca8d10c125071d11dd5cfe431de41eb557c0f
+DIST firecracker-v0.25.1-aarch64.tgz 1746829 BLAKE2B 
613e575d06cd9e482cec705a1775099b4587311a579e3146f7b35bf2d26293384d5092106c7e666e1858c7d898cccb3a5173afcba57f8cce1b8a81547505c0e5
 SHA512 
1e3217a94f1a43b2ef84a5a07d2f1f2690ae1129787cb286ac4f1b8c82dbd15d7489149222f22cb58a9628e8cd1704cf387c17e71053367218425881f73610e5
+DIST firecracker-v0.25.1-x86_64.tgz 1773703 BLAKE2B 
d577dfad765b8135471a673e9699c75bb7905e73496b7e9940a7634182267a1b3bfd8111088db4e1103da47e64159c585d46f8a9fb913ba3dcb1d4d1fe5f9920
 SHA512 
8108b7576655ae31c97f6349f5dd530aca2828acbb0d4589d6d0c113d44c4e14b28c4d76f73fe16c5538ce4940bd86e913e97ad35d7f915f8199bceaf4f74fe3

diff --git a/app-emulation/firecracker-bin/firecracker-bin-0.25.1.ebuild 
b/app-emulation/firecracker-bin/firecracker-bin-0.25.1.ebuild
new file mode 100644
index 00000000000..11497d56c91
--- /dev/null
+++ b/app-emulation/firecracker-bin/firecracker-bin-0.25.1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit linux-info
+
+DESCRIPTION="Secure and fast microVMs for serverless computing (static build)"
+HOMEPAGE="https://firecracker-microvm.github.io 
https://github.com/firecracker-microvm/firecracker";
+SRC_URI="
+       amd64? (
+               
https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-x86_64.tgz
+       )
+       arm64? (
+               
https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-aarch64.tgz
+       )"
+
+LICENSE="|| ( Apache-2.0 MIT Apache-2.0-with-LLVM-exceptions ) MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RESTRICT="test strip"
+
+RDEPEND="!app-emulation/firecracker
+       acct-group/kvm"
+
+QA_PREBUILT="/usr/bin/firecracker
+       /usr/bin/jailer"
+
+S="${WORKDIR}"
+
+pkg_pretend() {
+       if use kernel_linux && kernel_is lt 4 14; then
+               eerror "Firecracker requires a host kernel of 4.14 or higher."
+       elif use kernel_linux; then
+               if ! linux_config_exists; then
+                       eerror "Unable to check your kernel for KVM support"
+               else
+                       CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
+                       CONFIG_CHECK="~KVM ~TUN ~BRIDGE ~VHOST_VSOCK"
+                       ERROR_KVM_AMD="If you have an AMD CPU, you must enable 
KVM_AMD in"
+                       ERROR_KVM_AMD+=" your kernel configuration."
+                       ERROR_KVM_INTEL="If you have an Intel CPU, you must 
enable"
+                       ERROR_KVM_INTEL+=" KVM_INTEL in your kernel 
configuration."
+                       ERROR_TUN="You will need the Universal TUN/TAP driver 
compiled"
+                       ERROR_TUN+=" into your kernel or loaded as a module to 
use"
+                       ERROR_TUN+=" virtual network devices."
+                       ERROR_BRIDGE="You will also need support for 802.1d"
+                       ERROR_BRIDGE+=" Ethernet Bridging for some network 
configurations."
+                       ERROR_VHOST_VSOCK="To use AF_VSOCK sockets for 
communication"
+                       ERROR_VHOST_VSOCK+=" between host and guest, you will 
need to enable"
+                       ERROR_VHOST_VSOCK+=" the vhost virtio-vsock driver in 
your kernel."
+
+                       if use amd64 || use amd64-linux; then
+                               if grep -q AuthenticAMD /proc/cpuinfo; then
+                                       CONFIG_CHECK+=" ~KVM_AMD"
+                               elif grep -q GenuineIntel /proc/cpuinfo; then
+                                       CONFIG_CHECK+=" ~KVM_INTEL"
+                               fi
+                       fi
+
+                       # Now do the actual checks setup above
+                       check_extra_config
+               fi
+       fi
+}
+
+src_compile() { :; }
+
+src_install() {
+       if use amd64; then
+               my_arch=x86_64
+       elif use arm64; then
+               my_arch=aarch64
+       fi
+
+       dodoc "release-v${PV}-${my_arch}/firecracker_spec-v${PV}.yaml"
+       dodoc "release-v${PV}-${my_arch}/seccomp-filter-v${PV}-${my_arch}.json"
+
+       newbin "release-v${PV}-${my_arch}/firecracker-v${PV}-${my_arch}" 
firecracker
+       newbin "release-v${PV}-${my_arch}/jailer-v${PV}-${my_arch}" jailer
+       newbin "release-v${PV}-${my_arch}/seccompiler-bin-v${PV}-${my_arch}" 
seccompiler-bin
+}

Reply via email to