Blob Blame History Raw
%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          f3ced00552c1c7d4a6184500af9062cfb4ff4463
%global shortcommit     %(c=%{commit}; echo ${c:0:7})

Name:           golang-%{provider}-%{project}-%{repo}
Version:        1.0.0
Release:        6%{?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(golang.org/x/crypto/ssh)
Requires:       golang >= 1.2.1-3
Requires:       golang(github.com/mitchellh/mapstructure)
Requires:       golang(golang.org/x/crypto/ssh)
Summary:        %{summary}

Provides: golang(%{import_path}) = %{version}-%{release}
Provides: golang(%{import_path}/acceptance/openstack) = %{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/rackspace/rackconnect/v3) = %{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/servergroups) = %{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/security) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/networking/v2/security/groups) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/networking/v2/security/rules) = %{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}/rackspace/rackconnect/v3) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/rackconnect/v3/cloudnetworks) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/rackconnect/v3/lbpools) = %{version}-%{release}
Provides: golang(%{import_path}/rackspace/rackconnect/v3/publicips) = %{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
* Thu Apr 23 2015 jchaloup <jchaloup@redhat.com> - 1.0.0-6
- Bump to upstream f3ced00552c1c7d4a6184500af9062cfb4ff4463
  resolves: #1214774

* Fri Mar 06 2015 jchaloup <jchaloup@redhat.com> - 1.0.0-5
- Fix root provide, replace double % with one
  related: #1153733

* 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