f2635da
%global krun_opts %{nil}
Packit 0c54bce
%global wasmedge_opts %{nil}
Packit 0c54bce
%global wasmtime_opts %{nil}
f2635da
Packit 0c54bce
# krun and wasm[edge,time] support only on aarch64 and x86_64
f2635da
%ifarch aarch64 || x86_64
Packit 0c54bce
%global wasm_support 1
Packit 0c54bce
7d471b6
%if %{defined fedora} || (%{defined copr_project} && "%{?copr_project}" == "podman-next")
Packit 0c54bce
%global wasmedge_support 1
Packit 0c54bce
%global wasmedge_opts --with-wasmedge
80b16b4
%endif
80b16b4
Packit 0c54bce
# krun only exists on fedora
Packit 0c54bce
%if %{defined fedora}
Packit 0c54bce
%global krun_support 1
Packit 0c54bce
%global krun_opts --with-libkrun
f0e1588
%endif
Packit 0c54bce
Packit 0c54bce
# wasmtime exists only on podman-next copr for now
Packit 0c54bce
%if %{defined copr_project} && "%{?copr_project}" == "podman-next"
Packit 0c54bce
%global wasmtime_support 1
Packit 0c54bce
%global wasmtime_opts --with-wasmtime
b6961f2
%endif
f0e1588
Packit 0c54bce
%endif
64bd724
8bf27bd
Summary: OCI runtime written in C
8bf27bd
Name: crun
Packit 0c54bce
%if %{defined copr_username}
Packit 0c54bce
Epoch: 102
Packit 0c54bce
%endif
Packit 0c54bce
# DO NOT TOUCH the Version string!
Packit 0c54bce
# The TRUE source of this specfile is:
Packit 0c54bce
# https://github.com/containers/crun/blob/main/rpm/crun.spec
Packit 0c54bce
# If that's what you're reading, Version must be 0, and will be updated by Packit for
Packit 0c54bce
# copr and koji builds.
Packit 0c54bce
# If you're reading this on dist-git, the version is automatically filled in by Packit.
Packit 2807443
Version: 1.14.4
Packit 0c54bce
Release: %autorelease
7ad0ace
URL: https://github.com/containers/%{name}
f63c79c
Source0: %{url}/releases/download/%{version}/%{name}-%{version}.tar.xz
4f9a5d6
License: GPL-2.0-only
Packit 0c54bce
%if %{defined golang_arches_future}
68e76ac
ExclusiveArch: %{golang_arches_future}
Packit 0c54bce
%else
d70c467
ExclusiveArch: aarch64 ppc64le riscv64 s390x x86_64
Packit 0c54bce
%endif
8bf27bd
BuildRequires: autoconf
8bf27bd
BuildRequires: automake
8bf27bd
BuildRequires: gcc
d7722b9
BuildRequires: git-core
Packit 0c54bce
BuildRequires: gperf
c0b699e
BuildRequires: libcap-devel
Packit 0c54bce
%if %{defined krun_support}
80b16b4
BuildRequires: libkrun-devel
80b16b4
%endif
Packit 0c54bce
BuildRequires: systemd-devel
Packit 0c54bce
BuildRequires: yajl-devel
8bf27bd
BuildRequires: libseccomp-devel
8bf27bd
BuildRequires: python3-libmount
Packit 0c54bce
BuildRequires: libtool
b101f2e
BuildRequires: protobuf-c-devel
80b16b4
BuildRequires: criu-devel >= 3.17.1-2
c14e121
Recommends: criu >= 3.17.1
c14e121
Recommends: criu-libs
Packit 0c54bce
%if %{defined wasmedge_support}
Packit 0c54bce
BuildRequires: wasmedge-devel
Packit 0c54bce
%endif
Packit 0c54bce
%if %{defined wasmtime_support}
Packit 0c54bce
BuildRequires: wasmtime-c-api-devel
Packit 0c54bce
%endif
Packit 0c54bce
%if %{defined rhel} && 0%{?rhel} == 8
Packit 0c54bce
BuildRequires: python3
Packit 0c54bce
%else
Packit 0c54bce
BuildRequires: python
Packit 0c54bce
%endif
aced1fa
Provides: oci-runtime
a160789
a160789
%description
Packit 0c54bce
%{name} is a OCI runtime
Packit 0c54bce
Packit 0c54bce
%if %{defined krun_support}
Packit 0c54bce
%package krun
Packit 0c54bce
Summary: %{name} with libkrun support
Packit 0c54bce
Requires: libkrun
Packit 0c54bce
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
Packit 0c54bce
Provides: krun = %{?epoch:%{epoch}:}%{version}-%{release}
Packit 0c54bce
Packit 0c54bce
%description krun
Packit 0c54bce
krun is a symlink to the %{name} binary, with libkrun as an additional dependency.
Packit 0c54bce
%endif
Packit 0c54bce
Packit 0c54bce
%if %{defined wasm_support}
Packit 0c54bce
%package wasm
Packit 0c54bce
Summary: %{name} with wasm support
Packit 0c54bce
Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
Packit 0c54bce
Requires: wasm-library
Packit 0c54bce
Recommends: wasmedge
Packit 0c54bce
Packit 0c54bce
%description wasm
Packit 0c54bce
%{name}-wasm is a symlink to the %{name} binary, with wasm as an additional dependency.
Packit 0c54bce
%endif
a160789
a160789
%prep
Packit 0c54bce
%autosetup -Sgit -n %{name}-%{version}
a160789
a160789
%build
8bf27bd
./autogen.sh
Packit 0c54bce
./configure --disable-silent-rules %{krun_opts} %{wasmedge_opts} %{wasmtime_opts}
8bf27bd
%make_build
a160789
8bf27bd
%install
Packit 0c54bce
%make_install prefix=%{_prefix}
64bd724
rm -rf %{buildroot}%{_prefix}/lib*
Packit 0c54bce
Packit 0c54bce
%if %{defined krun_support}
Packit 2807443
ln -s %{name} %{buildroot}%{_bindir}/krun
80b16b4
%endif
80b16b4
Packit 0c54bce
%if %{defined wasm_support}
Packit 2807443
ln -s %{name} %{buildroot}%{_bindir}/%{name}-wasm
f0e1588
%endif
f0e1588
a160789
%files
8bf27bd
%license COPYING
8bf27bd
%{_bindir}/%{name}
Packit fae9f76
%{_mandir}/man1/%{name}.1.gz
613edba
Packit 0c54bce
%if %{defined krun_support}
613edba
%files krun
Packit 0c54bce
%license COPYING
80b16b4
%{_bindir}/krun
8de0675
%{_mandir}/man1/krun.1.gz
f0e1588
%endif
f0e1588
Packit 0c54bce
%if %{defined wasm_support}
f0e1588
%files wasm
Packit 0c54bce
%license COPYING
f0e1588
%{_bindir}/%{name}-wasm
80b16b4
%endif
a160789
a160789
%changelog
4f5a1a6
%autochangelog