176 lines
		
	
	
		
			7.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			176 lines
		
	
	
		
			7.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| # 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 main
 | |
| %global image_branch  IMAGE_BRANCH
 | |
| %global common_branch COMMON_BRANCH
 | |
| %global storage_branch STORAGE_BRANCH
 | |
| %global shortnames_branch main
 | |
| 
 | |
| %global github_containers https://raw.githubusercontent.com/containers
 | |
| 
 | |
| Epoch: 4
 | |
| Name: containers-common
 | |
| Version: COMMON_BRANCH
 | |
| Release: %autorelease
 | |
| Summary: Common configuration and documentation for containers
 | |
| License: ASL 2.0
 | |
| BuildArch: noarch
 | |
| BuildRequires: go-md2man
 | |
| Provides: skopeo-containers = %{epoch}:%{version}-%{release}
 | |
| Requires: (container-selinux >= 2:2.162.1 if selinux-policy)
 | |
| Requires: oci-runtime
 | |
| Requires: container-network-stack
 | |
| Recommends: netavark
 | |
| Recommends: fuse-overlayfs
 | |
| Recommends: slirp4netns
 | |
| 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: RPM-GPG-KEY-redhat-release
 | |
| Source21: registry.access.redhat.com.yaml
 | |
| Source22: registry.redhat.io.yaml
 | |
| Source23: %{github_containers}/common/%{common_branch}/docs/Containerfile.5.md
 | |
| Source24: %{github_containers}/common/%{common_branch}/docs/containerignore.5.md
 | |
| Source25: %{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
 | |
| 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} .
 | |
| cp %{SOURCE23} .
 | |
| cp %{SOURCE24} .
 | |
| cp %{SOURCE25} .
 | |
| 
 | |
| %build
 | |
| 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
 | |
| 
 | |
| %install
 | |
| # install config and policy files for registries
 | |
| install -dp %{buildroot}%{_sysconfdir}/containers/{certs.d,oci/hooks.d}
 | |
| install -dp %{buildroot}%{_sharedstatedir}/containers/sigstore
 | |
| 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 -Dp -m0644 RPM-GPG-KEY-redhat-release -t %{buildroot}%{_sysconfdir}/pki/rpm-gpg
 | |
| install -Dp -m0644 registry.access.redhat.com.yaml -t %{buildroot}%{_sysconfdir}/containers/registries.d
 | |
| install -Dp -m0644 registry.redhat.io.yaml -t %{buildroot}%{_sysconfdir}/containers/registries.d
 | |
| 
 | |
| # 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}/rhel/secrets
 | |
| # rhbz#1110876 - update symlinks for subscription management
 | |
| ln -s %{_sysconfdir}/pki/entitlement %{buildroot}%{_datadir}/rhel/secrets/etc-pki-entitlement
 | |
| ln -s %{_sysconfdir}/rhsm %{buildroot}%{_datadir}/rhel/secrets/rhsm
 | |
| ln -s %{_sysconfdir}/yum.repos.d/redhat.repo %{buildroot}%{_datadir}/rhel/secrets/redhat.repo
 | |
| 
 | |
| %post
 | |
| if [[ ! -f %{_mandir}/man5/Dockerfile.5.gz ]]; then
 | |
|     echo .so %{_mandir}/man5/Containerfile.5 > %{_mandir}/man5/Dockerfile.5
 | |
|     gzip %{_mandir}/man5/Dockerfile.5
 | |
| fi
 | |
| if [[ ! -f %{_mandir}/man5/dockerignore.5.gz ]]; then
 | |
|     echo .so %{_mandir}/man5/containerignore.5 > %{_mandir}/man5/dockerignore.5
 | |
|     gzip %{_mandir}/man5/dockerignore.5
 | |
| fi
 | |
| if [[ ! -f %{_mandir}/man5/.dockerignore.5.gz ]]; then
 | |
|     echo .so %{_mandir}/man5/containerignore.5 > %{_mandir}/man5/.dockerignore.5
 | |
|     gzip %{_mandir}/man5/.dockerignore.5
 | |
| 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
 | |
| %{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
 | |
| %config(noreplace) %{_sysconfdir}/containers/registries.d/default.yaml
 | |
| %{_sysconfdir}/containers/registries.d/registry.redhat.io.yaml
 | |
| %{_sysconfdir}/containers/registries.d/registry.access.redhat.com.yaml
 | |
| %ghost %{_sysconfdir}/containers/storage.conf
 | |
| %ghost %{_sysconfdir}/containers/containers.conf
 | |
| %dir %{_sharedstatedir}/containers/sigstore
 | |
| %ghost %{_mandir}/man5/Dockerfile.5.gz
 | |
| %ghost %{_mandir}/man5/dockerignore.5.gz
 | |
| %ghost %{_mandir}/man5/.dockerignore.5.gz
 | |
| %{_mandir}/man5/Containerfile.5.gz
 | |
| %{_mandir}/man5/containerignore.5.gz
 | |
| %{_mandir}/man5/.containerignore.5.gz
 | |
| %{_mandir}/man5/containers*.5.gz
 | |
| %dir %{_datadir}/containers
 | |
| %{_datadir}/containers/storage.conf
 | |
| %{_datadir}/containers/containers.conf
 | |
| %{_datadir}/containers/mounts.conf
 | |
| %{_datadir}/containers/seccomp.json
 | |
| %dir %{_datadir}/rhel/secrets
 | |
| %{_datadir}/rhel/secrets/*
 | |
| 
 | |
| %changelog
 | |
| %autochangelog
 |