%global with_debug 1 %if 0%{?with_debug} %global _find_debuginfo_dwz_opts %{nil} %global _dwz_low_mem_die_limit 0 %else %global debug_package %{nil} %endif # Golang minor version %if 0%{?rhel} && ! 0%{?fedora} %define gobuild(o:) go build -buildmode pie -compiler gc -tags="rpm_crashtraceback libtrust_openssl ${BUILDTAGS:-}" -ldflags "${LDFLAGS:-} -compressdwarf=false -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '%__global_ldflags'" -a -v -x %{?**}; %else %define gobuild(o:) go build -buildmode pie -compiler gc -tags="rpm_crashtraceback ${BUILDTAGS:-}" -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '%__global_ldflags'" -a -v -x %{?**}; %endif %global provider github %global provider_tld com %global project cri-o %global repo cri-o # https://github.com/cri-o/cri-o %global import_path %{provider}.%{provider_tld}/%{project}/%{repo} %global commit0 754d46b53595cf2db74d2a73a685d573910b814e %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) %global git0 https://%{import_path} %global service_name crio Name: %{repo} Version: 1.18.2 Release: 18.rhaos4.5.git%{shortcommit0}%{?dist} Summary: Kubernetes Container Runtime Interface for OCI-based containers License: ASL 2.0 URL: %{git0} Source0: %{git0}/archive/%{commit0}/%{name}-%{shortcommit0}.tar.gz Source1: seccomp.json Source3: %{service_name}-network.sysconfig Source4: %{service_name}-storage.sysconfig Source5: %{service_name}-metrics.sysconfig Source6: %{service_name}.service BuildRequires: golang BuildRequires: git BuildRequires: glib2-devel BuildRequires: glibc-static BuildRequires: go-md2man BuildRequires: gpgme-devel BuildRequires: libassuan-devel BuildRequires: libseccomp-devel BuildRequires: pkgconfig(systemd) Requires(pre): container-selinux Requires: skopeo-containers >= 1:0.1.40-1 Requires: runc >= 1.0.0-61.rc8 Obsoletes: ocid <= 0.3 Provides: ocid = %{version}-%{release} Provides: %{service_name} = %{version}-%{release} Requires: containernetworking-plugins >= 0.8.2-3 Requires: conmon >= 2.0.2-2 %description %{summary} %prep %autosetup -Sgit -n %{name}-%{commit0} cp %{SOURCE6} contrib/systemd/. sed -i 's/\.gopathok //' Makefile sed -i 's/%{version}/%{version}-%{release}/' internal/version/version.go sed -i 's/\/local//' contrib/systemd/%{service_name}.service sed -i 's/\/local//' contrib/systemd/%{service_name}-wipe.service %build mkdir _output pushd _output mkdir -p src/%{provider}.%{provider_tld}/{%{project},opencontainers} ln -s $(dirs +1 -l) src/%{import_path} popd ln -s vendor src export GOPATH=$(pwd)/_output:$(pwd) export BUILDTAGS="selinux seccomp exclude_graphdriver_devicemapper exclude_graphdriver_btrfs containers_image_ostree_stub" export GO111MODULE=off # https://bugzilla.redhat.com/show_bug.cgi?id=1825623 export VERSION=%{version} # build crio %gobuild -o bin/%{service_name} %{import_path}/cmd/%{service_name} # build crio-status %gobuild -o bin/crio-status %{import_path}/cmd/crio-status # build pinns and docs %{__make} bin/pinns %if 0%{?rhel} && ! 0%{?fedora} GO_MD2MAN=go-md2man GO="scl enable go-toolset-1.12 -- go" %{__make} docs %else GO_MD2MAN=go-md2man %{__make} docs %endif %install ./bin/%{service_name} \ --selinux \ --cgroup-manager "systemd" \ --storage-driver "overlay" \ --conmon "%{_libexecdir}/crio/conmon" \ --cni-plugin-dir "%{_libexecdir}/cni" \ --storage-opt "overlay.override_kernel_check=1" \ config > %{service_name}.conf # install conf files install -dp %{buildroot}%{_sysconfdir}/cni/net.d install -p -m 644 contrib/cni/10-crio-bridge.conf %{buildroot}%{_sysconfdir}/cni/net.d/100-crio-bridge.conf install -p -m 644 contrib/cni/99-loopback.conf %{buildroot}%{_sysconfdir}/cni/net.d/200-loopback.conf install -dp %{buildroot}%{_sysconfdir}/sysconfig #install -p -m 644 contrib/sysconfig/%%{service_name} %%{buildroot}%%{_sysconfdir}/sysconfig/%%{service_name} install -p -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/sysconfig/%{service_name}-network install -p -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/sysconfig/%{service_name}-storage install -p -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/sysconfig/%{service_name}-metrics make PREFIX=%{buildroot}%{_prefix} DESTDIR=%{buildroot} \ install.bin-nobuild \ install.completions \ install.config-nobuild \ install.man-nobuild \ install.systemd # install seccomp.json install -p -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/%{service_name}/seccomp.json install -dp %{buildroot}%{_sharedstatedir}/containers install -dp %{buildroot}%{_sharedstatedir}/cni/bin install -dp %{buildroot}%{_sysconfdir}/kubernetes/cni/net.d install -dp %{buildroot}%{_datadir}/containers/oci/hooks.d install -dp %{buildroot}/opt/cni/bin %check %if 0%{?with_check} export GOPATH=%{buildroot}/%{gopath}:$(pwd)/Godeps/_workspace:%{gopath} %endif %post %systemd_post %{service_name} %preun %systemd_preun %{service_name} %postun %systemd_postun_with_restart %{service_name} #define license tag if not already defined %{!?_licensedir:%global license %doc} %files %license LICENSE %doc README.md %{_bindir}/%{service_name} %{_bindir}/%{service_name}-status %{_bindir}/pinns %{_mandir}/man5/%{service_name}.conf*5* %{_mandir}/man8/%{service_name}*.8* %dir %{_sysconfdir}/%{service_name} %config(noreplace) %{_sysconfdir}/%{service_name}/%{service_name}.conf %config(noreplace) %{_sysconfdir}/%{service_name}/seccomp.json %config(noreplace) %{_sysconfdir}/sysconfig/%{service_name}-storage %config(noreplace) %{_sysconfdir}/sysconfig/%{service_name}-network %config(noreplace) %{_sysconfdir}/sysconfig/%{service_name}-metrics %config(noreplace) %{_sysconfdir}/cni/net.d/100-%{service_name}-bridge.conf %config(noreplace) %{_sysconfdir}/cni/net.d/200-loopback.conf %config(noreplace) %{_sysconfdir}/crictl.yaml %{_unitdir}/%{service_name}.service %{_unitdir}/%{name}.service %{_unitdir}/%{service_name}-shutdown.service %{_unitdir}/%{service_name}-wipe.service %dir %{_sharedstatedir}/containers %dir %{_sharedstatedir}/cni %dir %{_sharedstatedir}/cni/bin %dir %{_sysconfdir}/kubernetes %dir %{_sysconfdir}/kubernetes/cni %dir %{_sysconfdir}/kubernetes/cni/net.d %dir %{_datadir}/containers %dir %{_datadir}/containers/oci %dir %{_datadir}/containers/oci/hooks.d %dir /opt/cni %dir /opt/cni/bin %dir %{_datadir}/oci-umount %dir %{_datadir}/oci-umount/oci-umount.d %{_datadir}/oci-umount/oci-umount.d/%{service_name}-umount.conf %{_datadir}/bash-completion/completions/%{service_name}* %{_datadir}/fish/completions/%{service_name}*.fish %{_datadir}/zsh/site-functions/_%{service_name}* %changelog * Mon Jul 06 2020 Lokesh Mandvekar - 1.18.2-18.rhaos4.5.git754d46b - correct bogus date * Mon Jul 06 2020 Lokesh Mandvekar - 1.18.2-17.rhaos4.5.git754d46b - bump release tag * Thu Jul 02 2020 Lokesh Mandvekar (Bot) - 1.18.2-2.rhaos4.5.git754d46b - bump to 1.18.2 - autobuilt 754d46b * Thu Jul 02 2020 Lokesh Mandvekar (Bot) - bump to 1.15.1 - autobuilt * Wed Jun 24 2020 Lokesh Mandvekar (Bot) - 1.18.2-1.rhaos4.5.git754d46b6.dev.rhaos4.5.git754d46b - autobuilt 754d46b * Fri Jun 19 2020 Lokesh Mandvekar (Bot) - 1.18.2-1.rhaos4.5.git754d46b5.dev.rhaos4.5.git7c4494f - autobuilt 7c4494f * Thu Jun 18 2020 Lokesh Mandvekar (Bot) - 1.18.2-1.rhaos4.5.git754d46b4.dev.rhaos4.5.git7f261ae - bump to 1.18.2 - autobuilt 7f261ae * Wed Jun 17 2020 Lokesh Mandvekar (Bot) - 1.18.1-13.dev.rhaos4.5.git6d00f64 - autobuilt 6d00f64 * Wed Jun 17 2020 Lokesh Mandvekar (Bot) - 1.18.1-12.dev.rhaos4.5.gitd334894 - autobuilt d334894 * Wed Jun 17 2020 Lokesh Mandvekar (Bot) - 1.18.1-11.dev.rhaos4.5.git4b59581 - autobuilt 4b59581 * Tue Jun 16 2020 Lokesh Mandvekar (Bot) - 1.18.1-10.dev.rhaos4.5.git179ebfc - autobuilt 179ebfc * Mon Jun 15 2020 Lokesh Mandvekar (Bot) - 1.18.1-9.dev.rhaos4.5.git60e418b - autobuilt 60e418b * Tue Jun 09 2020 Lokesh Mandvekar (Bot) - 1.18.1-8.dev.rhaos4.5.git2948d1c - autobuilt 2948d1c * Mon Jun 08 2020 Lokesh Mandvekar (Bot) - 1.18.1-7.dev.rhaos4.5.git0a09165 - autobuilt 0a09165 * Thu Jun 04 2020 Peter Hunt - 1.18.1-6.dev.rhaos4.5.git5e39296 - Revert change adding /dev/fuse device to containers * Thu Jun 04 2020 Peter Hunt - 1.18.1-5.dev.rhaos4.5.git5e39296 - Unconditionally add /dev/fuse device to containers * Thu Jun 04 2020 Lokesh Mandvekar (Bot) - 1.18.1-4.dev.rhaos4.5.git5e39296 - autobuilt 5e39296 * Wed Jun 03 2020 Lokesh Mandvekar (Bot) - 1.18.1-3.dev.rhaos4.5.gitea514d3 - autobuilt ea514d3 * Tue Jun 02 2020 Lokesh Mandvekar (Bot) - 1.18.1-2.dev.rhaos4.5.git11019a7 - autobuilt 11019a7 * Tue May 19 2020 Lokesh Mandvekar - 1.18.1-1.dev.rhaos4.5.git60ac541 - Resolves: #1772858, #1785390 - build latest release-1.18 * Fri May 08 2020 Lokesh Mandvekar (Bot) - 1.18.0-17.dev.rhaos4.5.gitdea34b9 - autobuilt dea34b9 * Fri May 08 2020 Lokesh Mandvekar (Bot) - 1.18.0-16.dev.rhaos4.5.gitcb5c3bd - autobuilt cb5c3bd * Tue May 05 2020 Lokesh Mandvekar (Bot) - 1.18.0-15.dev.rhaos4.5.gitea79742 - autobuilt ea79742 * Mon May 04 2020 Lokesh Mandvekar (Bot) - 1.18.0-14.dev.rhaos4.5.git090931d - autobuilt 090931d * Fri May 01 2020 Lokesh Mandvekar (Bot) - 1.18.0-13.dev.rhaos4.5.git87f42de - autobuilt 87f42de * Thu Apr 30 2020 Lokesh Mandvekar (Bot) - 1.18.0-12.dev.rhaos4.5.git5eafabd - autobuilt 5eafabd * Wed Apr 29 2020 Lokesh Mandvekar (Bot) - 1.18.0-11.dev.rhaos4.5.gitd1a5c8c - autobuilt d1a5c8c * Tue Apr 28 2020 Lokesh Mandvekar (Bot) - 1.18.0-10.dev.rhaos4.5.gite1dd11d - autobuilt e1dd11d * Tue Apr 28 2020 Lokesh Mandvekar (Bot) - 1.18.0-9.dev.rhaos4.5.gite351f97 - autobuilt e351f97 * Mon Apr 27 2020 Lokesh Mandvekar (Bot) - 1.18.0-8.dev.rhaos4.5.gitd62a179 - autobuilt d62a179 * Sat Apr 25 2020 Lokesh Mandvekar (Bot) - 1.18.0-7.dev.rhaos4.5.gitb92e242 - autobuilt b92e242 * Sat Apr 25 2020 Lokesh Mandvekar (Bot) - 1.18.0-6.dev.rhaos4.5.giteccf06d - autobuilt eccf06d * Fri Apr 24 2020 Lokesh Mandvekar (Bot) - 1.18.0-5.dev.rhaos4.5.git7da4850 - autobuilt 7da4850 * Fri Apr 24 2020 Lokesh Mandvekar (Bot) - 1.18.0-4.dev.rhaos4.5.git7d79f42 - autobuilt 7d79f42 * Mon Apr 20 2020 Lokesh Mandvekar - 1.18.0-3.dev.rhaos4.5.git2cef6c3 - built 2cef6c3 * Sun Apr 19 2020 Colin Walters - 1.18.0-2.rhaos4.5 - Export version from RPM spec * Fri Apr 17 2020 Lokesh Mandvekar - 1.18.0-1.rhaos4.5 - bump to v1.18.0-rc1 * Mon Apr 13 2020 Jindrich Novy - 1.17.3-1.rhaos4.5 - update to https://github.com/cri-o/cri-o/releases/tag/v1.17.3 - simplify package NVR and delivery - Resolves: #1821511 * Wed Apr 01 2020 Jindrich Novy - 1.17.0-10.dev.rhaos4.5.gitdfc8414 - initial build for rhaos4.5