5dd126
# Bellow definitions are used to deliver config files from a particular branch
5dd126
# of c/image, c/common, c/storage vendored in all podman, skopeo, buildah.
5dd126
# These vendored components must have the same version. If it is not the case,
5dd126
# pick the oldest version on c/image, c/common, c/storage vendored in
5dd126
# podman/skopeo/podman.
5dd126
%global skopeo_branch release-1.4
5dd126
%global podman_branch v3.3
5dd126
%global image_branch v5.15.0
5dd126
%global common_branch v0.42.0
5dd126
%global storage_branch v1.33.1
5dd126
%global shortnames_branch main
5dd126
5dd126
Epoch: 2
5dd126
Name: containers-common
5dd126
Version: 1
5dd126
Release: 2%{?dist}
5dd126
Summary: Common configuration and documentation for containers
5dd126
License: ASL 2.0
5dd126
BuildArch: noarch
5dd126
BuildRequires: go-md2man
5dd126
Provides: skopeo-containers = %{epoch}:%{version}-%{release}
5dd126
Requires: (container-selinux >= 2:2.162.1 if selinux-policy)
5dd126
Requires: oci-runtime
5dd126
%if 0%{?rhel} >= 9 || 0%{?fedora}
5dd126
Requires: crun >= 0.19
5dd126
%else
5dd126
Requires: runc
5dd126
%endif
5dd126
Requires: system-release
5dd126
Suggests: subscription-manager
5dd126
Recommends: fuse-overlayfs
5dd126
Recommends: slirp4netns
5dd126
Source1: https://raw.githubusercontent.com/containers/storage/%{storage_branch}/storage.conf
5dd126
Source2: https://raw.githubusercontent.com/containers/storage/%{storage_branch}/docs/containers-storage.conf.5.md
5dd126
Source3: mounts.conf
5dd126
Source4: https://raw.githubusercontent.com/containers/image/%{image_branch}/docs/containers-registries.conf.5.md
5dd126
#Source5: https://raw.githubusercontent.com/containers/image/%%{image_branch}/registries.conf
5dd126
Source5: registries.conf
5dd126
Source6: https://raw.githubusercontent.com/containers/image/%{image_branch}/docs/containers-policy.json.5.md
5dd126
Source7: https://raw.githubusercontent.com/containers/common/main/pkg/seccomp/seccomp.json
5dd126
Source8: https://raw.githubusercontent.com/containers/common/%{common_branch}/docs/containers-mounts.conf.5.md
5dd126
Source9: https://raw.githubusercontent.com/containers/image/%{image_branch}/docs/containers-signature.5.md
5dd126
Source10: https://raw.githubusercontent.com/containers/image/%{image_branch}/docs/containers-transports.5.md
5dd126
Source11: https://raw.githubusercontent.com/containers/image/%{image_branch}/docs/containers-certs.d.5.md
5dd126
Source12: https://raw.githubusercontent.com/containers/image/%{image_branch}/docs/containers-registries.d.5.md
5dd126
Source13: https://raw.githubusercontent.com/containers/common/%{common_branch}/pkg/config/containers.conf
5dd126
Source14: https://raw.githubusercontent.com/containers/common/%{common_branch}/docs/containers.conf.5.md
5dd126
Source15: https://raw.githubusercontent.com/containers/image/%{image_branch}/docs/containers-auth.json.5.md
5dd126
Source16: https://raw.githubusercontent.com/containers/image/%{image_branch}/docs/containers-registries.conf.d.5.md
5dd126
Source17: https://raw.githubusercontent.com/containers/shortnames/%{shortnames_branch}/shortnames.conf
5dd126
Source19: 001-rhel-shortnames-pyxis.conf
5dd126
Source20: 002-rhel-shortnames-overrides.conf
5dd126
Source21: RPM-GPG-KEY-redhat-release
5dd126
Source22: registry.access.redhat.com.yaml
5dd126
Source23: registry.redhat.io.yaml
5dd126
#Source24: https://raw.githubusercontent.com/containers/skopeo/%%{skopeo_branch}/default-policy.json
5dd126
Source24: default-policy.json
5dd126
Source25: https://raw.githubusercontent.com/containers/skopeo/%{skopeo_branch}/default.yaml
5dd126
# scripts used for synchronization with upstream and shortname generation
5dd126
Source100: update.sh
5dd126
Source101: update-vendored.sh
5dd126
Source102: pyxis.sh
5dd126
5dd126
%description
5dd126
This package contains common configuration files and documentation for container
5dd126
tools ecosystem, such as Podman, Buildah and Skopeo.
5dd126
5dd126
It is required because the most of configuration files and docs come from projects
5dd126
which are vendored into Podman, Buildah, Skopeo, etc. but they are not packaged
5dd126
separately.
5dd126
5dd126
%prep
5dd126
5dd126
%build
5dd126
5dd126
%install
5dd126
install -dp %{buildroot}%{_sysconfdir}/containers/{certs.d,oci/hooks.d,registries.d,registries.conf.d}
5dd126
install -m0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/containers/storage.conf
5dd126
install -m0644 %{SOURCE5} %{buildroot}%{_sysconfdir}/containers/registries.conf
5dd126
install -m0644 %{SOURCE17} %{buildroot}%{_sysconfdir}/containers/registries.conf.d/000-shortnames.conf
5dd126
install -m0644 %{SOURCE19} %{buildroot}%{_sysconfdir}/containers/registries.conf.d/001-rhel-shortnames.conf
5dd126
install -m0644 %{SOURCE20} %{buildroot}%{_sysconfdir}/containers/registries.conf.d/002-rhel-shortnames-overrides.conf
5dd126
5dd126
# for signature verification
5dd126
%if !0%{?rhel} || 0%{?centos}
5dd126
install -dp %{buildroot}%{_sysconfdir}/pki/rpm-gpg
5dd126
install -m0644 %{SOURCE21} %{buildroot}%{_sysconfdir}/pki/rpm-gpg
5dd126
%endif
5dd126
install -dp %{buildroot}%{_sysconfdir}/containers/registries.d
5dd126
install -m0644 %{SOURCE22} %{buildroot}%{_sysconfdir}/containers/registries.d
5dd126
install -m0644 %{SOURCE23} %{buildroot}%{_sysconfdir}/containers/registries.d
5dd126
install -m0644 %{SOURCE24} %{buildroot}%{_sysconfdir}/containers/policy.json
5dd126
install -dp %{buildroot}%{_sharedstatedir}/containers/sigstore
5dd126
install -m0644 %{SOURCE25} %{buildroot}%{_sysconfdir}/containers/registries.d/default.yaml
5dd126
5dd126
# for containers-common
5dd126
install -dp %{buildroot}%{_mandir}/man5
5dd126
go-md2man -in %{SOURCE2} -out %{buildroot}%{_mandir}/man5/containers-storage.conf.5
5dd126
go-md2man -in %{SOURCE4} -out %{buildroot}%{_mandir}/man5/containers-registries.conf.5
5dd126
go-md2man -in %{SOURCE6} -out %{buildroot}%{_mandir}/man5/containers-policy.json.5
5dd126
go-md2man -in %{SOURCE8} -out %{buildroot}%{_mandir}/man5/containers-mounts.conf.5
5dd126
go-md2man -in %{SOURCE9} -out %{buildroot}%{_mandir}/man5/containers-signature.5
5dd126
go-md2man -in %{SOURCE10} -out %{buildroot}%{_mandir}/man5/containers-transports.5
5dd126
go-md2man -in %{SOURCE11} -out %{buildroot}%{_mandir}/man5/containers-certs.d.5
5dd126
go-md2man -in %{SOURCE12} -out %{buildroot}%{_mandir}/man5/containers-registries.d.5
5dd126
go-md2man -in %{SOURCE14} -out %{buildroot}%{_mandir}/man5/containers.conf.5
5dd126
go-md2man -in %{SOURCE15} -out %{buildroot}%{_mandir}/man5/containers-auth.json.5
5dd126
go-md2man -in %{SOURCE16} -out %{buildroot}%{_mandir}/man5/containers-registries.conf.d.5
5dd126
5dd126
install -dp %{buildroot}%{_datadir}/containers
5dd126
install -m0644 %{SOURCE3} %{buildroot}%{_datadir}/containers/mounts.conf
5dd126
install -m0644 %{SOURCE7} %{buildroot}%{_datadir}/containers/seccomp.json
5dd126
install -m0644 %{SOURCE13} %{buildroot}%{_datadir}/containers/containers.conf
5dd126
5dd126
# install secrets patch directory
5dd126
install -d -p -m 755 %{buildroot}/%{_datadir}/rhel/secrets
5dd126
# rhbz#1110876 - update symlinks for subscription management
5dd126
ln -s %{_sysconfdir}/pki/entitlement %{buildroot}%{_datadir}/rhel/secrets/etc-pki-entitlement
5dd126
ln -s %{_sysconfdir}/rhsm %{buildroot}%{_datadir}/rhel/secrets/rhsm
5dd126
ln -s %{_sysconfdir}/yum.repos.d/redhat.repo %{buildroot}%{_datadir}/rhel/secrets/redhat.repo
5dd126
5dd126
# ship preconfigured /etc/containers/registries.d/ files with containers-common - #1903813
5dd126
cat <<EOF > %{buildroot}%{_sysconfdir}/containers/registries.d/registry.access.redhat.com.yaml
5dd126
docker:
5dd126
     registry.access.redhat.com:
