Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/firecracker-bin/
Date: Thu, 19 May 2022 02:20:24
Message-Id: 1652926221.6a53c56ef5c0e28e00e82e7f0ccb163fcef622fd.sam@gentoo
1 commit: 6a53c56ef5c0e28e00e82e7f0ccb163fcef622fd
2 Author: Ilya Mochalov <chrootsu <AT> gmail <DOT> com>
3 AuthorDate: Thu May 12 02:25:10 2022 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Thu May 19 02:10:21 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6a53c56e
7
8 app-emulation/firecracker-bin: 1.1.0 version bump
9
10 Signed-off-by: Ilya Mochalov <chrootsu <AT> gmail.com>
11 Closes: https://github.com/gentoo/gentoo/pull/25451
12 Signed-off-by: Sam James <sam <AT> gentoo.org>
13
14 app-emulation/firecracker-bin/Manifest | 2 +
15 .../firecracker-bin/firecracker-bin-1.1.0.ebuild | 83 ++++++++++++++++++++++
16 2 files changed, 85 insertions(+)
17
18 diff --git a/app-emulation/firecracker-bin/Manifest b/app-emulation/firecracker-bin/Manifest
19 index d86a65faef32..71da0968c9cc 100644
20 --- a/app-emulation/firecracker-bin/Manifest
21 +++ b/app-emulation/firecracker-bin/Manifest
22 @@ -8,3 +8,5 @@ DIST firecracker-v0.25.2-aarch64.tgz 1750770 BLAKE2B 8b34e8be4965e048e51ef60c893
23 DIST firecracker-v0.25.2-x86_64.tgz 1773163 BLAKE2B dd1287cbbc2955368011417b56d24d7ab4d44b5d102a38541b5038d7a400dad71393ba25ab831cacf0aca8c1e6e344f56fb668af88ebb4c379941bed152a5e71 SHA512 24d7a466019e786ded7eb6747108123c1f177e86d3197738ffc646a2f27f642576e052a8b52a0b75fa3b53de6e0a2828defa5dbba62b208e8c262248240c5059
24 DIST firecracker-v1.0.0-aarch64.tgz 1645541 BLAKE2B 4ddc94567209078cd6449f52b77ec56514d7a6a284f3ca9736379070ec0048b5ae03159903ca7c85ba08732f4c341d4140165479b289be6cecc0de02e94bbd60 SHA512 3294d4f86b493841e00be26b8843add4cd04bd73a9006b22def101c5aa064489bd3287bdc1b3bcb6a4534205c36aeefe26f28a0fa934ae655cd24ac397175f09
25 DIST firecracker-v1.0.0-x86_64.tgz 1670233 BLAKE2B a715514f8497a694d29c33872f3521c11098f7b86e035b7ebe4ba9d912b60be9f1b6ecd03e60fa515223f72b7962613907855bb63d64650a8a62e2c23acd0233 SHA512 ecfae6adde808bbb1829c3fcf47e7ffe5eeeeca6d68c73b8d631015c09463b4912d5d66f46e0a68fef671498875567e14631ae370a5049d70f2976cf7fb93314
26 +DIST firecracker-v1.1.0-aarch64.tgz 1872949 BLAKE2B 41d898e3b22a7e53ce3581d1e74b970b393c2677ced7a7f9ceb70f39a3e89214c849728b005b26c38668364f36f8b9c7ec7661d60886f5ea3b7a154625d6ec83 SHA512 b04a4d9a0b1e7606efad5c1a019c346c7ac725d8acb92b393bcf0669f0ae690385e673ea81f44b171854dcc065d3fb59fbddd3e91db6eac78de05713a4d8505e
27 +DIST firecracker-v1.1.0-x86_64.tgz 1896567 BLAKE2B 4f3cee9c144e152c15d64d80c708a1969bc57fdc951f8fe54f40a778b83a1ef7141cd0a6abe6014c20aa20958f0e02749712ebfb39896006e0291d94a12d743e SHA512 ca7efe3208560e4e7e50a4b57f875cea0677383f3867bf961747c44aa51ebe66abfc104e5c0e80783d286c95d38b97751c6cda1840942f463c0749c9340fee5a
28
29 diff --git a/app-emulation/firecracker-bin/firecracker-bin-1.1.0.ebuild b/app-emulation/firecracker-bin/firecracker-bin-1.1.0.ebuild
30 new file mode 100644
31 index 000000000000..4c8acf462668
32 --- /dev/null
33 +++ b/app-emulation/firecracker-bin/firecracker-bin-1.1.0.ebuild
34 @@ -0,0 +1,83 @@
35 +# Copyright 2021-2022 Gentoo Authors
36 +# Distributed under the terms of the GNU General Public License v2
37 +
38 +EAPI=8
39 +
40 +inherit linux-info
41 +
42 +DESCRIPTION="Secure and fast microVMs for serverless computing (static build)"
43 +HOMEPAGE="https://firecracker-microvm.github.io https://github.com/firecracker-microvm/firecracker"
44 +SRC_URI="
45 + amd64? (
46 + https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-x86_64.tgz
47 + )
48 + arm64? (
49 + https://github.com/firecracker-microvm/firecracker/releases/download/v${PV}/firecracker-v${PV}-aarch64.tgz
50 + )"
51 +
52 +LICENSE="|| ( Apache-2.0 MIT Apache-2.0-with-LLVM-exceptions ) MPL-2.0"
53 +SLOT="0"
54 +KEYWORDS="~amd64 ~arm64"
55 +
56 +RESTRICT="test strip"
57 +
58 +RDEPEND="!app-emulation/firecracker
59 + acct-group/kvm"
60 +
61 +QA_PREBUILT="usr/bin/firecracker
62 + usr/bin/jailer
63 + usr/bin/rebase-snap
64 + usr/bin/seccompiler-bin"
65 +
66 +S="${WORKDIR}"
67 +
68 +pkg_pretend() {
69 + if use kernel_linux && kernel_is lt 4 14; then
70 + eerror "Firecracker requires a host kernel of 4.14 or higher."
71 + elif use kernel_linux; then
72 + if ! linux_config_exists; then
73 + eerror "Unable to check your kernel for KVM support"
74 + else
75 + CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
76 + ERROR_KVM="You must enable KVM in your kernel to continue"
77 + ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
78 + ERROR_KVM_AMD+=" your kernel configuration."
79 + ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
80 + ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
81 + ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
82 + ERROR_TUN+=" into your kernel or loaded as a module to use"
83 + ERROR_TUN+=" virtual network devices."
84 + ERROR_BRIDGE="You will also need support for 802.1d"
85 + ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
86 +
87 + if use amd64 || use amd64-linux; then
88 + if grep -q AuthenticAMD /proc/cpuinfo; then
89 + CONFIG_CHECK+=" ~KVM_AMD"
90 + elif grep -q GenuineIntel /proc/cpuinfo; then
91 + CONFIG_CHECK+=" ~KVM_INTEL"
92 + fi
93 + fi
94 +
95 + # Now do the actual checks setup above
96 + check_extra_config
97 + fi
98 + fi
99 +}
100 +
101 +src_compile() { :; }
102 +
103 +src_install() {
104 + if use amd64; then
105 + my_arch=x86_64
106 + elif use arm64; then
107 + my_arch=aarch64
108 + fi
109 +
110 + dodoc "release-v${PV}-${my_arch}/firecracker_spec-v${PV}.yaml"
111 + dodoc "release-v${PV}-${my_arch}/seccomp-filter-v${PV}-${my_arch}.json"
112 +
113 + newbin "release-v${PV}-${my_arch}/firecracker-v${PV}-${my_arch}" firecracker
114 + newbin "release-v${PV}-${my_arch}/jailer-v${PV}-${my_arch}" jailer
115 + newbin "release-v${PV}-${my_arch}/rebase-snap-v${PV}-${my_arch}" rebase-snap
116 + newbin "release-v${PV}-${my_arch}/seccompiler-bin-v${PV}-${my_arch}" seccompiler-bin
117 +}