Accepting request 933000 from home:olh
PM-2379 OBS-URL: https://build.opensuse.org/request/show/933000 OBS-URL: https://build.opensuse.org/package/show/Cloud:Tools/aws-nitro-enclaves-cli?expand=0&rev=1
This commit is contained in:
commit
72c644286a
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
52
_service
Normal file
52
_service
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
<services>
|
||||||
|
<service name="tar_scm" mode="disabled">
|
||||||
|
<param name="exclude">.github</param>
|
||||||
|
<param name="exclude">CODE_OF_CONDUCT.md</param>
|
||||||
|
<param name="exclude">CONTRIBUTING.md</param>
|
||||||
|
<param name="exclude">Makefile</param>
|
||||||
|
<param name="exclude">NOTICE</param>
|
||||||
|
<param name="exclude">SOURCES</param>
|
||||||
|
<param name="exclude">SPECS</param>
|
||||||
|
<param name="exclude">about.hbs</param>
|
||||||
|
<param name="exclude">about.toml</param>
|
||||||
|
<param name="exclude">appspec.yml</param>
|
||||||
|
<param name="exclude">blobs/aarch64</param>
|
||||||
|
<param name="exclude">blobs/x86_64/bzImage.config</param>
|
||||||
|
<param name="exclude">blobs/x86_64/cmdline</param>
|
||||||
|
<param name="exclude">blobs/x86_64/init</param>
|
||||||
|
<param name="exclude">buildspec.yml</param>
|
||||||
|
<param name="exclude">ci_entrypoint.sh</param>
|
||||||
|
<param name="exclude">docs</param>
|
||||||
|
<param name="exclude">drivers</param>
|
||||||
|
<param name="exclude">examples</param>
|
||||||
|
<param name="exclude">install.sh</param>
|
||||||
|
<param name="exclude">run-nitro-cli-integration-tests</param>
|
||||||
|
<param name="exclude">run_tests.sh</param>
|
||||||
|
<param name="exclude">samples</param>
|
||||||
|
<param name="exclude">sources</param>
|
||||||
|
<param name="exclude">tests</param>
|
||||||
|
<param name="exclude">third_party</param>
|
||||||
|
<param name="exclude">tools</param>
|
||||||
|
<param name="exclude">vendor</param>
|
||||||
|
<param name="filename">aws-nitro-enclaves-cli</param>
|
||||||
|
<param name="match-tag">*</param>
|
||||||
|
<param name="revision">a46465e19358d4a68f266c9556a6ed6367d82de6</param>
|
||||||
|
<param name="scm">git</param>
|
||||||
|
<param name="submodules">disable</param>
|
||||||
|
<param name="url">https://github.com/aws/aws-nitro-enclaves-cli.git</param>
|
||||||
|
<param name="versionformat">@PARENT_TAG@~git@TAG_OFFSET@.%h</param>
|
||||||
|
<param name="versionrewrite-pattern">v(\d+\.\d+\.\d+)</param>
|
||||||
|
<param name="versionrewrite-replacement">\1</param>
|
||||||
|
</service>
|
||||||
|
<service name="recompress" mode="disabled">
|
||||||
|
<param name="file">*.tar</param>
|
||||||
|
<param name="compression">xz</param>
|
||||||
|
</service>
|
||||||
|
<service name="set_version" mode="disabled"/>
|
||||||
|
<!--
|
||||||
|
<service name="cargo_vendor" mode="disabled">
|
||||||
|
<param name="srcdir">aws-nitro-enclaves-cli</param>
|
||||||
|
<param name="compression">xz</param>
|
||||||
|
</service>
|
||||||
|
-->
|
||||||
|
</services>
|
3
aws-nitro-enclaves-cli-1.1.0~git8.a46465e.tar.xz
Normal file
3
aws-nitro-enclaves-cli-1.1.0~git8.a46465e.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e13ea6bc2b5b06628ec827a264add1e01d248f8cbc84c09875a45c3ea26a53a3
|
||||||
|
size 14119176
|
1
aws-nitro-enclaves-cli-rpmlintrc
Normal file
1
aws-nitro-enclaves-cli-rpmlintrc
Normal file
@ -0,0 +1 @@
|
|||||||
|
setBadness('arch-dependent-file-in-usr-share', 0)
|
5
aws-nitro-enclaves-cli.changes
Normal file
5
aws-nitro-enclaves-cli.changes
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Nov 22 11:22:33 UTC 2021 - olaf@aepfle.de
|
||||||
|
|
||||||
|
- Initial version 1.1.0~git8.a46465e (bsc#1179544)
|
||||||
|
|
45
aws-nitro-enclaves-cli.patch
Normal file
45
aws-nitro-enclaves-cli.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
--- a/enclave_build/src/docker.rs
|
||||||
|
+++ b/enclave_build/src/docker.rs
|
||||||
|
@@ -344,7 +344,13 @@ impl DockerUtil {
|
||||||
|
|
||||||
|
let act = async {
|
||||||
|
match self.docker.images().get(&self.docker_image).inspect().await {
|
||||||
|
- Ok(image) => Ok((image.config.cmd.unwrap(), image.config.env.unwrap())),
|
||||||
|
+ Ok(image) => {
|
||||||
|
+ let env: Vec<String> = vec![ "a=b".to_string() ];
|
||||||
|
+ info!("{:?}", image);
|
||||||
|
+ Ok((
|
||||||
|
+ image.config.cmd.unwrap(),
|
||||||
|
+ env,
|
||||||
|
+ ))},
|
||||||
|
Err(e) => {
|
||||||
|
error!("{:?}", e);
|
||||||
|
Err(DockerError::InspectError)
|
||||||
|
--- a/init.c
|
||||||
|
+++ b/init.c
|
||||||
|
@@ -381,11 +381,11 @@ void init_nsm_driver() {
|
||||||
|
if (fd < 0 && errno == ENOENT) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
- die_on(fd < 0, "failed to open nsm fd");
|
||||||
|
+ die_on(0&& fd < 0, "failed to open nsm fd");
|
||||||
|
rc = finit_module(fd, "", 0);
|
||||||
|
- die_on(rc < 0, "failed to insert nsm driver");
|
||||||
|
+ die_on(0&& rc < 0, "failed to insert nsm driver");
|
||||||
|
|
||||||
|
- die_on(close(fd), "close nsm fd");
|
||||||
|
+ die_on(0&& close(fd), "close nsm fd");
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
@@ -399,6 +399,10 @@ int main() {
|
||||||
|
init_dev();
|
||||||
|
init_console();
|
||||||
|
|
||||||
|
+ char *pre_init[] = { "/rootfs/pre_init.sh", NULL , };
|
||||||
|
+ pid_t pre_pid = launch(pre_init, NULL);
|
||||||
|
+ reap_until(pre_pid);
|
||||||
|
+
|
||||||
|
// Insert the Nitro Secure Module driver
|
||||||
|
init_nsm_driver();
|
||||||
|
|
164
aws-nitro-enclaves-cli.spec
Normal file
164
aws-nitro-enclaves-cli.spec
Normal file
@ -0,0 +1,164 @@
|
|||||||
|
#
|
||||||
|
# spec file for package aws-nitro-enclaves-cli
|
||||||
|
#
|
||||||
|
# Copyright (c) 2021 SUSE LLC
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
%define ne_system_group ne
|
||||||
|
%define ne_rundir %_rundir/nitro_enclaves
|
||||||
|
|
||||||
|
|
||||||
|
Name: aws-nitro-enclaves-cli
|
||||||
|
Version: 1.1.0~git8.a46465e
|
||||||
|
Release: 0
|
||||||
|
Summary: Tools for managing enclaves
|
||||||
|
License: Apache-2.0
|
||||||
|
Url: https://github.com/aws/aws-nitro-enclaves-cli
|
||||||
|
ExclusiveArch: aarch64 x86_64
|
||||||
|
Patch0: %name.patch
|
||||||
|
Source0: %name-%version.tar.xz
|
||||||
|
Source1: vendor.tar.xz
|
||||||
|
Source2: cargo_config
|
||||||
|
Requires(pre): system-group-%ne_system_group = %version-%release
|
||||||
|
Requires: aws-nitro-enclaves-binaryblobs
|
||||||
|
BuildRequires: cargo > 1.44
|
||||||
|
BuildRequires: clang
|
||||||
|
BuildRequires: glibc-devel-static
|
||||||
|
BuildRequires: openssl-devel
|
||||||
|
BuildRequires: rust > 1.44
|
||||||
|
BuildRequires: systemd-rpm-macros
|
||||||
|
BuildRequires: sysuser-tools
|
||||||
|
|
||||||
|
%description
|
||||||
|
A collection of tools and commands used for managing the lifecycle of
|
||||||
|
enclaves. The Nitro CLI needs to be installed on the parent instance,
|
||||||
|
and it can be used to start, manage, and terminate enclaves.
|
||||||
|
|
||||||
|
%package -n aws-nitro-enclaves-binaryblobs-upstream
|
||||||
|
Summary: Upstream kernel binary for AWS Nitro Enclaves
|
||||||
|
Provides: aws-nitro-enclaves-binaryblobs = %version-%release
|
||||||
|
%description -n aws-nitro-enclaves-binaryblobs-upstream
|
||||||
|
This package contains a kernel binary and a helper binary, which is
|
||||||
|
used by the nitro-cli build-enclave command to generate a Enclave
|
||||||
|
Image File.
|
||||||
|
|
||||||
|
%package -n system-group-%ne_system_group
|
||||||
|
Summary: System group %ne_system_group for AWS Nitro Enclaves
|
||||||
|
%?sysusers_requires
|
||||||
|
|
||||||
|
%description -n system-group-%ne_system_group
|
||||||
|
System group %ne_system_group for Nitro Enclaves.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1 -a1
|
||||||
|
|
||||||
|
%build
|
||||||
|
%install
|
||||||
|
mkdir .cargo
|
||||||
|
cp %{SOURCE2} .cargo/config
|
||||||
|
%if 0%{?__debug_package}
|
||||||
|
rustflags='-Clink-arg=-Wl,-z,relro,-z,now -C debuginfo=2'
|
||||||
|
release=
|
||||||
|
dir='debug'
|
||||||
|
%else
|
||||||
|
rustflags='-Clink-arg=-Wl,-z,relro,-z,now -C debuginfo=0'
|
||||||
|
release='--release'
|
||||||
|
dir='release'
|
||||||
|
%endif
|
||||||
|
RUSTFLAGS="${rustflags}" cargo build ${release} --manifest-path=./Cargo.toml
|
||||||
|
RUSTFLAGS="${rustflags}" cargo build ${release} --manifest-path=./vsock_proxy/Cargo.toml
|
||||||
|
|
||||||
|
mkdir -vp '%buildroot%_unitdir'
|
||||||
|
cp -aviLt "$_" \
|
||||||
|
bootstrap/nitro-enclaves-allocator.service \
|
||||||
|
%nil
|
||||||
|
mkdir -vp '%buildroot%_bindir'
|
||||||
|
cp -aviLt "$_" \
|
||||||
|
target/${dir}/nitro-cli \
|
||||||
|
target/${dir}/vsock-proxy \
|
||||||
|
bootstrap/nitro-enclaves-allocator \
|
||||||
|
bootstrap/nitro-cli-config \
|
||||||
|
%nil
|
||||||
|
mkdir -vp '%buildroot%_sysconfdir/nitro_enclaves'
|
||||||
|
cp -aviLt "$_" \
|
||||||
|
bootstrap/allocator.yaml \
|
||||||
|
%nil
|
||||||
|
|
||||||
|
blobs='%buildroot%_datadir/nitro_enclaves/blobs'
|
||||||
|
mkdir -vp "${blobs}"
|
||||||
|
%ifarch aarch64
|
||||||
|
cp -aviLt "${blobs}" blobs/aarch64/*
|
||||||
|
tee "${blobs}/cmdline" <<'_EOC_'
|
||||||
|
reboot=k panic=3 pci=off nomodules console=ttyS0 random.trust_cpu=on root=/dev/ram0
|
||||||
|
_EOC_
|
||||||
|
%endif
|
||||||
|
%ifarch x86_64
|
||||||
|
cp -aviLt "${blobs}" blobs/x86_64/*
|
||||||
|
tee "${blobs}/cmdline" <<'_EOC_'
|
||||||
|
reboot=k panic=3 pci=off nomodules console=ttyS0 i8042.noaux i8042.nomux i8042.nopnp i8042.dumbkbd random.trust_cpu=on
|
||||||
|
_EOC_
|
||||||
|
%endif
|
||||||
|
gcc -Wall %optflags -static -o "${blobs}/init" init.c
|
||||||
|
|
||||||
|
mkdir -vp '%buildroot%_tmpfilesdir'
|
||||||
|
tee '%buildroot%_tmpfilesdir/%name.conf' <<_EOF_
|
||||||
|
d %{ne_rundir} 0775 root %ne_system_group
|
||||||
|
_EOF_
|
||||||
|
|
||||||
|
mkdir -vp '%buildroot%_udevrulesdir'
|
||||||
|
tee '%buildroot%_udevrulesdir/%name.conf' <<'_EOF_'
|
||||||
|
KERNEL=="nitro_enclaves", SUBSYSTEM=="misc", OWNER="root", GROUP="%{ne_group}", MODE="0660", TAG+="systemd"
|
||||||
|
_EOF_
|
||||||
|
|
||||||
|
suc='system-group-%ne_system_group.conf'
|
||||||
|
tee "${suc}" <<'_EOC_'
|
||||||
|
g %ne_system_group -
|
||||||
|
_EOC_
|
||||||
|
mkdir -p '%buildroot%_sysusersdir'
|
||||||
|
cp -aviLt "$_" "${suc}"
|
||||||
|
%sysusers_generate_pre "${suc}" system-group-%ne_system_group
|
||||||
|
|
||||||
|
%files -n system-group-%ne_system_group
|
||||||
|
%_sysusersdir/*.conf
|
||||||
|
|
||||||
|
%pre -n system-group-%ne_system_group -f system-group-%ne_system_group.pre
|
||||||
|
%service_add_pre nitro-enclaves-allocator.service
|
||||||
|
%post
|
||||||
|
%tmpfiles_create %_tmpfilesdir/%name.conf
|
||||||
|
ld='/var/log/nitro_enclaves'
|
||||||
|
mkdir -vp "${ld}"
|
||||||
|
chmod -v 0770 "${ld}"
|
||||||
|
chown -v '0:%ne_system_group' "${ld}"
|
||||||
|
%udev_rules_update
|
||||||
|
%service_add_post nitro-enclaves-allocator.service
|
||||||
|
%preun
|
||||||
|
%service_del_preun nitro-enclaves-allocator.service
|
||||||
|
%postun
|
||||||
|
%service_del_postun_without_restart nitro-enclaves-allocator.service
|
||||||
|
|
||||||
|
%files
|
||||||
|
%doc README.md
|
||||||
|
%license LICENSE
|
||||||
|
%license THIRD_PARTY_LICENSES
|
||||||
|
%license THIRD_PARTY_LICENSES*.html
|
||||||
|
%config(noreplace) %_sysconfdir/nitro_enclaves
|
||||||
|
%_bindir/*
|
||||||
|
%_tmpfilesdir/%name.conf
|
||||||
|
%_udevrulesdir/%name.conf
|
||||||
|
%_unitdir/nitro-enclaves-allocator.service
|
||||||
|
|
||||||
|
%files -n aws-nitro-enclaves-binaryblobs-upstream
|
||||||
|
%_datadir/nitro_enclaves
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
|
5
cargo_config
Normal file
5
cargo_config
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[source.crates-io]
|
||||||
|
replace-with = "vendored-sources"
|
||||||
|
|
||||||
|
[source.vendored-sources]
|
||||||
|
directory = "vendor"
|
3
vendor.tar.xz
Normal file
3
vendor.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:b0ca4e1f9bb38cdb8a8d19d31c0b1ad63b0385f6d8adf4df04a21dbe46e3c7e9
|
||||||
|
size 9118444
|
Loading…
Reference in New Issue
Block a user