diff --git a/.gitignore b/.gitignore index c0377e7..839e3bb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,49 @@ -/cri-o-1.25.0.tar.gz -/cri-o-1.25.1.tar.gz -/cri-o-1.25.2.tar.gz -/cri-o-1.25.3.tar.gz +/cri-o-441bd3d.tar.gz +/cri-o-3eac3b2.tar.gz +/cri-o-4fbb022.tar.gz +/cri-o-e0c89d8.tar.gz +/cri-o-71cc465.tar.gz +/cri-o-774a29e.tar.gz +/cri-o-18bc811.tar.gz +/cri-o-e8a2525.tar.gz +/cri-o-d70609a.tar.gz +/cri-o-b7644f6.tar.gz +/cri-o-485227d.tar.gz +/cri-o-f0827bb.tar.gz +/cri-o-b731670.tar.gz +/cri-o-6a4b481.tar.gz +/cri-o-a783f23.tar.gz +/cri-o-bf8fcf3.tar.gz +/cri-o-cd4b6ae.tar.gz +/cri-o-b89a5fc.tar.gz +/cri-o-6d0ffae.tar.gz +/cri-o-ee2de87.tar.gz +/v1.17.1.tar.gz +/v1.17.2.tar.gz +/v1.18.0-rc1.tar.gz +/v1.18.0.tar.gz +/v1.18.1.tar.gz +/v1.18.2.tar.gz +/v1.18.3.tar.gz +/v1.19.0.tar.gz +/v1.20.0.tar.gz +/v1.20.1.tar.gz +/v1.20.2.tar.gz +/cri-o-1.21.1.tar.gz +/cri-o-1.21.2.tar.gz +/cri-o-1.22.0.tar.gz +/cri-o-1.22.1.tar.gz +/cri-o-1.23.0.tar.gz +/cri-o-1.23.1.tar.gz +/cri-o-1.23.2.tar.gz +/cri-o-1.24.1.tar.gz +/cri-o-1.26.1.tar.gz +/cri-o-1.27.0.tar.gz +/cri-o-1.27.1.tar.gz +/cri-o-1.28.0.tar.gz +/cri-o-1.28.2.tar.gz +/cri-o-1.29.2.tar.gz +/cri-o-1.29.3.tar.gz +/cri-o-1.29.4.tar.gz +/cri-o-1.31.1.tar.gz +/cri-o-1.32.0.tar.gz diff --git a/cri-o.spec b/cri-o.spec index 681034f..6f0a55b 100644 --- a/cri-o.spec +++ b/cri-o.spec @@ -1,8 +1,15 @@ # https://github.com/cri-o/cri-o %global goipath github.com/cri-o/cri-o -Version: 1.25.3 +%global service_name crio -%if 0%{?rhel} && 0%{?rhel} <= 8 +# Related: github.com/cri-o/cri-o/issues/3684 +%global build_timestamp %(date -u +'%Y-%m-%dT%H:%M:%SZ') +%global git_tree_state clean +%global criocli_path "" + +Version: 1.32.0 + +%if 0%{?rhel} && 0%{?rhel} <= 9 %define gobuild(o:) %{expand: # https://bugzilla.redhat.com/show_bug.cgi?id=995136#c12 %global _dwz_low_mem_die_limit 0 @@ -18,36 +25,22 @@ Version: 1.25.3 %bcond_without check %endif -# Related: github.com/cri-o/cri-o/issues/3684 -%global build_timestamp %(date -u +'%Y-%m-%dT%H:%M:%SZ') -%global git_tree_state clean -%global criocli_path "" - -# Used for comparing with latest upstream tag -# to decide whether to autobuild (non-rawhide only) -%global built_tag v%{version} -%global built_tag_strip %(b=%{built_tag}; echo ${b:1}) -%global crio_release_tag %(echo %{built_tag_strip} | cut -f1,2 -d'.') - -# Services -%global service_name crio - # Commit for the builds -%global commit0 592efcda1042c3f675b0299757a51450d38458ea +%global commit0 b7f3c240bcbda6fae8d43561694d18317e09e167 Name: cri-o Epoch: 0 -Release: 2%{?dist} +Release: 5%{?dist} Summary: Open Container Initiative-based implementation of Kubernetes Container Runtime Interface - # Upstream license specification: Apache-2.0 -License: ASL 2.0 +# Automatically converted from old format: ASL 2.0 - review is highly recommended. +License: Apache-2.0 URL: https://github.com/cri-o/cri-o Source0: %url/archive/v%{version}/%{name}-%{version}.tar.gz %if 0%{?rhel} -BuildRequires: golang >= 1.19 +BuildRequires: golang >= 1.23 %endif %if 0%{?rhel} && 0%{?rhel} <= 8 # e.g. el6 has ppc64 arch without gcc-go, so EA tag is required @@ -96,7 +89,7 @@ Open Container Initiative-based implementation of Kubernetes Container Runtime Interface. %prep -%if 0%{?rhel} && 0%{?rhel} <= 8 +%if 0%{?rhel} && 0%{?rhel} <= 9 %autosetup -p1 -n %{name}-%{version} %else %goprep -k @@ -111,17 +104,19 @@ sed -i 's/\/local//' contrib/systemd/%{service_name}.service sed -i 's/\/local//' contrib/systemd/%{service_name}-wipe.service %build +%global __golang_extldflags -Wl,-z,undefs + export GO111MODULE=on export GOFLAGS=-mod=vendor -export BUILDTAGS="$(hack/btrfs_installed_tag.sh) -$(hack/btrfs_tag.sh) $(hack/libdm_installed.sh) -$(hack/libdm_no_deferred_remove_tag.sh) -$(hack/seccomp_tag.sh) -$(hack/selinux_tag.sh)" +export BUILDTAGS="containers_image_ostree_stub +$(hack/btrfs_installed_tag.sh) +$(hack/btrfs_tag.sh) $(hack/openpgp_tag.sh) +$(hack/seccomp_tag.sh) $(hack/selinux_tag.sh) +$(hack/libsubid_tag.sh) exclude_graphdriver_devicemapper" %if 0%{?rhel} && 0%{?rhel} <= 8 - BUILDTAGS="$BUILDTAGS containers_image_openpgp" +BUILDTAGS="$BUILDTAGS containers_image_openpgp" %endif export BASE_LDFLAGS="-X %{goipath}/internal/pkg/criocli.DefaultsPath=%{criocli_path} @@ -157,8 +152,8 @@ install -p -m 755 bin/%{service_name} %{buildroot}%{_bindir} # 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 -p -m 644 contrib/cni/10-crio-bridge.conflist %{buildroot}%{_sysconfdir}/cni/net.d/100-crio-bridge.conflist +install -p -m 644 contrib/cni/99-loopback.conflist %{buildroot}%{_sysconfdir}/cni/net.d/200-loopback.conflist install -dp %{buildroot}%{_sysconfdir}/%{service_name} install -dp %{buildroot}%{_datadir}/containers/oci/hooks.d @@ -199,18 +194,17 @@ sed -i -e 's/,metacopy=on//g' /etc/containers/storage.conf %systemd_postun_with_restart %{service_name} %files -%license LICENSE +%license LICENSE vendor/modules.txt %doc docs code-of-conduct.md tutorial.md ADOPTERS.md CONTRIBUTING.md README.md %doc awesome.md transfer.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}/cni/net.d/100-%{service_name}-bridge.conf -%config(noreplace) %{_sysconfdir}/cni/net.d/200-loopback.conf +%config(noreplace) %{_sysconfdir}/cni/net.d/100-%{service_name}-bridge.conflist +%config(noreplace) %{_sysconfdir}/cni/net.d/200-loopback.conflist %config(noreplace) %{_sysconfdir}/crictl.yaml %dir %{_libexecdir}/%{service_name} %{_unitdir}/%{service_name}.service @@ -230,14 +224,79 @@ sed -i -e 's/,metacopy=on//g' /etc/containers/storage.conf %endif %changelog -* Thu Apr 13 2023 Peter Hunt - 0:1.25.3-2 -- add containers_image_openpgp tag on el7 +* Fri Oct 10 2025 Alejandro Sáez - 0:1.32.0-5 +- rebuild -* Tue Apr 04 2023 Peter Hunt - 0:1.25.3-1 -- bump to v1.25.3 +* Fri Aug 15 2025 Maxwell G - 0:1.32.0-4 +- Rebuild for golang-1.25.0 -* Tue Jan 10 2023 Peter Hunt~ - 0:1.25.2-1 -- bump to v1.25.2 +* Wed Jul 23 2025 Fedora Release Engineering - 0:1.32.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Jan 16 2025 Fedora Release Engineering - 0:1.32.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Mon Dec 23 2024 Bradley G Smith - 0:1.32.0-1 +- Bump to v1.32.0 +- Add -Wl,-z,undefs linker flags to resolve https://github.com/cri-o/cri-o/issues/8860 +- Update BUILDTAGS to conform to upstream + +* Thu Oct 24 2024 Dennis Gilmore - 0:1.31.1-1 +- update to 1.31.1 + +* Wed Jul 24 2024 Miroslav Suchý - 0:1.29.4-3 +- convert license to SPDX + +* Wed Jul 17 2024 Fedora Release Engineering - 0:1.29.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Apr 30 2024 Bradley G Smith - 0:1.29.4-1 +- Bump to v1.29.4 +- Resolves CVE-2024-3154, a security flaw where CRI-O allowed users to specify annotations that changed specific fields in the runtime. + +* Sat Apr 27 2024 Bradley G Smith - 0:1.29.3-1 +- Bump to v1.29.3 +- Add support for autogenerated bundled provides +- Remove otelttrpc patch added in v1.29.2 to fix rpm build error. No longer needed. + +* Thu Mar 21 2024 Peter Hunt - 0:1.29.2-1 +- bump to v1.29.2 + +* Sun Feb 11 2024 Maxwell G - 0:1.28.2-5 +- Rebuild for golang 1.22.0 + +* Sun Feb 11 2024 Maxwell G - 0:1.28.2-4 +- Rebuild for golang 1.22.0 + +* Wed Jan 24 2024 Fedora Release Engineering - 0:1.28.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 0:1.28.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Dec 04 2023 Christian Glombek - 0:1.28.2-1 +- bump to v1.28.2 + +* Thu Aug 24 2023 Peter Hunt - 0:1.28.0-1 +- bump to v1.28.0 + +* Thu Jul 20 2023 T K Chandra Hasan - 0:1.27.1-1 +- bump to v1.27.1 + +* Wed Jul 19 2023 Fedora Release Engineering - 0:1.27.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Apr 25 2023 Peter Hunt - 0:1.27.0-1 +- bump to v1.27.0 + +* Wed Jan 25 2023 Peter Hunt~ - 0:1.26.1-2 +- update for obs + +* Tue Jan 10 2023 Peter Hunt~ - 0:1.26.1-1 +- bump to v1.26.1 + +* Fri Dec 23 2022 Peter Hunt~ - 0:1.26.0-1 +- bump to v1.26.0 * Fri Oct 07 2022 Peter Hunt~ - 0:1.25.1-1 - bump to v1.25.1 @@ -606,7 +665,7 @@ sed -i -e 's/,metacopy=on//g' /etc/containers/storage.conf - Configurable image volume support - Bugs and Stability fixes - OCI 1.0 runtime support -- Dropped internal runc, and now use systems runc +- Dropped internal runc, and now use systems runc * Fri Jun 30 2017 Lokesh Mandvekar - 1.0.0.alpha.0-1.git91977d3 - built commit 91977d3 diff --git a/sources b/sources index 9c32a46..9249c0d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cri-o-1.25.3.tar.gz) = 39b162c55141af009879f600c4b6cf91b6d710392bf07783080efe195f3ece1a0ed186eeadaf3a84bbed11a376995c3fab3c951a6d7ed14bb7e85b39e7920e21 +SHA512 (cri-o-1.32.0.tar.gz) = 800091f74a3176edfee207cdb85b207913d9433d3d6fa5f5ba971d026fd5d5a5daaee646cb8f983bceea5c4f75cb75a0093ae835b77cca2567de00819d400f96 diff --git a/tests/test_crio.sh b/tests/test_crio.sh new file mode 100755 index 0000000..fd1a9ae --- /dev/null +++ b/tests/test_crio.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# +# Simple wrapper for cri-o tests +# + +set -x + +exec >/tmp/test.debug.log 2>&1 + +echo "************************************************************************" +echo "* This log contains the output from test_crio.sh." +echo "*" +echo "* It is almost certainly not what you want. What you want is" +echo "* probably test.full.log , which is the output of test_runner.sh ," +echo "* the actual cri-o tests." +echo "************************************************************************" + +rm -f /tmp/test.log /tmp/test.full.log + +cd /usr/share/cri-o/test + +# Gah +cp --force redhat_sigstore.yaml \ + /etc/containers/registries.d/registry.access.redhat.com.yaml + +export CRIO_CNI_PLUGIN=/usr/libexec/cni +export PAUSE_BINARY=/usr/libexec/crio/pause +export CRIO_BINARY=/usr/bin/crio +export CONMON_BINARY=/usr/libexec/crio/conmon +export SECCOMP_PROFILE=/etc/crio/seccomp.json + +./test_runner.sh &> /tmp/test.full.log + +status=$? + +# Sample output from cri-tests: +# +# not ok 35 ctr update resources +# ok 84 pod stop idempotent with ctrs already stopped +# ok 86 # skip (need systemd cgroup manager) invalid systemd cgroup_parent +# +# convert those to: +# +# FAIL 35 ctr ... +# PASS 84 pod stop ... +# +sed -n \ + -e 's/^ok /PASS /p' \ + -e 's/^not ok /FAIL /p' \ + /tmp/test.log + +exit $status diff --git a/tests/test_crio.yml b/tests/test_crio.yml new file mode 100644 index 0000000..42a7f3a --- /dev/null +++ b/tests/test_crio.yml @@ -0,0 +1,36 @@ +--- +- hosts: localhost + vars: + - artifacts: ./artifacts + tags: + - classic + - container +# - atomic + + tasks: + - name: install integration tests + dnf: name={{ item }} state=present enablerepo=updates-testing + with_items: + - cri-o + - cri-o-integration-tests + - cri-tools + - nmap-ncat + - socat + - containernetworking-cni + - conntrack-tools + - python2 + - bats + + - block: + - name: Run test + script: ./test_crio.sh + always: + - name: Pull out logs + fetch: + src: "/tmp/{{ item }}" + dest: "{{ artifacts }}/{{ item }}" + flat: yes + with_items: + - test.log + - test.debug.log + - test.full.log diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..7c259f4 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1 @@ +- import_playbook: test_crio.yml