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