mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2026-08-05 02:19:16 +00:00
rpm: Introduce using_musl_libc definition
While some distros support `musl` libc as a rust target, some others (such as RHEL) definitely don't (at least not installing distro packages). Knowing this, let's have a simple way to not have a hard dependency on musl on our spec file. Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
This commit is contained in:
committed by
Rob Bradford
parent
a628854d9c
commit
9a583e6e9f
@@ -5,6 +5,7 @@
|
|||||||
# targets installed.
|
# targets installed.
|
||||||
|
|
||||||
%define using_rustup 1
|
%define using_rustup 1
|
||||||
|
%define using_musl_libc 1
|
||||||
|
|
||||||
Name: cloud-hypervisor
|
Name: cloud-hypervisor
|
||||||
Summary: Cloud Hypervisor is an open source Virtual Machine Monitor (VMM) that runs on top of KVM.
|
Summary: Cloud Hypervisor is an open source Virtual Machine Monitor (VMM) that runs on top of KVM.
|
||||||
@@ -47,11 +48,13 @@ install -d %{buildroot}%{_libdir}/cloud-hypervisor
|
|||||||
install -D -m755 target/x86_64-unknown-linux-gnu/release/vhost_user_block %{buildroot}%{_libdir}/cloud-hypervisor
|
install -D -m755 target/x86_64-unknown-linux-gnu/release/vhost_user_block %{buildroot}%{_libdir}/cloud-hypervisor
|
||||||
install -D -m755 target/x86_64-unknown-linux-gnu/release/vhost_user_net %{buildroot}%{_libdir}/cloud-hypervisor
|
install -D -m755 target/x86_64-unknown-linux-gnu/release/vhost_user_net %{buildroot}%{_libdir}/cloud-hypervisor
|
||||||
|
|
||||||
|
%if 0%{?using_musl_libc}
|
||||||
install -d %{buildroot}%{_libdir}/cloud-hypervisor/static
|
install -d %{buildroot}%{_libdir}/cloud-hypervisor/static
|
||||||
install -D -m755 target/x86_64-unknown-linux-musl/release/cloud-hypervisor %{buildroot}%{_libdir}/cloud-hypervisor/static
|
install -D -m755 target/x86_64-unknown-linux-musl/release/cloud-hypervisor %{buildroot}%{_libdir}/cloud-hypervisor/static
|
||||||
install -D -m755 target/x86_64-unknown-linux-musl/release/vhost_user_block %{buildroot}%{_libdir}/cloud-hypervisor/static
|
install -D -m755 target/x86_64-unknown-linux-musl/release/vhost_user_block %{buildroot}%{_libdir}/cloud-hypervisor/static
|
||||||
install -D -m755 target/x86_64-unknown-linux-musl/release/vhost_user_net %{buildroot}%{_libdir}/cloud-hypervisor/static
|
install -D -m755 target/x86_64-unknown-linux-musl/release/vhost_user_net %{buildroot}%{_libdir}/cloud-hypervisor/static
|
||||||
install -D -m755 target/x86_64-unknown-linux-musl/release/ch-remote %{buildroot}%{_libdir}/cloud-hypervisor/static
|
install -D -m755 target/x86_64-unknown-linux-musl/release/ch-remote %{buildroot}%{_libdir}/cloud-hypervisor/static
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@@ -75,14 +78,18 @@ rustup target list --installed | grep x86_64-unknown-linux-gnu
|
|||||||
if [[ $? -ne 0 ]]; then
|
if [[ $? -ne 0 ]]; then
|
||||||
echo "Target x86_64-unknown-linux-gnu not found, please install(#rustup target add x86_64-unknown-linux-gnu). exiting"
|
echo "Target x86_64-unknown-linux-gnu not found, please install(#rustup target add x86_64-unknown-linux-gnu). exiting"
|
||||||
fi
|
fi
|
||||||
|
%if 0%{?using_musl_libc}
|
||||||
rustup target list --installed | grep x86_64-unknown-linux-musl
|
rustup target list --installed | grep x86_64-unknown-linux-musl
|
||||||
if [[ $? -ne 0 ]]; then
|
if [[ $? -ne 0 ]]; then
|
||||||
echo "Target x86_64-unknown-linux-musl not found, please install(#rustup target add x86_64-unknown-linux-musl). exiting"
|
echo "Target x86_64-unknown-linux-musl not found, please install(#rustup target add x86_64-unknown-linux-musl). exiting"
|
||||||
fi
|
fi
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
cargo build --release --target=x86_64-unknown-linux-gnu --all
|
cargo build --release --target=x86_64-unknown-linux-gnu --all
|
||||||
|
%if 0%{?using_musl_libc}
|
||||||
cargo build --release --target=x86_64-unknown-linux-musl --all
|
cargo build --release --target=x86_64-unknown-linux-musl --all
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
@@ -98,8 +105,10 @@ rm -rf %{buildroot}
|
|||||||
%post
|
%post
|
||||||
setcap cap_net_admin+ep %{_bindir}/cloud-hypervisor
|
setcap cap_net_admin+ep %{_bindir}/cloud-hypervisor
|
||||||
setcap cap_net_admin+ep %{_libdir}/cloud-hypervisor/vhost_user_net
|
setcap cap_net_admin+ep %{_libdir}/cloud-hypervisor/vhost_user_net
|
||||||
|
%if 0%{?using_musl_libc}
|
||||||
setcap cap_net_admin+ep %{_libdir}/cloud-hypervisor/static/cloud-hypervisor
|
setcap cap_net_admin+ep %{_libdir}/cloud-hypervisor/static/cloud-hypervisor
|
||||||
setcap cap_net_admin+ep %{_libdir}/cloud-hypervisor/static/vhost_user_net
|
setcap cap_net_admin+ep %{_libdir}/cloud-hypervisor/static/vhost_user_net
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
|||||||
Reference in New Issue
Block a user