diff options
Diffstat (limited to 'app-emulation')
-rw-r--r-- | app-emulation/firecracker-bin/Manifest | 2 | ||||
-rw-r--r-- | app-emulation/firecracker-bin/firecracker-bin-1.3.1.ebuild | 82 |
2 files changed, 84 insertions, 0 deletions
diff --git a/app-emulation/firecracker-bin/Manifest b/app-emulation/firecracker-bin/Manifest index 16bac94a56f3..bf72a14254fd 100644 --- a/app-emulation/firecracker-bin/Manifest +++ b/app-emulation/firecracker-bin/Manifest @@ -10,3 +10,5 @@ DIST firecracker-v1.1.3-aarch64.tgz 2066398 BLAKE2B 0ac0027f6c96e1d8dc72ccb87a1b DIST firecracker-v1.1.3-x86_64.tgz 2034217 BLAKE2B 7d2f7dc4e4189305db872222d27802f03af8ddc0b5dc1a13e891b662aa50138b5cf5e31935d271a4abcf0052593443634bc9a7e93f5609a03ad16618db9e12ed SHA512 ce0b2723c26cee301de5a47579a578824f583fbf057be6b05737e6474d5591da36816224171d8136de0deb16101ecfd57d4a885cfcf46aa2043ef41e54d79eab DIST firecracker-v1.2.0-aarch64.tgz 4060245 BLAKE2B 28434aa623eb473b1886e5a6da2a2b97a7bb1f6d6692724dccbeaef49cbd2204f3d0f409c59a1ca54b293f15b83ced5eb545d9c93c450048cb9f652e99c97a3c SHA512 c0ce21fb54fd16e0b649da65a05cbd43af470b5b8660a1b86cbcd7220c88ca535e5e107114c6ff30cd1d8818d046c741af0365ce6c2f25b7b2cac5b13f77634e DIST firecracker-v1.2.0-x86_64.tgz 3932475 BLAKE2B 3db4b5f0746db48e8cd6e00735ba859e16b1bec94a23854cdc3af65d032773c596e8b52cf0a0cd40e363de1a5c67817176a5287af9c692167e8f4681a6b07e9a SHA512 67fcd8b898ebc3207de8f93a466430261c923d27bce97bb32636bd243957cb757da1fc72ebec2751c14205e111d2ffb80c94cfa033aecf715962e59b813fbe5f +DIST firecracker-v1.3.1-aarch64.tgz 4178577 BLAKE2B 80636ee5878acce741f12647c7107b111430ee4a6f1da9e09af44d30bce16ac8e69d11ebc59b6220cbf145882876b38f4ee0e0a7c0050830ee93b6c925c0bd7e SHA512 f82ab276bac1d8187d33b4b0b07e871122170199025ca693d2eaf3a02d93e03dcbfe50af87584a69ac2c00868e0c02a8a7350f5e1b1e9cb196dc52d7c677f539 +DIST firecracker-v1.3.1-x86_64.tgz 4105205 BLAKE2B ab40e91c641c34b621542a991c642be61404aaa77d861341827d0555e5128773f7407277355a342fdc7c4c26d6a604e357901672175ef0a6578b25c9207c2e45 SHA512 272f3579f2943ee32663590e99658ee52cf7b8693b402d2f342e1de8a55fa4c05db5fb4b6a0495c88dfb51f0830640c3e6ef9e1569264f6c2eb9ab99c84bc2b5 diff --git a/app-emulation/firecracker-bin/firecracker-bin-1.3.1.ebuild b/app-emulation/firecracker-bin/firecracker-bin-1.3.1.ebuild new file mode 100644 index 000000000000..ec091124b7ad --- /dev/null +++ b/app-emulation/firecracker-bin/firecracker-bin-1.3.1.ebuild @@ -0,0 +1,82 @@ +# Copyright 2021-2023 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="acct-group/kvm" + +QA_PREBUILT="usr/bin/firecracker + usr/bin/jailer + usr/bin/rebase-snap + usr/bin/seccompiler-bin" + +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" + ERROR_KVM="You must enable KVM in your kernel to continue" + 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." + + 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}/rebase-snap-v${PV}-${my_arch}" rebase-snap + newbin "release-v${PV}-${my_arch}/seccompiler-bin-v${PV}-${my_arch}" seccompiler-bin +} |