fa61e0
# Bellow definitions are used to deliver config files from a particular branch
fa61e0
# of c/image, c/common, c/storage vendored in all podman, skopeo, buildah.
fa61e0
# These vendored components must have the same version. If it is not the case,
fa61e0
# pick the oldest version on c/image, c/common, c/storage vendored in
fa61e0
# podman/skopeo/podman.
fa61e0
%global skopeo_branch main
fa61e0
%global image_branch v5.16.0
617262
%global common_branch v0.44.3
fa61e0
%global storage_branch v1.36.0
fa61e0
%global shortnames_branch main
fa61e0
fa61e0
Epoch: 2
fa61e0
Name: containers-common
fa61e0
Version: 1
617262
Release: 13%{?dist}
fa61e0
Summary: Common configuration and documentation for containers
fa61e0
License: ASL 2.0
fa61e0
BuildArch: noarch
fa61e0
BuildRequires: go-md2man
fa61e0
Provides: skopeo-containers = %{epoch}:%{version}-%{release}
fa61e0
Requires: (container-selinux >= 2:2.162.1 if selinux-policy)
fa61e0
Requires: oci-runtime
fa61e0
%if 0%{?rhel} >= 9 || 0%{?fedora}
fa61e0
Requires: crun >= 0.19
fa61e0
%else
fa61e0
Requires: runc
fa61e0
%endif
fa61e0
Requires: system-release
fa61e0
Suggests: subscription-manager
fa61e0
Recommends: fuse-overlayfs
fa61e0
Recommends: slirp4netns
fa61e0
Source1: https://raw.githubusercontent.com/containers/storage/%{storage_branch}/storage.conf
fa61e0
Source2: https://raw.githubusercontent.com/containers/storage/%{storage_branch}/docs/containers-storage.conf.5.md
fa61e0
Source3: mounts.conf
fa61e0
Source4: https://raw.githubusercontent.com/containers/image/%{image_branch}/docs/containers-registries.conf.5.md
fa61e0
#Source5: https://raw.githubusercontent.com/containers/image/%%{image_branch}/registries.conf
fa61e0
Source5: registries.conf
fa61e0
Source6: https://raw.githubusercontent.com/containers/image/%{image_branch}/docs/containers-policy.json.5.md
617262
Source7: https://raw.githubusercontent.com/containers/common/%{common_branch}/pkg/seccomp/seccomp.json
fa61e0
Source8: https://raw.githubusercontent.com/containers/common/%{common_branch}/docs/containers-mounts.conf.5.md
fa61e0
Source9: https://raw.githubusercontent.com/containers/image/%{image_branch}/docs/containers-signature.5.md
fa61e0
Source10: https://raw.githubusercontent.com/containers/image/%{image_branch}/docs/containers-transports.5.md
fa61e0
Source11: https://raw.githubusercontent.com/containers/image/%{image_branch}/docs/containers-certs.d.5.md
fa61e0
Source12: https://raw.githubusercontent.com/containers/image/%{image_branch}/docs/containers-registries.d.5.md
fa61e0
Source13: https://raw.githubusercontent.com/containers/common/%{common_branch}/pkg/config/containers.conf
fa61e0
Source14: https://raw.githubusercontent.com/containers/common/%{common_branch}/docs/containers.conf.5.md
fa61e0
Source15: https://raw.githubusercontent.com/containers/image/%{image_branch}/docs/containers-auth.json.5.md
fa61e0
Source16: https://raw.githubusercontent.com/containers/image/%{image_branch}/docs/containers-registries.conf.d.5.md
fa61e0
Source17: https://raw.githubusercontent.com/containers/shortnames/%{shortnames_branch}/shortnames.conf
fa61e0
Source19: 001-rhel-shortnames-pyxis.conf
fa61e0
Source20: 002-rhel-shortnames-overrides.conf
fa61e0
Source21: RPM-GPG-KEY-redhat-release
fa61e0
Source22: registry.access.redhat.com.yaml
fa61e0
Source23: registry.redhat.io.yaml
fa61e0
#Source24: https://raw.githubusercontent.com/containers/skopeo/%%{skopeo_branch}/default-policy.json
fa61e0
Source24: default-policy.json
fa61e0
Source25: https://raw.githubusercontent.com/containers/skopeo/%{skopeo_branch}/default.yaml
fa61e0
# scripts used for synchronization with upstream and shortname generation
fa61e0
Source100: update.sh
fa61e0
Source101: update-vendored.sh
fa61e0
Source102: pyxis.sh
fa61e0
fa61e0
%description
fa61e0
This package contains common configuration files and documentation for container
fa61e0
tools ecosystem, such as Podman, Buildah and Skopeo.
fa61e0
fa61e0
It is required because the most of configuration files and docs come from projects
fa61e0
which are vendored into Podman, Buildah, Skopeo, etc. but they are not packaged
fa61e0
separately.
fa61e0
fa61e0
%prep
fa61e0
fa61e0
%build
fa61e0
fa61e0
%install
fa61e0
install -dp %{buildroot}%{_sysconfdir}/containers/{certs.d,oci/hooks.d,registries.d,registries.conf.d}
fa61e0
install -m0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/containers/storage.conf
fa61e0
install -m0644 %{SOURCE5} %{buildroot}%{_sysconfdir}/containers/registries.conf
fa61e0
install -m0644 %{SOURCE17} %{buildroot}%{_sysconfdir}/containers/registries.conf.d/000-shortnames.conf
fa61e0
install -m0644 %{SOURCE19} %{buildroot}%{_sysconfdir}/containers/registries.conf.d/001-rhel-shortnames.conf
fa61e0
install -m0644 %{SOURCE20} %{buildroot}%{_sysconfdir}/containers/registries.conf.d/002-rhel-shortnames-overrides.conf
fa61e0
fa61e0
# for signature verification
fa61e0
%if !0%{?rhel} || 0%{?centos}
fa61e0
install -dp %{buildroot}%{_sysconfdir}/pki/rpm-gpg
fa61e0
install -m0644 %{SOURCE21} %{buildroot}%{_sysconfdir}/pki/rpm-gpg
fa61e0
%endif
fa61e0
install -dp %{buildroot}%{_sysconfdir}/containers/registries.d
fa61e0
install -m0644 %{SOURCE22} %{buildroot}%{_sysconfdir}/containers/registries.d
fa61e0
install -m0644 %{SOURCE23} %{buildroot}%{_sysconfdir}/containers/registries.d
fa61e0
install -m0644 %{SOURCE24} %{buildroot}%{_sysconfdir}/containers/policy.json
fa61e0
install -dp %{buildroot}%{_sharedstatedir}/containers/sigstore
fa61e0
install -m0644 %{SOURCE25} %{buildroot}%{_sysconfdir}/containers/registries.d/default.yaml
fa61e0
fa61e0
# for containers-common
fa61e0
install -dp %{buildroot}%{_mandir}/man5
fa61e0
go-md2man -in %{SOURCE2} -out %{buildroot}%{_mandir}/man5/containers-storage.conf.5
fa61e0
go-md2man -in %{SOURCE4} -out %{buildroot}%{_mandir}/man5/containers-registries.conf.5
fa61e0
go-md2man -in %{SOURCE6} -out %{buildroot}%{_mandir}/man5/containers-policy.json.5
fa61e0
go-md2man -in %{SOURCE8} -out %{buildroot}%{_mandir}/man5/containers-mounts.conf.5
fa61e0
go-md2man -in %{SOURCE9} -out %{buildroot}%{_mandir}/man5/containers-signature.5
fa61e0
go-md2man -in %{SOURCE10} -out %{buildroot}%{_mandir}/man5/containers-transports.5
fa61e0
go-md2man -in %{SOURCE11} -out %{buildroot}%{_mandir}/man5/containers-certs.d.5
fa61e0
go-md2man -in %{SOURCE12} -out %{buildroot}%{_mandir}/man5/containers-registries.d.5
fa61e0
go-md2man -in %{SOURCE14} -out %{buildroot}%{_mandir}/man5/containers.conf.5
fa61e0
go-md2man -in %{SOURCE15} -out %{buildroot}%{_mandir}/man5/containers-auth.json.5
fa61e0
go-md2man -in %{SOURCE16} -out %{buildroot}%{_mandir}/man5/containers-registries.conf.d.5
fa61e0
fa61e0
install -dp %{buildroot}%{_datadir}/containers
fa61e0
install -m0644 %{SOURCE3} %{buildroot}%{_datadir}/containers/mounts.conf
fa61e0
install -m0644 %{SOURCE7} %{buildroot}%{_datadir}/containers/seccomp.json
fa61e0
install -m0644 %{SOURCE13} %{buildroot}%{_datadir}/containers/containers.conf
fa61e0
fa61e0
# install secrets patch directory
fa61e0
install -d -p -m 755 %{buildroot}/%{_datadir}/rhel/secrets
fa61e0
# rhbz#1110876 - update symlinks for subscription management
fa61e0
ln -s %{_sysconfdir}/pki/entitlement %{buildroot}%{_datadir}/rhel/secrets/etc-pki-entitlement
fa61e0
ln -s %{_sysconfdir}/rhsm %{buildroot}%{_datadir}/rhel/secrets/rhsm
fa61e0
ln -s %{_sysconfdir}/yum.repos.d/redhat.repo %{buildroot}%{_datadir}/rhel/secrets/redhat.repo
fa61e0
fa61e0
# ship preconfigured /etc/containers/registries.d/ files with containers-common - #1903813
fa61e0
cat <<EOF > %{buildroot}%{_sysconfdir}/containers/registries.d/registry.access.redhat.com.yaml
fa61e0
docker:
fa61e0
     registry.access.redhat.com:
