# Below definitions are used to deliver config files from a particular branch # of c/image, c/common, c/storage vendored in all of Buildah, Podman and Skopeo. # These vendored components must have the same version. If it is not the case, # pick the oldest version on c/image, c/common, c/storage vendored in # Buildah/Podman/Skopeo. %global skopeo_branch v1.8.0 %global podman_branch v4.5.1 %global image_branch v5.25.0 %global common_branch v0.52.0 %global storage_branch v1.46.1 %global shortnames_branch main %global github_containers https://raw.githubusercontent.com/containers Epoch: 4 Name: containers-common Version: 1 Release: 2 Summary: Common configuration and documentation for containers. URL: https://github.com/containers/common License: Apache-2.0 BuildArch: noarch BuildRequires: go Requires: container-selinux Requires: oci-runtime Recommends: fuse-overlayfs Recommends: slirp4netns Provides: skopeo-containers = %{epoch}:%{version}-%{release} Obsoletes: %{name} <= 1:1.2.1-28 Source0: https://github.com/cpuguy83/go-md2man/archive/v1.0.10.tar.gz Source1: %{github_containers}/common/%{common_branch}/docs/containers.conf.5.md Source2: %{github_containers}/common/%{common_branch}/pkg/config/containers.conf Source3: %{github_containers}/common/%{common_branch}/pkg/seccomp/seccomp.json Source4: %{github_containers}/common/%{common_branch}/pkg/subscriptions/mounts.conf Source5: %{github_containers}/image/%{image_branch}/docs/containers-auth.json.5.md Source6: %{github_containers}/image/%{image_branch}/docs/containers-certs.d.5.md Source7: %{github_containers}/image/%{image_branch}/docs/containers-policy.json.5.md Source8: %{github_containers}/image/%{image_branch}/docs/containers-registries.conf.5.md Source9: %{github_containers}/image/%{image_branch}/docs/containers-registries.conf.d.5.md Source10: %{github_containers}/image/%{image_branch}/docs/containers-registries.d.5.md Source11: %{github_containers}/image/%{image_branch}/docs/containers-signature.5.md Source12: %{github_containers}/image/%{image_branch}/docs/containers-transports.5.md Source13: %{github_containers}/image/%{image_branch}/registries.conf Source14: %{github_containers}/common/%{common_branch}/docs/containers-mounts.conf.5.md Source15: %{github_containers}/shortnames/%{shortnames_branch}/shortnames.conf Source16: %{github_containers}/skopeo/%{skopeo_branch}/default.yaml Source17: %{github_containers}/skopeo/%{skopeo_branch}/default-policy.json Source18: %{github_containers}/storage/%{storage_branch}/docs/containers-storage.conf.5.md Source19: %{github_containers}/storage/%{storage_branch}/storage.conf Source20: %{github_containers}/common/%{common_branch}/docs/Containerfile.5.md Source21: %{github_containers}/common/%{common_branch}/docs/containerignore.5.md Source22: %{github_containers}/common/%{common_branch}/docs/links/.containerignore.5 %description This package contains common configuration files and documentation for container tools ecosystem, such as Podman, Buildah and Skopeo. It is required because the most of configuration files and docs come from projects which are vendored into Podman, Buildah, Skopeo, etc. but they are not packaged separately. %prep tar -xf %SOURCE0 cp %{SOURCE1} . cp %{SOURCE2} . cp %{SOURCE3} . cp %{SOURCE4} . cp %{SOURCE5} . cp %{SOURCE6} . cp %{SOURCE7} . cp %{SOURCE8} . cp %{SOURCE9} . cp %{SOURCE10} . cp %{SOURCE11} . cp %{SOURCE12} . cp %{SOURCE13} . cp %{SOURCE14} . cp %{SOURCE15} 000-shortnames.conf cp %{SOURCE16} . cp %{SOURCE17} policy.json cp %{SOURCE18} . cp %{SOURCE19} . cp %{SOURCE20} . cp %{SOURCE21} . cp %{SOURCE22} . %build GO_MD2MAN_PATH="$(pwd)%{_bindir}" mkdir -p _build/bin $GO_MD2MAN_PATH cd go-md2man-* go build -mod=vendor -o ../_build/bin/go-md2man . cp ../_build/bin/go-md2man $GO_MD2MAN_PATH/go-md2man export PATH=$GO_MD2MAN_PATH:$PATH cd - mkdir -p man5 for FILE in $(ls *.5.md); do go-md2man -in $FILE -out man5/$(basename $FILE .md) done cp man5/containerignore.5 man5/.containerignore.5 sed -i "s/rhel/openEuler/g" mounts.conf %install # install config and policy files for registries install -dp %{buildroot}%{_sysconfdir}/containers/{certs.d,oci/hooks.d,systemd} install -dp %{buildroot}%{_sharedstatedir}/containers/sigstore install -dp %{buildroot}%{_datadir}/containers/systemd install -Dp -m0644 default.yaml -t %{buildroot}%{_sysconfdir}/containers/registries.d install -Dp -m0644 storage.conf -t %{buildroot}%{_datadir}/containers install -Dp -m0644 registries.conf -t %{buildroot}%{_sysconfdir}/containers install -Dp -m0644 000-shortnames.conf -t %{buildroot}%{_sysconfdir}/containers/registries.conf.d install -Dp -m0644 policy.json -t %{buildroot}%{_sysconfdir}/containers # install manpages for FILE in $(ls -a man5 | grep 5); do install -Dp -m0644 man5/$FILE -t %{buildroot}%{_mandir}/man5 done # install config files for mounts, containers and seccomp install -m0644 mounts.conf %{buildroot}%{_datadir}/containers/mounts.conf install -m0644 seccomp.json %{buildroot}%{_datadir}/containers/seccomp.json install -m0644 containers.conf %{buildroot}%{_datadir}/containers/containers.conf # install secrets patch directory install -d -p -m 755 %{buildroot}/%{_datadir}/openEuler/secrets ln -s ../../../..%{_sysconfdir}/pki/entitlement %{buildroot}%{_datadir}/openEuler/secrets/etc-pki-entitlement ln -s ../../../..%{_sysconfdir}/rhsm %{buildroot}%{_datadir}/openEuler/secrets/rhsm ln -s ../../../..%{_sysconfdir}/yum.repos.d/openEuler.repo %{buildroot}%{_datadir}/openEuler/secrets/openEuler.repo %post if [[ $1 == 1 ]]; then if ! grep ^short-name-mode.*= %{_sysconfdir}/containers/registries.conf > /dev/null; then echo 'short-name-mode="enforcing"' >> %{_sysconfdir}/containers/registries.conf fi fi %files %dir %{_sysconfdir}/containers %dir %{_sysconfdir}/containers/certs.d %dir %{_sysconfdir}/containers/oci %dir %{_sysconfdir}/containers/oci/hooks.d %dir %{_sysconfdir}/containers/registries.conf.d %dir %{_sysconfdir}/containers/registries.d %config(noreplace) %{_sysconfdir}/containers/policy.json %config(noreplace) %{_sysconfdir}/containers/registries.conf %config(noreplace) %{_sysconfdir}/containers/registries.conf.d/000-shortnames.conf %config(noreplace) %{_sysconfdir}/containers/registries.d/default.yaml %ghost %{_sysconfdir}/containers/storage.conf %ghost %{_sysconfdir}/containers/containers.conf %dir %{_sharedstatedir}/containers/sigstore %{_mandir}/man5/Containerfile.5.gz %{_mandir}/man5/containerignore.5.gz %{_mandir}/man5/.containerignore.5.gz %{_mandir}/man5/containers*.5.gz %dir %{_datadir}/containers %dir %{_datadir}/containers/systemd %{_datadir}/containers/storage.conf %{_datadir}/containers/containers.conf %{_datadir}/containers/mounts.conf %{_datadir}/containers/seccomp.json %dir %{_datadir}/openEuler/secrets %{_datadir}/openEuler/secrets/* %changelog * Wed Oct 18 2023 wangyueliang - 4:1-2 - Unify containers-common to the corresponding version in the openEuler community * Mon Mar 21 2022 fushanqing - 4:1-1 - Init package