112 lines
2.8 KiB
RPMSpec
112 lines
2.8 KiB
RPMSpec
|
#
|
||
|
# spec file for package crun
|
||
|
#
|
||
|
# Copyright (c) 2024 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 https://bugs.opensuse.org/
|
||
|
#
|
||
|
|
||
|
|
||
|
%ifarch x86_64 aarch64
|
||
|
%define with_wasmedge 1
|
||
|
%else
|
||
|
%define with_wasmedge 0
|
||
|
%endif
|
||
|
|
||
|
Name: crun
|
||
|
Version: 1.14
|
||
|
Release: 0
|
||
|
Summary: OCI runtime written in C
|
||
|
License: GPL-2.0-or-later
|
||
|
URL: https://github.com/containers/crun
|
||
|
Source0: %{URL}/releases/download/%{version}/%{name}-%{version}.tar.xz
|
||
|
Source1: %{URL}/releases/download/%{version}/%{name}-%{version}.tar.xz.asc
|
||
|
Source2: crun.keyring
|
||
|
# We always run autogen.sh
|
||
|
BuildRequires: autoconf
|
||
|
BuildRequires: automake
|
||
|
BuildRequires: gcc
|
||
|
BuildRequires: gettext
|
||
|
BuildRequires: glibc-devel-static
|
||
|
BuildRequires: go-md2man
|
||
|
BuildRequires: libcap-devel
|
||
|
BuildRequires: libprotobuf-c-devel
|
||
|
BuildRequires: libseccomp-devel
|
||
|
BuildRequires: libtool
|
||
|
BuildRequires: libyajl-devel
|
||
|
BuildRequires: make
|
||
|
BuildRequires: python3
|
||
|
BuildRequires: python3-libmount
|
||
|
BuildRequires: systemd-devel
|
||
|
%ifnarch %{ix86}
|
||
|
BuildRequires: criu-devel >= 3.15
|
||
|
%endif
|
||
|
%ifarch x86_64 aarch64
|
||
|
BuildRequires: libkrun-devel
|
||
|
Requires: libkrun1
|
||
|
%endif
|
||
|
%if %with_wasmedge
|
||
|
BuildRequires: wasmedge-devel
|
||
|
%endif
|
||
|
|
||
|
%description
|
||
|
crun is a runtime for running OCI containers. It is built with libkrun support
|
||
|
|
||
|
%prep
|
||
|
%autosetup -p1
|
||
|
|
||
|
%build
|
||
|
%ifarch x86_64 aarch64
|
||
|
export LIBKRUN="--with-libkrun"
|
||
|
%endif
|
||
|
%if %with_wasmedge
|
||
|
export WASMEDGE="--with-wasmedge"
|
||
|
%endif
|
||
|
|
||
|
./autogen.sh
|
||
|
%configure --disable-silent-rules $LIBKRUN $WASMEDGE CFLAGS='-I %{_includedir}/libseccomp'
|
||
|
%make_build
|
||
|
|
||
|
# TODO:
|
||
|
# - it would be nice to enable the test-suite, but seems to behave (and fail!)
|
||
|
# differently when run inside of an OBS worker, with respect to when it's
|
||
|
# run manually on the host... Need to investigate more.
|
||
|
%dnl %check
|
||
|
#make test-suite.log
|
||
|
|
||
|
%install
|
||
|
%make_install
|
||
|
rm -rf %{buildroot}/%{_libdir}/lib*
|
||
|
%ifarch x86_64 aarch64
|
||
|
# allow easy krun usage with podman
|
||
|
ln -s %{_bindir}/crun %{buildroot}%{_bindir}/krun
|
||
|
%endif
|
||
|
%if %with_wasmedge
|
||
|
# platform 'wasi/wasm' requires crun-wasm
|
||
|
ln -s %{_bindir}/crun %{buildroot}%{_bindir}/crun-wasm
|
||
|
%endif
|
||
|
|
||
|
%files
|
||
|
%license COPYING
|
||
|
%doc README.md
|
||
|
%doc SECURITY.md
|
||
|
%{_bindir}/%{name}
|
||
|
%ifarch x86_64 aarch64
|
||
|
%{_bindir}/krun
|
||
|
%endif
|
||
|
%if %with_wasmedge
|
||
|
%{_bindir}/crun-wasm
|
||
|
%endif
|
||
|
%{_mandir}/man1/*
|
||
|
|
||
|
%changelog
|