diff --git a/youki/README.md b/youki/README.md new file mode 100644 index 0000000000000000000000000000000000000000..d9c0035959a6e89edf91590caf526ad063274b40 --- /dev/null +++ b/youki/README.md @@ -0,0 +1,4 @@ +# 注意 ++ spec文件中的Source0源的源代码编译会报错且`git clone master`也会编译报错,原因可能是该youki项目高频迭代,本仓库所提供的源代码可编译成功 ++ 目前版本0.0.2,官方明确表示 cargo版本不能低于1.58.1,建议用rustup切换cargo版本 ++ 在编译过程会 git https://github.com/containers/oci-spec-rs 建议编译时配置代理网络 \ No newline at end of file diff --git a/youki/youki-0.0.2-1.src.rpm b/youki/youki-0.0.2-1.src.rpm new file mode 100644 index 0000000000000000000000000000000000000000..8a4a12b9a574754e43d72c4e002ef6ae3c9ea87a Binary files /dev/null and b/youki/youki-0.0.2-1.src.rpm differ diff --git a/youki/youki-0.0.2-1.x86_64.rpm b/youki/youki-0.0.2-1.x86_64.rpm new file mode 100644 index 0000000000000000000000000000000000000000..c3970b8da643b662b3938d7d1b1fe61024cc1261 Binary files /dev/null and b/youki/youki-0.0.2-1.x86_64.rpm differ diff --git a/youki/youki-0.0.2.tar.gz b/youki/youki-0.0.2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..d956d912cfa79edc4043af3639360d1e02f8ddbd Binary files /dev/null and b/youki/youki-0.0.2.tar.gz differ diff --git a/youki/youki.spec b/youki/youki.spec new file mode 100644 index 0000000000000000000000000000000000000000..853c6ac4e2b8b743dd7c4b3e854d888b9f5c197c --- /dev/null +++ b/youki/youki.spec @@ -0,0 +1,59 @@ +%global cargo_min_version 1.58.1 +%global libgcc_min_version 8.5.0 +%global glibc_min_version 2.3.0 +%global share /usr/share +Name: youki +Version: 0.0.2 +Release: 1 +Summary: A container runtime written in Rust +License: Apache +URL: https://containers.github.io/youki +Source0: https://github.com/containers/youki/archive/refs/tags/v%{version}/%{name}-%{version}.tar.gz +# https://github.com/containers/youki.git +# 注意从Source0 源下载的编译会出错 建议用 git clone master 并且将其 tar zcvf v0.0.2.tar.gz youki 添加进SOURCES目录 但这仍然有可能会编译报错 +# 注意官方明确表示cargo不得低于1.58.1 +# ExclusiveArch: +# BuildRequires: cargo >= %%{cargo_min_version} +BuildRequires: cargo +BuildRequires: pkg-config +BuildRequires: systemd-devel +BuildRequires: dbus-devel +BuildRequires: dbus-glib +BuildRequires: elfutils-libelf-devel +Requires: libseccomp-devel +Requires: docker +Requires: libgcc >= %{libgcc_min_version} +Requires: glibc >= %{glibc_min_version} +Requires: dbus + +%description + +%prep +%setup -q -n youki +cargo fetch --locked + +%build +cargo build --release + +%install +mkdir -p %{buildroot}/%{_bindir} +install -Dm755 target/release/youki %{buildroot}/%{_bindir}/youki + +install -dm755 %{buildroot}/usr/share/bash-completion/completions +./target/release/youki completion --shell bash > %{buildroot}/usr/share/bash-completion/completions/youki + +# install -dm755 %%{buildroot}/usr/share/zsh/site-functions +# ./target/release/youki completions zsh > %%{buildroot}/usr/share/zsh/site-functions/_youki + +# install -dm755 %%{buildroot}/usr/share/fish/vendor_functions.d +# ./target/release/youki completions fish > %%{buildroot}/usr/share/fish/vendor_functions.d/youki.fish + +%check +# cargo test +./target/release/youki -h + +%files +%license LICENSE +%{_bindir}/youki +%doc README.md +%{share}/bash-completion/completions/youki