walters / rpms / skopeo

Forked from rpms/skopeo 5 years ago
Clone

Blame skopeo.spec

Antonio Murdaca 1a5623d
%if 0%{?fedora} || 0%{?rhel} == 6
Antonio Murdaca 1a5623d
%global with_devel 0
Antonio Murdaca 1a5623d
%global with_bundled 1
Antonio Murdaca 1a5623d
%global with_debug 1
Antonio Murdaca 1a5623d
%global with_check 0
Antonio Murdaca 1a5623d
%global with_unit_test 0
Antonio Murdaca 1a5623d
%else
Antonio Murdaca 1a5623d
%global with_devel 0
Antonio Murdaca 1a5623d
%global with_bundled 1
Antonio Murdaca 1a5623d
%global with_debug 1
Antonio Murdaca 1a5623d
%global with_check 0
Antonio Murdaca 1a5623d
%global with_unit_test 0
Antonio Murdaca 1a5623d
%endif
Antonio Murdaca 1a5623d
Antonio Murdaca 5d99119
#%if 0%{?with_debug}
Antonio Murdaca 5d99119
#%global _dwz_low_mem_die_limit 0
Antonio Murdaca 5d99119
#%else
Antonio Murdaca 1a5623d
%global debug_package   %{nil}
Antonio Murdaca 5d99119
#%endif
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
%global provider        github
Antonio Murdaca 1a5623d
%global provider_tld    com
Antonio Murdaca f4b7847
%global project         projectatomic
Antonio Murdaca 1a5623d
%global repo            skopeo
Antonio Murdaca f4b7847
# https://github.com/projectatomic/skopeo
Antonio Murdaca 1a5623d
%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo}
Antonio Murdaca 1a5623d
%global import_path     %{provider_prefix}
faa53e2
%global commit          ffe92ed2bbbf4e77fc8ef8c62d2b4c2844195c66
Antonio Murdaca 1a5623d
%global shortcommit     %(c=%{commit}; echo ${c:0:7})
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
Name:           skopeo
faa53e2
Version:        0.1.14
faa53e2
Release:        1.git%{shortcommit}%{?dist}
Antonio Murdaca 1a5623d
Summary:        Inspect Docker images and repositories on registries
Antonio Murdaca 1a5623d
License:        ASL 2.0
Antonio Murdaca 1a5623d
URL:            https://%{provider_prefix}
Antonio Murdaca 1a5623d
Source0:        https://%{provider_prefix}/archive/%{commit}/%{repo}-%{shortcommit}.tar.gz
706be66
%if 0%{?rhel}
706be66
Patch0:         skopeo-go142.patch
706be66
%endif
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
# e.g. el6 has ppc64 arch without gcc-go, so EA tag is required
Antonio Murdaca 1a5623d
ExclusiveArch:  %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
706be66
%if 0%{?fedora}
Colin Walters 6c2575f
BuildRequires: go-srpm-macros
Colin Walters 6c2575f
BuildRequires: compiler(go-compiler)
706be66
%endif
706be66
BuildRequires:  git
Antonio Murdaca 1a5623d
# If go_compiler is not set to 1, there is no virtual provide. Use golang instead.
Antonio Murdaca 1a5623d
BuildRequires:  %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang}
Antonio Murdaca 1a5623d
BuildRequires:  golang-github-cpuguy83-go-md2man
Colin Walters 7c4504d
BuildRequires:  gpgme-devel
Colin Walters 98ac347
BuildRequires:  libassuan-devel
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
%description
Antonio Murdaca 1a5623d
Command line utility to inspect images and repositories directly on Docker
Antonio Murdaca 1a5623d
registries without the need to pull them
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
%if 0%{?with_devel}
Antonio Murdaca 1a5623d
%package devel
Antonio Murdaca 1a5623d
Summary:       %{summary}
Antonio Murdaca 1a5623d
BuildArch:     noarch
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
%if 0%{?with_check} && ! 0%{?with_bundled}
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/Azure/go-ansiterm/winterm)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/Sirupsen/logrus)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/distribution)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/distribution/context)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/distribution/digest)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/distribution/manifest)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/distribution/manifest/manifestlist)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/distribution/manifest/schema1)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/distribution/manifest/schema2)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/distribution/reference)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/distribution/registry/api/errcode)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/distribution/registry/api/v2)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/distribution/registry/client)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/distribution/registry/client/auth)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/distribution/registry/client/transport)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/distribution/registry/storage/cache)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/distribution/registry/storage/cache/memory)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/distribution/uuid)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/api)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/daemon/graphdriver)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/distribution/metadata)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/distribution/xfer)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/dockerversion)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/image)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/image/v1)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/layer)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/opts)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/pkg/archive)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/pkg/chrootarchive)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/pkg/fileutils)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/pkg/homedir)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/pkg/httputils)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/pkg/idtools)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/pkg/ioutils)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/pkg/jsonlog)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/pkg/jsonmessage)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/pkg/longpath)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/pkg/mflag)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/pkg/parsers/kernel)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/pkg/plugins)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/pkg/pools)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/pkg/progress)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/pkg/promise)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/pkg/random)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/pkg/reexec)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/pkg/stringid)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/pkg/system)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/pkg/tarsum)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/pkg/term)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/pkg/term/windows)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/pkg/useragent)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/pkg/version)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/reference)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/docker/registry)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/engine-api/types)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/engine-api/types/blkiodev)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/engine-api/types/container)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/engine-api/types/filters)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/engine-api/types/image)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/engine-api/types/network)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/engine-api/types/registry)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/engine-api/types/strslice)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/go-connections/nat)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/go-connections/tlsconfig)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/go-units)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/docker/libtrust)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/gorilla/context)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/gorilla/mux)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/opencontainers/runc/libcontainer/user)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/vbatts/tar-split/archive/tar)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/vbatts/tar-split/tar/asm)
Antonio Murdaca 1a5623d
BuildRequires: golang(github.com/vbatts/tar-split/tar/storage)
Antonio Murdaca 1a5623d
BuildRequires: golang(golang.org/x/net/context)
Antonio Murdaca 1a5623d
%endif
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
%description devel
Antonio Murdaca 1a5623d
%{summary}
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
This package contains library source intended for
Antonio Murdaca 1a5623d
building other packages which use import path with
Antonio Murdaca 1a5623d
%{import_path} prefix.
Antonio Murdaca 1a5623d
%endif
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
%if 0%{?with_unit_test} && 0%{?with_devel}
Antonio Murdaca 1a5623d
%package unit-test-devel
Antonio Murdaca 1a5623d
Summary:         Unit tests for %{name} package
Antonio Murdaca 1a5623d
%if 0%{?with_check}
Antonio Murdaca 1a5623d
#Here comes all BuildRequires: PACKAGE the unit tests
Antonio Murdaca 1a5623d
#in %%check section need for running
Antonio Murdaca 1a5623d
%endif
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
# test subpackage tests code from devel subpackage
Antonio Murdaca 1a5623d
Requires:        %{name}-devel = %{version}-%{release}
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
%description unit-test-devel
Antonio Murdaca 1a5623d
%{summary}
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
This package contains unit tests for project
Antonio Murdaca 1a5623d
providing packages with %{import_path} prefix.
Antonio Murdaca 1a5623d
%endif
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
%prep
faa53e2
%autosetup -Sgit -n %{name}-%{commit}
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
%build
Antonio Murdaca f4b7847
mkdir -p src/github.com/projectatomic
faa53e2
ln -s ../../../ src/%{import_path}
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
mkdir -p vendor/src
Colin Walters 55778cf
for v in vendor/*; do
Colin Walters 55778cf
    if test ${v} = vendor/src; then continue; fi
Colin Walters 55778cf
    if test -d ${v}; then
Colin Walters 55778cf
	mv ${v} vendor/src/
Colin Walters e68c645
    fi
Antonio Murdaca 39735d8
done
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
%if ! 0%{?with_bundled}
Antonio Murdaca 1a5623d
rm -rf vendor/
Antonio Murdaca 1a5623d
export GOPATH=$(pwd):%{gopath}
Antonio Murdaca 1a5623d
%else
Antonio Murdaca 1a5623d
export GOPATH=$(pwd):$(pwd)/vendor:%{gopath}
Antonio Murdaca 1a5623d
%endif
Antonio Murdaca 1a5623d
faa53e2
make binary-local docs
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
%install
Antonio Murdaca 1a5623d
make DESTDIR=%{buildroot} install
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
# source codes for building projects
Antonio Murdaca 1a5623d
%if 0%{?with_devel}
Antonio Murdaca 1a5623d
install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
Antonio Murdaca 1a5623d
echo "%%dir %%{gopath}/src/%%{import_path}/." >> devel.file-list
Antonio Murdaca 1a5623d
# find all *.go but no *_test.go files and generate devel.file-list
Antonio Murdaca 1a5623d
for file in $(find . -iname "*.go" \! -iname "*_test.go" | grep -v "./vendor") ; do
Antonio Murdaca 1a5623d
    echo "%%dir %%{gopath}/src/%%{import_path}/$(dirname $file)" >> devel.file-list
Antonio Murdaca 1a5623d
    install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$(dirname $file)
Antonio Murdaca 1a5623d
    cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file
Antonio Murdaca 1a5623d
    echo "%%{gopath}/src/%%{import_path}/$file" >> devel.file-list
Antonio Murdaca 1a5623d
done
Antonio Murdaca 1a5623d
%endif
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
# testing files for this project
Antonio Murdaca 1a5623d
%if 0%{?with_unit_test} && 0%{?with_devel}
Antonio Murdaca 1a5623d
install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
Antonio Murdaca 1a5623d
# find all *_test.go files and generate unit-test.file-list
Antonio Murdaca 1a5623d
for file in $(find . -iname "*_test.go" | grep -v "./vendor"); do
Antonio Murdaca 1a5623d
    echo "%%dir %%{gopath}/src/%%{import_path}/$(dirname $file)" >> devel.file-list
Antonio Murdaca 1a5623d
    install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$(dirname $file)
Antonio Murdaca 1a5623d
    cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file
Antonio Murdaca 1a5623d
    echo "%%{gopath}/src/%%{import_path}/$file" >> unit-test-devel.file-list
Antonio Murdaca 1a5623d
done
Antonio Murdaca 1a5623d
%endif
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
%if 0%{?with_devel}
Antonio Murdaca 1a5623d
sort -u -o devel.file-list devel.file-list
Antonio Murdaca 1a5623d
%endif
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
%check
Antonio Murdaca 1a5623d
%if 0%{?with_check} && 0%{?with_unit_test} && 0%{?with_devel}
Antonio Murdaca 1a5623d
%if ! 0%{?with_bundled}
Antonio Murdaca 1a5623d
export GOPATH=%{buildroot}/%{gopath}:%{gopath}
Antonio Murdaca 1a5623d
%else
Antonio Murdaca 1a5623d
export GOPATH=%{buildroot}/%{gopath}:$(pwd)/vendor:%{gopath}
Antonio Murdaca 1a5623d
%endif
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
%gotest %{import_path}/integration
Antonio Murdaca 1a5623d
%endif
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
#define license tag if not already defined
Antonio Murdaca 1a5623d
%{!?_licensedir:%global license %doc}
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
%if 0%{?with_devel}
Antonio Murdaca 1a5623d
%files devel -f devel.file-list
Antonio Murdaca 1a5623d
%license LICENSE
Antonio Murdaca 1a5623d
%doc README.md
Antonio Murdaca 1a5623d
%dir %{gopath}/src/%{provider}.%{provider_tld}/%{project}
Antonio Murdaca 1a5623d
%endif
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
%if 0%{?with_unit_test} && 0%{?with_devel}
Antonio Murdaca 1a5623d
%files unit-test-devel -f unit-test-devel.file-list
Antonio Murdaca 1a5623d
%license LICENSE
Antonio Murdaca 1a5623d
%doc README.md
Antonio Murdaca 1a5623d
%endif
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
%files
faa53e2
%{_bindir}/%{name}
faa53e2
%{_mandir}/man1/%{name}.1*
Antonio Murdaca 1a5623d
%license LICENSE
Antonio Murdaca 1a5623d
%doc README.md
Antonio Murdaca 1a5623d
Antonio Murdaca 1a5623d
%changelog
faa53e2
* Thu Aug 11 2016 Lokesh Mandvekar <lsm5@fedoraproject.org> - 0.1.14-1.gitffe92ed
faa53e2
- build origin/master commit ffe92ed
faa53e2
381123e
* Thu Jul 21 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.13-6
381123e
- https://fedoraproject.org/wiki/Changes/golang1.7
381123e
706be66
* Tue Jun 21 2016 Lokesh Mandvekar <lsm5@fedoraproject.org> - 0.1.13-5
706be66
- include go-srpm-macros and compiler(go-compiler) in fedora conditionals
706be66
- define %%gobuild if not already
706be66
- add patch to build with older version of golang
706be66
Antonio Murdaca 39846c0
* Thu Jun 02 2016 Antonio Murdaca <runcom@fedoraproject.org> - 0.1.13-4
Antonio Murdaca 39846c0
- update to v0.1.12
Antonio Murdaca 39846c0
Antonio Murdaca 39735d8
* Tue May 31 2016 Antonio Murdaca <runcom@fedoraproject.org> - 0.1.12-3
Antonio Murdaca 39735d8
- fix go build source path
Antonio Murdaca 39735d8
Antonio Murdaca 5e625c3
* Fri May 27 2016 Antonio Murdaca <runcom@fedoraproject.org> - 0.1.12-2
Antonio Murdaca 5e625c3
- update to v0.1.12
Antonio Murdaca 5e625c3
Antonio Murdaca 87ac68a
* Tue Mar 08 2016 Antonio Murdaca <runcom@fedoraproject.org> - 0.1.11-1
Antonio Murdaca 87ac68a
- update to v0.1.11
Antonio Murdaca 87ac68a
Antonio Murdaca f4b7847
* Tue Mar 08 2016 Antonio Murdaca <runcom@fedoraproject.org> - 0.1.10-1
Antonio Murdaca f4b7847
- update to v0.1.10
Antonio Murdaca f4b7847
- change runcom -> projectatomic
Antonio Murdaca f4b7847
Antonio Murdaca ad1fc24
* Mon Feb 29 2016 Antonio Murdaca <runcom@fedoraproject.org> - 0.1.9-1
Antonio Murdaca ad1fc24
- update to v0.1.9
Antonio Murdaca ad1fc24
Antonio Murdaca 7d211df
* Mon Feb 29 2016 Antonio Murdaca <runcom@fedoraproject.org> - 0.1.8-1
Antonio Murdaca 7d211df
- update to v0.1.8
Antonio Murdaca 7d211df
f5880d8
* Mon Feb 22 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.4-2
f5880d8
- https://fedoraproject.org/wiki/Changes/golang1.6
f5880d8
Antonio Murdaca 1a5623d
* Fri Jan 29 2016 Antonio Murdaca <runcom@redhat.com> - 0.1.4
Antonio Murdaca 1a5623d
- First package for Fedora