5dd126
         sigstore: https://access.redhat.com/webassets/docker/content/sigstore
5dd126
EOF
5dd126
5dd126
cat <<EOF > %{buildroot}%{_sysconfdir}/containers/registries.d/registry.redhat.io.yaml
5dd126
docker:
5dd126
     registry.redhat.io:
5dd126
         sigstore: https://registry.redhat.io/containers/sigstore
5dd126
EOF
5dd126
5dd126
%files
5dd126
%dir %{_sysconfdir}/containers
5dd126
%dir %{_sysconfdir}/containers/certs.d
5dd126
%dir %{_sysconfdir}/containers/registries.d
5dd126
%{_sysconfdir}/containers/registries.d/registry.redhat.io.yaml
5dd126
%{_sysconfdir}/containers/registries.d/registry.access.redhat.com.yaml
5dd126
%dir %{_sysconfdir}/containers/oci
5dd126
%dir %{_sysconfdir}/containers/oci/hooks.d
5dd126
%dir %{_sysconfdir}/containers/registries.conf.d
5dd126
%if !0%{?rhel} || 0%{?centos}
5dd126
%{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
5dd126
%endif
5dd126
%config(noreplace) %{_sysconfdir}/containers/policy.json
5dd126
%config(noreplace) %{_sysconfdir}/containers/registries.d/default.yaml
5dd126
%config(noreplace) %{_sysconfdir}/containers/storage.conf
5dd126
%config(noreplace) %{_sysconfdir}/containers/registries.conf
5dd126
%config(noreplace) %{_sysconfdir}/containers/registries.conf.d/*.conf
5dd126
%config(noreplace) %{_sysconfdir}/containers/registries.d/*.yaml
5dd126
%ghost %{_sysconfdir}/containers/containers.conf
5dd126
%dir %{_sharedstatedir}/containers/sigstore
5dd126
%{_mandir}/man5/*
5dd126
%dir %{_datadir}/containers
5dd126
%{_datadir}/containers/mounts.conf
5dd126
%{_datadir}/containers/seccomp.json
5dd126
%{_datadir}/containers/containers.conf
5dd126
%dir %{_datadir}/rhel/secrets
5dd126
%{_datadir}/rhel/secrets/*
5dd126
5dd126
%changelog
5dd126
* Wed Aug 11 2021 Jindrich Novy <jnovy@redhat.com> - 2:1-2
5dd126
- synchronize config files for RHEL-8.5
5dd126
- Related: #1934415
5dd126
5dd126
* Wed Aug 11 2021 Jindrich Novy <jnovy@redhat.com> - 2:1-1
5dd126
- initial import
5dd126
- Related: #1934415