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

# https://github.com/hashicorp/serf
%global goipath         github.com/hashicorp/serf
Version:                0.9.5

%gometa

%global common_description %{expand:
Serf is a decentralized solution for service discovery and orchestration that is
lightweight, highly available, and fault tolerant.

Serf runs on Linux, Mac OS X, and Windows. An efficient and lightweight gossip
protocol is used to communicate with other nodes. Serf can detect node failures
and notify the rest of the cluster. An event system is built on top of Serf,
letting you use Serf's gossip protocol to propagate events such as deploys,
configuration changes, etc. Serf is completely masterless with no single point
of failure.

Here are some example use cases of Serf, though there are many others:

 - Discovering web servers and automatically adding them to a load balancer
 - Organizing many memcached or redis nodes into a cluster, perhaps with
   something like twemproxy or maybe just configuring an application with the
   address of all the nodes
 - Triggering web deploys using the event system built on top of Serf
 - Propagating changes to configuration to relevant nodes.
 - Updating DNS records to reflect cluster changes as they occur.
 - Much, much more.
}

%global golicenses      LICENSE
%global godocs          CHANGELOG.md README.md

Name:           %{goname}
Release:        1%{?dist}
Summary:        Service orchestration and management tool

# Upstream license specification: MPL-2.0
License:        MPLv2.0
URL:            %{gourl}
Source0:        %{gosource}
# Fix to use newer github.com/hashicorp/go-msgpack/codec
Patch0:         0001-fix-codec.MsgpackHandle.patch

BuildRequires:  golang(github.com/armon/circbuf)
BuildRequires:  golang(github.com/armon/go-metrics)
BuildRequires:  golang(github.com/hashicorp/go-msgpack/codec)
BuildRequires:  golang(github.com/hashicorp/go-syslog)
BuildRequires:  golang(github.com/hashicorp/logutils)
BuildRequires:  golang(github.com/hashicorp/mdns)
BuildRequires:  golang(github.com/hashicorp/memberlist)
BuildRequires:  golang(github.com/mitchellh/cli)
BuildRequires:  golang(github.com/mitchellh/mapstructure)
BuildRequires:  golang(github.com/ryanuber/columnize)

%description
%{common_description}

%gopkg

%prep
%goprep
%patch0 -p1

%build
for cmd in 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
# Needs network
%gocheck -t cmd -t serf
%endif

%files
%license %{golicenses}
%doc %{godocs}
%{_bindir}/*

%gopkgfiles

%changelog
* Sun Jan  3 10:16:07 CET 2021 Robert-André Mauchin <zebob.m@gmail.com> - 0.9.5-1
- Update to 0.9.5
- Close: rhbz#1869463

* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Mon Jul 27 2020 Robert-André Mauchin <zebob.m@gmail.com> - 0.9.3-1
- Update to 0.9.3

* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

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

* Fri Apr 19 17:14:00 CEST 2019 Robert-André Mauchin <zebob.m@gmail.com> - 0.8.3-1
- Release 0.8.3

* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.4-0.12.20151109gita72c045
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Tue Oct 23 2018 Nicolas Mailhot <nim@fedoraproject.org> - 0.6.4-0.11.20151109gita72c045
- redhat-rpm-config-123 triggers bugs in gosetup, remove it from Go spec files as it’s just an alias
- https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/RWD5YATAYAFWKIDZBB7EB6N5DAO4ZKFM/

* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.4-0.10.20151109gita72c045
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Wed Feb 28 2018 Jan Chaloupka <jchaloup@redhat.com> - 0.6.4-0.9.20151109gita72c045
- Autogenerate some parts using the new macros

* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.4-0.8.gita72c045
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.4-0.7.gita72c045
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.4-0.6.gita72c045
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.4-0.5.gita72c045
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Thu Jul 21 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.4-0.4.gita72c045
- https://fedoraproject.org/wiki/Changes/golang1.7

* Mon Feb 22 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.4-0.3.gita72c045
- https://fedoraproject.org/wiki/Changes/golang1.6

* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.4-0.2.gita72c045
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Wed Jan 13 2016 jchaloup <jchaloup@redhat.com> - 0.6.4-0.1.gita72c045
- Bump to upstream a72c0453da2ba628a013e98bf323a76be4aa1443
  related: #1250477

* Sat Sep 12 2015 jchaloup <jchaloup@redhat.com> - 0-0.4.git4bd6183
- Update to spec-2.1
  related: #1250477

* Mon Aug 24 2015 jchaloup <jchaloup@redhat.com> - 0-0.3.git4bd6183
- Update spec file to spec-2.0
  resolves: #1250477

* Thu Jul 16 2015 jchaloup <jchaloup@redhat.com> - 0-0.2.git4bd6183
- Disable command test
  related: #1212318

* Wed Apr 15 2015 jchaloup <jchaloup@redhat.com> - 0-0.1.git4bd6183
- First package for Fedora
  resolves: #1212318