fa61e0
         sigstore: https://access.redhat.com/webassets/docker/content/sigstore
fa61e0
EOF
fa61e0
fa61e0
cat <<EOF > %{buildroot}%{_sysconfdir}/containers/registries.d/registry.redhat.io.yaml
fa61e0
docker:
fa61e0
     registry.redhat.io:
fa61e0
         sigstore: https://registry.redhat.io/containers/sigstore
fa61e0
EOF
fa61e0
fa61e0
%files
fa61e0
%dir %{_sysconfdir}/containers
fa61e0
%dir %{_sysconfdir}/containers/certs.d
fa61e0
%dir %{_sysconfdir}/containers/registries.d
fa61e0
%{_sysconfdir}/containers/registries.d/registry.redhat.io.yaml
fa61e0
%{_sysconfdir}/containers/registries.d/registry.access.redhat.com.yaml
fa61e0
%dir %{_sysconfdir}/containers/oci
fa61e0
%dir %{_sysconfdir}/containers/oci/hooks.d
fa61e0
%dir %{_sysconfdir}/containers/registries.conf.d
fa61e0
%if !0%{?rhel} || 0%{?centos}
fa61e0
%{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
fa61e0
%endif
fa61e0
%config(noreplace) %{_sysconfdir}/containers/policy.json
fa61e0
%config(noreplace) %{_sysconfdir}/containers/registries.d/default.yaml
fa61e0
%config(noreplace) %{_sysconfdir}/containers/storage.conf
fa61e0
%config(noreplace) %{_sysconfdir}/containers/registries.conf
fa61e0
%config(noreplace) %{_sysconfdir}/containers/registries.conf.d/*.conf
fa61e0
%config(noreplace) %{_sysconfdir}/containers/registries.d/*.yaml
fa61e0
%ghost %{_sysconfdir}/containers/containers.conf
fa61e0
%dir %{_sharedstatedir}/containers/sigstore
fa61e0
%{_mandir}/man5/*
fa61e0
%dir %{_datadir}/containers
fa61e0
%{_datadir}/containers/mounts.conf
fa61e0
%{_datadir}/containers/seccomp.json
fa61e0
%{_datadir}/containers/containers.conf
fa61e0
%dir %{_datadir}/rhel/secrets
fa61e0
%{_datadir}/rhel/secrets/*
fa61e0
fa61e0
%changelog
617262
* Tue Nov 30 2021 Jindrich Novy <jnovy@redhat.com> - 2:1-13
617262
- use log_driver = "journald" and events_logger = "journald" for RHEL9
617262
- Related: #2000051
617262
617262
* Tue Nov 16 2021 Jindrich Novy <jnovy@redhat.com> - 2:1-12
617262
- consume seccomp.json from the oldest vendored version of c/common,
617262
  not main branch
617262
- Related: #2000051
617262
617262
* Fri Nov 12 2021 Jindrich Novy <jnovy@redhat.com> - 2:1-11
617262
- use ubi8/pause as ubi9/pause is not available yet
617262
- Related: #2000051
617262
617262
* Wed Nov 10 2021 Jindrich Novy <jnovy@redhat.com> - 2:1-10
617262
- update vendored components
617262
- Related: #2000051
617262
617262
* Tue Nov 02 2021 Jindrich Novy <jnovy@redhat.com> - 2:1-9
617262
- make log_driver = "k8s-file" default in containers.conf
617262
- Related: #2000051
617262
fa61e0
* Fri Oct 01 2021 Jindrich Novy <jnovy@redhat.com> - 2:1-8
fa61e0
- perform only sanity/installability tests for now
fa61e0
- Related: #2000051
fa61e0
fa61e0
* Wed Sep 29 2021 Jindrich Novy <jnovy@redhat.com> - 2:1-7
fa61e0
- update to the new vendored components
fa61e0
- Related: #2000051
fa61e0
fa61e0
* Wed Sep 29 2021 Jindrich Novy <jnovy@redhat.com> - 2:1-6
fa61e0
- add gating.yaml
fa61e0
- Related: #2000051
fa61e0
fa61e0
* Fri Sep 24 2021 Jindrich Novy <jnovy@redhat.com> - 2:1-5
fa61e0
- update to the new vendored components
fa61e0
- Related: #2000051
fa61e0
fa61e0
* Fri Sep 10 2021 Jindrich Novy <jnovy@redhat.com> - 2:1-4
fa61e0
- fix updating scripts
fa61e0
- Related: #2000051
fa61e0
fa61e0
* Thu Sep 09 2021 Jindrich Novy <jnovy@redhat.com> - 2:1-3
fa61e0
- update to the new vendored components
fa61e0
- Related: #2000051
fa61e0
fa61e0
* Fri Aug 20 2021 Lokesh Mandvekar <lsm5@fedoraproject.org> - 2:1-2
fa61e0
- bump configs to latest versions
fa61e0
- replace ubi9 references with ubi8
fa61e0
- Related: #1970747
fa61e0
fa61e0
* Wed Aug 11 2021 Jindrich Novy <jnovy@redhat.com> - 2:1-1
fa61e0
- initial import
fa61e0
- Related: #1970747