Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:aevseev
cri-o
cri-o.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File cri-o.spec of Package cri-o
%define realname cri-o %define realver 1.27.2 %define srcext tar.gz # Common info Name: %{realname} Version: %{realver} Release: wiz%{?extraver:0.}1%{?dist} License: Apache-2.0 Group: System/Management URL: https://cri-o.io/ Summary: Open Container Initiative-based implementation of Kubernetes CRI # Install-time parameters Requires: conmon Requires: cri-tools Requires: crun %if 0%{?suse_version} Requires: cni-plugins Requires: libcontainers-common %else Requires: containernetworking-plugins Requires: containers-common %endif Requires: iproute iptables Requires: socat # Build-time parameters BuildRequires: go >= 1.10 BuildRequires: pkg-config # see scripts in hack/ directory BuildRequires: libbtrfs-devel BuildRequires: device-mapper-devel BuildRequires: pkgconfig(gpgme) BuildRequires: pkgconfig(libseccomp) BuildRequires: pkgconfig(libselinux) # BuildRequires: pkgconfig(libsystemd) # Static libc required to build static binaries %if 0%{?suse_version} BuildRequires: libassuan-devel BuildRequires: pkgconfig(libapparmor) BuildRequires: timezone %endif %if 0%{?rhel} BuildRequires: pkgconfig(libassuan) BuildRequires: tzdata %endif BuildRoot: %{_tmppath}/%{name}-root Source0: https://codeload.github.com/cri-o/cri-o/%{srcext}/refs/tags/v%{realver}#/%{realname}-%{realver}%{?extraver}.%{srcext} # go mod vendor -v && tar -Jcvf ../vendor.tar.xz vendor && rm -rf vendor/ Source11: vendor.tar.xz %description CRI-O is meant to provide an integration path between OCI conformant runtimes and the kubelet. Specifically, it implements the Kubelet Container Runtime Interface (CRI) using OCI conformant runtimes. The scope of CRI-O is tied to the scope of the CRI. At a high level, we expect the scope of CRI-O to be restricted to the following functionalities: * Support multiple image formats including the existing Docker image format * Support for multiple means to download images including trust & image verification * Container image management (managing image layers, overlay filesystems, etc) * Container process lifecycle management * Monitoring and logging required to satisfy the CRI * Resource isolation as required by the CRI # Preparation step (unpackung and patching if necessary) %prep %setup -q -n %{realname}-%{realver}%{?extraver} -a11 %{__sed} -ri 's|/usr/local/bin|%{_bindir}|' contrib/systemd/crio.service # Build step (compile/build binaries, documentation, etc) %build _CFLAGS='%{optflags}' _LDFLAGS='-Wl,--as-needed -Wl,--strip-all -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro' export GOPATH=$(pwd -P)/_output export GOCACHE=$(pwd -P)/.gocache export GOTRACEBACK=crash export GOFLAGS='-a -v -mod=vendor -buildmode=pie -gcflags=all=-dwarf=false' export CGO_ENABLED=1 export CGO_CFLAGS="$_CFLAGS" export CGO_LDFLAGS="$_LDFLAGS" # Build other stuff BUILDTAGS='notest containers_image_ostree_stub seccomp selinux tools' %if 0%{?suse_version} BUILDTAGS+=' apparmor' %endif %{__make} %{?_smp_mflags} binaries \ CFLAGS="$_CFLAGS -std=c99 -Os -Wall -Wextra $_LDFLAGS" \ PREFIX=%{_prefix} \ LIBEXECDIR=%{_libexecdir} \ BUILDTAGS="$BUILDTAGS" \ COMMIT_NO=refs/tags/v%{version} \ GIT_TREE_STATE=clean # Prepare `go-md2man` to build manpages go build -o build/bin/go-md2man github.com/cpuguy83/go-md2man # Install built stuff %install _CFLAGS='%{optflags}' _LDFLAGS='-Wl,--as-needed -Wl,--strip-all -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro' export GOPATH=$(pwd -P)/_output export GOCACHE=$(pwd -P)/.gocache export GOTRACEBACK=crash export GOFLAGS='-mod=vendor -buildmode=pie -gcflags=all=-dwarf=false' export CGO_CFLAGS="$_CFLAGS" export CGO_LDFLAGS="$_LDFLAGS" %{__make} install DESTDIR=%{buildroot} \ CFLAGS="$_CFLAGS -std=c99 -Os -Wall -Wextra $_LDFLAGS" \ PREFIX=%{buildroot}%{_prefix} \ LIBEXECDIR=%{buildroot}%{_libexecdir} # Install CNI configs %{__install} -d -m0755 %{buildroot}%{_sysconfdir}/cni/net.d/ %{__install} -m0644 contrib/cni/10-crio-bridge.conflist %{buildroot}%{_sysconfdir}/cni/net.d/10-crio-bridge.conflist %{__install} -m0644 contrib/cni/11-crio-ipv4-bridge.conflist %{buildroot}%{_sysconfdir}/cni/net.d/11-crio-ipv4-bridge.conflist %{__install} -m0644 contrib/cni/99-loopback.conflist %{buildroot}%{_sysconfdir}/cni/net.d/99-loopback.conflist # Re-create config file using the real parameters ./bin/crio \ --config '' \ --cgroup-manager systemd \ --cni-config-dir %{_sysconfdir}/cni/net.d \ --cni-plugin-dir %{_libexecdir}/cni \ --conmon %{_libexecdir}/podman/conmon \ --default-runtime=crun \ --hooks-dir %{_datadir}/containers/oci/hooks.d \ --log-journald \ --root %{_localstatedir}/lib/containers/storage \ --runroot %{_rundir}/crio \ --runtimes crun:/usr/bin/crun:/run/crun:oci \ --storage-driver overlay \ --storage-opt overlay.override_kernel_check=1 \ config > %{buildroot}%{_sysconfdir}/crio/crio.conf # Create runtime directory %{__install} -d -m0750 %{buildroot}%{_localstatedir}/lib/containers/storage # Cleanup %clean [ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot} # Files list %files %defattr(-,root,root) %doc LICENSE README.md tutorials %{_bindir}/crio %{_bindir}/crio-status %{_bindir}/pinns %dir %{_sysconfdir}/cni/net.d %dir %{_sysconfdir}/cni %dir %{_sysconfdir}/crio %config(noreplace) %{_sysconfdir}/cni/net.d/*.conflist %config(noreplace) %{_sysconfdir}/crio/crio.conf %config(noreplace) %{_sysconfdir}/crictl.yaml %dir %{_sysconfdir}/crio/crio.conf.d %dir %{_datadir}/oci-umount/oci-umount.d %dir %{_datadir}/oci-umount %config %{_datadir}/oci-umount/oci-umount.d/crio-umount.conf %dir %{_datadir}/containers/oci/hooks.d %dir %{_datadir}/containers/oci %dir %{_datadir}/containers %dir %{_localstatedir}/lib/containers/storage %dir %{_localstatedir}/lib/containers %{_unitdir}/*.service %doc %{_mandir}/man5/crio.conf.5* %doc %{_mandir}/man5/crio.conf.d.5* %doc %{_mandir}/man8/crio.8* %doc %{_mandir}/man8/crio-status.8* # shell completions %dir %{_datadir}/bash-completion/completions %dir %{_datadir}/bash-completion %dir %{_datadir}/fish/completions %dir %{_datadir}/fish %dir %{_datadir}/zsh/site-functions %dir %{_datadir}/zsh %{_datadir}/bash-completion/completions/* %{_datadir}/fish/completions/* %{_datadir}/zsh/site-functions/* %if "%{expand:%_vendor}" == "suse" %pre %{service_add_pre cri-o.service} %{service_add_pre crio-shutdown.service} %{service_add_pre crio-wipe.service} %{service_add_pre crio.service} %post %{service_add_post cri-o.service} %{service_add_post crio-shutdown.service} %{service_add_post crio-wipe.service} %{service_add_post crio.service} %preun %{service_del_preun cri-o.service} %{service_del_preun crio-shutdown.service} %{service_del_preun crio-wipe.service} %{service_del_preun crio.service} %postun %{service_del_postun cri-o.service} %{service_del_postun crio-shutdown.service} %{service_del_postun crio-wipe.service} %{service_del_postun crio.service} %endif %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor