%global debug_package %{nil}
%global provider github
%global provider_tld com
%global project rackspace
%global repo gophercloud
%global import_path %{provider}.%{provider_tld}/%{project}/%{repo}
%global commit 6753165c3bb83a2b41bc495210509eacb12926d6
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: golang-%{provider}-%{project}-%{repo}
Version: 1.0.0
Release: 4%{?dist}
Summary: The Go SDK for Openstack http://gophercloud.io
License: ASL 2.0
URL: https://%{import_path}
Source0: https://%{import_path}/archive/%{commit}/%{repo}-%{shortcommit}.tar.gz
%if 0%{?fedora} >= 19 || 0%{?rhel} >= 7
BuildArch: noarch
%else
ExclusiveArch: %{ix86} x86_64 %{arm}
%endif
%description
Gophercloud currently lets you authenticate with OpenStack providers to create
and manage servers. We are working on extending the API to further include
cloud files, block storage, DNS, databases, security groups,
and other features.
This library is still in the very early stages of development.
%package devel
BuildRequires: golang >= 1.2.1-3
BuildRequires: golang(github.com/mitchellh/mapstructure)
BuildRequires: golang(code.google.com/p/go.crypto/ssh)
Requires: golang >= 1.2.1-3
Requires: golang(github.com/mitchellh/mapstructure)
Requires: golang(code.google.com/p/go.crypto/ssh)
Summary: %{summary}
Provides: golang(%%{import_path}) = %%{version}-%%{release}
Provides: golang(%{import_path}/acceptance/openstack) = %{version}-%{release}
Provides: golang(%{import_path}/acceptance/openstack/blockstorage/v1) = %{version}-%{release}
Provides: golang(%{import_path}/acceptance/openstack/compute/v2) = %{version}-%{release}
Provides: golang(%{import_path}/acceptance/openstack/identity/v2) = %{version}-%{release}
Provides: golang(%{import_path}/acceptance/openstack/identity/v3) = %{version}-%{release}
Provides: golang(%{import_path}/acceptance/openstack/networking/v2) = %{version}-%{release}
Provides: golang(%{import_path}/acceptance/openstack/networking/v2/extensions) = %{version}-%{release}
Provides: golang(%{import_path}/acceptance/openstack/networking/v2/extensions/fwaas) = %{version}-%{release}
Provides: golang(%{import_path}/acceptance/openstack/networking/v2/extensions/lbaas) = %{version}-%{release}
Provides: golang(%{import_path}/acceptance/openstack/objectstorage/v1) = %{version}-%{release}
Provides: golang(%{import_path}/acceptance/openstack/orchestration/v1) = %{version}-%{release}
Provides: golang(%{import_path}/acceptance/rackspace) = %{version}-%{release}
Provides: golang(%{import_path}/acceptance/rackspace/blockstorage/v1) = %{version}-%{release}
Provides: golang(%{import_path}/acceptance/rackspace/cdn/v1) = %{version}-%{release}
Provides: golang(%{import_path}/acceptance/rackspace/compute/v2) = %{version}-%{release}
Provides: golang(%{import_path}/acceptance/rackspace/identity/v2) = %{version}-%{release}
Provides: golang(%{import_path}/acceptance/rackspace/lb/v1) = %{version}-%{release}
Provides: golang(%{import_path}/acceptance/rackspace/networking/v2) = %{version}-%{release}
Provides: golang(%{import_path}/acceptance/rackspace/objectstorage/v1) = %{version}-%{release}
Provides: golang(%{import_path}/acceptance/rackspace/orchestration/v1) = %{version}-%{release}
Provides: golang(%{import_path}/acceptance/tools) = %{version}-%{release}
Provides: golang(%{import_path}/openstack) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/blockstorage/v1/apiversions) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/blockstorage/v1/snapshots) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/blockstorage/v1/volumes) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/blockstorage/v1/volumetypes) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/cdn/v1/base) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/cdn/v1/flavors) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/cdn/v1/serviceassets) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/cdn/v1/services) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/common/extensions) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/compute/v2/extensions) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/compute/v2/extensions/bootfromvolume) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/compute/v2/extensions/defsecrules) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/compute/v2/extensions/diskconfig) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/compute/v2/extensions/floatingip) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/compute/v2/extensions/keypairs) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/compute/v2/extensions/secgroups) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/compute/v2/extensions/startstop) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/compute/v2/extensions/tenantnetworks) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/compute/v2/extensions/volumeattach) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/compute/v2/flavors) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/compute/v2/images) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/compute/v2/servers) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/identity/v2/extensions) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/identity/v2/extensions/admin/roles) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/identity/v2/tenants) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/identity/v2/tokens) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/identity/v2/users) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/identity/v3/endpoints) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/identity/v3/services) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/identity/v3/tokens) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/networking/v2/apiversions) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/networking/v2/common) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/networking/v2/extensions) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/networking/v2/extensions/external) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/networking/v2/extensions/fwaas) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/networking/v2/extensions/fwaas/firewalls) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/networking/v2/extensions/fwaas/policies) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/networking/v2/extensions/fwaas/rules) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/networking/v2/extensions/layer3) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/networking/v2/extensions/layer3/floatingips) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/networking/v2/extensions/layer3/routers) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/networking/v2/extensions/lbaas) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/networking/v2/extensions/lbaas/members) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/networking/v2/extensions/lbaas/monitors) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/networking/v2/extensions/lbaas/pools) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/networking/v2/extensions/lbaas/vips) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/networking/v2/extensions/provider) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/networking/v2/extensions/security) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/networking/v2/extensions/security/groups) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/networking/v2/extensions/security/rules) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/networking/v2/networks) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/networking/v2/ports) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/networking/v2/subnets) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/objectstorage/v1/accounts) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/objectstorage/v1/containers) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/objectstorage/v1/objects) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/orchestration/v1/apiversions) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/orchestration/v1/buildinfo) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/orchestration/v1/stackevents) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/orchestration/v1/stackresources) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/orchestration/v1/stacks) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/orchestration/v1/stacktemplates) = %{version}-%{release}
Provides: golang(%{import_path}/openstack/utils) = %{version}-%{release}
Provides: golang(%{import_path}/pagination) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/blockstorage/v1/snapshots) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/blockstorage/v1/volumes) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/blockstorage/v1/volumetypes) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/cdn/v1/base) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/cdn/v1/flavors) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/cdn/v1/serviceassets) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/cdn/v1/services) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/compute/v2/bootfromvolume) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/compute/v2/flavors) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/compute/v2/images) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/compute/v2/keypairs) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/compute/v2/networks) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/compute/v2/servers) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/compute/v2/virtualinterfaces) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/compute/v2/volumeattach) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/identity/v2/extensions) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/identity/v2/roles) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/identity/v2/tenants) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/identity/v2/tokens) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/identity/v2/users) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/lb/v1/acl) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/lb/v1/lbs) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/lb/v1/monitors) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/lb/v1/nodes) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/lb/v1/sessions) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/lb/v1/ssl) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/lb/v1/throttle) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/lb/v1/vips) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/networking/v2/common) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/networking/v2/networks) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/networking/v2/ports) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/networking/v2/subnets) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/objectstorage/v1/accounts) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/objectstorage/v1/bulk) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/objectstorage/v1/cdncontainers) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/objectstorage/v1/cdnobjects) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/objectstorage/v1/containers) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/objectstorage/v1/objects) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/orchestration/v1/buildinfo) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/orchestration/v1/stackevents) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/orchestration/v1/stackresources) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/orchestration/v1/stacks) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/orchestration/v1/stacktemplates) = %{version}-%{release}
Provides: golang(%{import_path}/testhelper) = %{version}-%{release}
Provides: golang(%{import_path}/testhelper/client) = %{version}-%{release}
%description devel
Gophercloud currently lets you authenticate with OpenStack providers to create
and manage servers. We are working on extending the API to further include
cloud files, block storage, DNS, databases, security groups,
and other features.
This library is still in the very early stages of development.
This package contains library source intended for
building other packages which use %{project}/%{repo}.
%prep
%setup -q -n %{repo}-%{commit}
%build
%install
install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
cp -pav *.go %{buildroot}/%{gopath}/src/%{import_path}/
cp -pav {acceptance,openstack,pagination,rackspace,script,testhelper} %{buildroot}/%{gopath}/src/%{import_path}/
%check
# Two following test passes but it is about 50% of all.
# Some tests fails, some fails on build failure
# Besides, BuildRequires is not complete as there is a cyclic deps with smashwilson/gophercloud
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/rackspace
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/rackspace/compute/v2/bootfromvolume
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/rackspace/compute/v2/networks
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/rackspace/compute/v2/virtualinterfaces
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/rackspace/compute/v2/images
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/rackspace/compute/v2/flavors
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/rackspace/blockstorage/v1/volumes
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/rackspace/blockstorage/v1/snapshots
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/rackspace/blockstorage/v1/volumetypes
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/rackspace/objectstorage/v1/bulk
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/networking/v2/subnets
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/networking/v2/ports
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/networking/v2/apiversions
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/networking/v2/extensions
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/networking/v2/extensions/provider
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/networking/v2/extensions/layer3/routers
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/networking/v2/extensions/layer3/floatingips
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/networking/v2/extensions/external
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/networking/v2/extensions/security/rules
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/networking/v2/extensions/security/groups
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/networking/v2/extensions/lbaas/members
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/networking/v2/extensions/lbaas/pools
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/networking/v2/extensions/lbaas/vips
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/networking/v2/extensions/lbaas/monitors
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/networking/v2/networks
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/identity/v3/tokens
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/identity/v3/services
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/identity/v3/endpoints
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/compute/v2/extensions
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/compute/v2/extensions/bootfromvolume
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/compute/v2/images
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/compute/v2/flavors
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/blockstorage/v1/apiversions
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/blockstorage/v1/volumes
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/blockstorage/v1/snapshots
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/blockstorage/v1/volumetypes
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/openstack/utils
#GOPATH=%{buildroot}/%{gopath}:%{gopath} go test %{import_path}/pagination
%files devel
%doc README.md LICENSE CONTRIBUTORS.md CONTRIBUTING.md UPGRADING.md
%dir %{gopath}/src/%{provider}.%{provider_tld}/%{project}
%{gopath}/src/%{import_path}/
%changelog
* Fri Mar 06 2015 jchaloup <jchaloup@redhat.com> - 1.0.0-4
- Fix Provides, used import_path macro instead of its value
related: #1153733
* Fri Mar 06 2015 jchaloup <jchaloup@redhat.com> - 1.0.0-3
- Bump to upstream 6753165c3bb83a2b41bc495210509eacb12926d6
related: #1153733
* Wed Feb 25 2015 jchaloup <jchaloup@redhat.com> - 1.0.0-2
- Bump to upstream 75c3fecab50deff8ff90bce2147a9d3140c5a13f
related: #1153733
* Fri Jan 02 2015 jchaloup <jchaloup@redhat.com> - 1.0.0-1
- update to 1.0.0
related: #1153733
* Thu Oct 16 2014 jchaloup <jchaloup@redhat.com> - 0-0.1.gite13cda2
- First package for Fedora
resolves: #1153733