diff --git a/rpm/cloud-hypervisor.spec b/rpm/cloud-hypervisor.spec index f94e123d7..0531ecc4a 100644 --- a/rpm/cloud-hypervisor.spec +++ b/rpm/cloud-hypervisor.spec @@ -5,6 +5,7 @@ # targets installed. %define using_rustup 1 +%define using_musl_libc 1 Name: cloud-hypervisor 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_net %{buildroot}%{_libdir}/cloud-hypervisor +%if 0%{?using_musl_libc} 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/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/ch-remote %{buildroot}%{_libdir}/cloud-hypervisor/static +%endif %build @@ -75,14 +78,18 @@ rustup target list --installed | grep x86_64-unknown-linux-gnu if [[ $? -ne 0 ]]; then echo "Target x86_64-unknown-linux-gnu not found, please install(#rustup target add x86_64-unknown-linux-gnu). exiting" fi + %if 0%{?using_musl_libc} rustup target list --installed | grep x86_64-unknown-linux-musl if [[ $? -ne 0 ]]; then echo "Target x86_64-unknown-linux-musl not found, please install(#rustup target add x86_64-unknown-linux-musl). exiting" fi + %endif %endif 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 +%endif %clean @@ -98,8 +105,10 @@ rm -rf %{buildroot} %post setcap cap_net_admin+ep %{_bindir}/cloud-hypervisor 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/vhost_user_net +%endif %changelog