Blob Blame History Raw
# Generated by go2rpm
# https://github.com/vitessio/vitess/issues/4971
%ifnarch %{ix86} %{arm}
%bcond_without check
%endif

# https://github.com/vitessio/vitess
%global goipath         vitess.io/vitess
%global forgeurl        https://github.com/vitessio/vitess
Version:                3.0
%global commit          948c2518355749c076675c79f257b4acbf349852

%gometa

%global common_description %{expand:
Vitess is a database clustering system for horizontal scaling of MySQL through
generalized sharding.

By encapsulating shard-routing logic, Vitess allows application code and
database queries to remain agnostic to the distribution of data onto multiple
shards. With Vitess, you can even split and merge shards as your needs grow,
with an atomic cutover step that takes only a few seconds.}

%global golicenses      LICENSE
%global godocs          CODE_OF_CONDUCT.md GOVERNANCE.md\\\
                        GUIDING_PRINCIPLES.md ADOPTERS.md CONTRIBUTING.md\\\
                        README.md README-go.md

Name:           %{goname}
Release:        2%{?dist}
Summary:        Database clustering system for horizontal scaling of MySQL

# Upstream license specification: MIT and Apache-2.0
License:        MIT and ASL 2.0
URL:            %{gourl}
Source0:        %{gosource}
# Fix int overflow due to use math.MaxInt64
Patch0:         0001-Fix-int-overflow-due-to-use-math.MaxInt64.patch

BuildRequires:  golang(cloud.google.com/go/storage)
BuildRequires:  golang(github.com/aws/aws-sdk-go/aws)
BuildRequires:  golang(github.com/aws/aws-sdk-go/aws/session)
BuildRequires:  golang(github.com/aws/aws-sdk-go/service/s3)
BuildRequires:  golang(github.com/aws/aws-sdk-go/service/s3/s3manager)
BuildRequires:  golang(github.com/golang/glog)
BuildRequires:  golang(github.com/golang/mock/gomock)
BuildRequires:  golang(github.com/golang/protobuf/jsonpb)
BuildRequires:  golang(github.com/golang/protobuf/proto)
BuildRequires:  golang(github.com/golang/snappy)
BuildRequires:  golang(github.com/gorilla/websocket)
BuildRequires:  golang(github.com/grpc-ecosystem/go-grpc-middleware)
BuildRequires:  golang(github.com/grpc-ecosystem/go-grpc-prometheus)
BuildRequires:  golang(github.com/hashicorp/consul/api)
BuildRequires:  golang(github.com/klauspost/pgzip)
BuildRequires:  golang(github.com/minio/minio-go)
BuildRequires:  golang(github.com/olekukonko/tablewriter)
BuildRequires:  golang(github.com/opentracing-contrib/go-grpc)
BuildRequires:  golang(github.com/opentracing/opentracing-go)
BuildRequires:  golang(github.com/pborman/uuid)
BuildRequires:  golang(github.com/prometheus/client_golang/prometheus)
BuildRequires:  golang(github.com/prometheus/client_golang/prometheus/promhttp)
BuildRequires:  golang(github.com/samuel/go-zookeeper/zk)
BuildRequires:  golang(github.com/tchap/go-patricia/patricia)
BuildRequires:  golang(github.com/uber/jaeger-client-go)
BuildRequires:  golang(github.com/uber/jaeger-client-go/config)
BuildRequires:  golang(golang.org/x/crypto/ssh/terminal)
BuildRequires:  golang(golang.org/x/net/context)
BuildRequires:  golang(golang.org/x/oauth2/google)
BuildRequires:  golang(golang.org/x/text/collate)
BuildRequires:  golang(golang.org/x/text/language)
BuildRequires:  golang(golang.org/x/time/rate)
BuildRequires:  golang(go.etcd.io/etcd/clientv3)
BuildRequires:  golang(go.etcd.io/etcd/etcdserver/api/v3rpc/rpctypes)
BuildRequires:  golang(go.etcd.io/etcd/mvcc/mvccpb)
BuildRequires:  golang(google.golang.org/api/iterator)
BuildRequires:  golang(google.golang.org/api/option)
BuildRequires:  golang(google.golang.org/grpc)
BuildRequires:  golang(google.golang.org/grpc/codes)
BuildRequires:  golang(google.golang.org/grpc/credentials)
BuildRequires:  golang(google.golang.org/grpc/encoding)
BuildRequires:  golang(google.golang.org/grpc/grpclog)
BuildRequires:  golang(google.golang.org/grpc/keepalive)
BuildRequires:  golang(google.golang.org/grpc/metadata)
BuildRequires:  golang(google.golang.org/grpc/peer)
BuildRequires:  golang(google.golang.org/grpc/status)
BuildRequires:  golang(gopkg.in/ldap.v2)
BuildRequires:  openssl

%description
%{common_description}

%gopkg

%prep
%goprep
%patch0 -p1
mv go/README.md README-go.md
find . -name "*.go" -exec sed -i "s|github.com/coreos/etcd|go.etcd.io/etcd|" "{}" +;

%build
for cmd in go/cmd/*; do
  %gobuild -o %{gobuilddir}/bin/$(basename $cmd) %{goipath}/$cmd
done

%install
%gopkginstall
install -m 0755 -vd                     %{buildroot}%{_bindir}
install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/

%if %{with check}
%check
%gocheck -t go/cmd \
         -d go/mysql \
         -d go/mysql/endtoend \
         -d go/vt/mysqlctl \
         -t go/vt/topo \
         -d go/vt/vtctld \
         -d go/vt/vtqueryserver \
         -d go/vt/vttablet/endtoend \
         -t go/vt/vttablet/tabletmanager \
         -t go/vt/vttablet/tabletserver \
         -t go/vt/vttablet/worker \
         -t go/vt/worker \
         -d go/vt/workflow/reshardingworkflowgen \
         -d go/vt/wrangler/testlib \
         -d go/vt/zkctl
%endif

%files
%license LICENSE
%doc CODE_OF_CONDUCT.md GOVERNANCE.md GUIDING_PRINCIPLES.md
%doc ADOPTERS.md CONTRIBUTING.md README.md README-go.md
%{_bindir}/*

%gopkgfiles

%changelog
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Thu May 16 00:30:49 CEST 2019 Robert-André Mauchin <zebob.m@gmail.com> - 3.0-1.20190701git948c251
- Initial package