# For automatic rebuilds in COPR # The following tag is to get correct syntax highlighting for this file in vim text editor # vim: syntax=spec # Any additinoal comments should go below this line or else syntax highlighting # may not work. # CAUTION: This is not a replacement for RPMs provided by your distro. # Only intended to build and test the latest unreleased changes. %global with_debug 1 %global gomodulesmode GO111MODULE=on # RHEL 8's default %%gobuild macro doesn't account for the BUILDTAGS variable, so we # set it separately here and do not depend on RHEL 8's go-srpm-macros package. %if !0%{?fedora} && 0%{?rhel} <= 8 %define gobuild(o:) %{gomodulesmode} go build -buildmode pie -compiler gc -tags="rpm_crashtraceback libtrust_openssl ${BUILDTAGS:-}" -ldflags "-linkmode=external -compressdwarf=false ${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '%__global_ldflags'" -a -v -x %{?**}; %endif %if 0%{?with_debug} %global _find_debuginfo_dwz_opts %{nil} %global _dwz_low_mem_die_limit 0 %else %global debug_package %{nil} %endif Name: skopeo Epoch: 101 Version: 0.0.git.2464.b43ec279 Release: 1%{?dist} Summary: Inspect container images and repositories on registries License: ASL 2.0 URL: https://github.com/containers/skopeo VCS: git+https://github.com/containers/skopeo#b43ec279d2dc5deec07e7e9824a9e568dc068357: Source: skopeo-b43ec279.tar.gz %if 0%{?fedora} && ! 0%{?rhel} BuildRequires: btrfs-progs-devel %endif BuildRequires: golang >= 1.16.6 BuildRequires: glib2-devel BuildRequires: git-core BuildRequires: go-md2man %if 0%{?fedora} || 0%{?rhel} >= 9 BuildRequires: go-rpm-macros %endif BuildRequires: pkgconfig(devmapper) BuildRequires: gpgme-devel BuildRequires: libassuan-devel BuildRequires: pkgconfig BuildRequires: make BuildRequires: ostree-devel Requires: containers-common >= 4:1-78 %description Command line utility to inspect images and repositories directly on Docker registries without the need to pull them. %package tests Summary: Tests for %{name} Requires: %{name} = %{epoch}:%{version}-%{release} Requires: bats Requires: gnupg Requires: jq Requires: podman Requires: httpd-tools Requires: openssl Requires: fakeroot Requires: squashfs-tools %description tests %{summary} This package contains system tests for %{name} %prep %setup -T -b 0 -q -n skopeo sed -i 's/install-binary: bin\/skopeo/install-binary:/' Makefile # This will invoke `make` command in the directory with the extracted sources. %build %set_build_flags export CGO_CFLAGS=$CFLAGS # These extra flags present in $CFLAGS have been skipped for now as they break the build CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-flto=auto//g') CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-Wp,D_GLIBCXX_ASSERTIONS//g') CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-specs=\/usr\/lib\/rpm\/redhat\/redhat-annobin-cc1//g') %ifarch x86_64 export CGO_CFLAGS+=" -m64 -mtune=generic -fcf-protection=full" %endif LDFLAGS="" export BUILDTAGS="$(hack/libdm_tag.sh) $(hack/btrfs_installed_tag.sh) $(hack/btrfs_tag.sh)" %gobuild -o bin/%{name} ./cmd/%{name} %install %{__make} PREFIX=%{buildroot}%{_prefix} install-binary install-docs install-completions # system tests install -d -p %{buildroot}/%{_datadir}/%{name}/test/system cp -pav systemtest/* %{buildroot}/%{_datadir}/%{name}/test/system/ %files %license LICENSE %doc README.md %{_bindir}/%{name} %{_mandir}/man1/%%{name}* %dir %{_datadir}/bash-completion %dir %{_datadir}/bash-completion/completions %{_datadir}/bash-completion/completions/%{name} %dir %{_datadir}/fish %dir %{_datadir}/fish/vendor_completions.d %{_datadir}/fish/vendor_completions.d/%{name}.fish %dir %{_datadir}/zsh %dir %{_datadir}/zsh/site-functions %{_datadir}/zsh/site-functions/_%{name} %files tests %license LICENSE %{_datadir}/%{name}/test %changelog