Blob Blame History Raw
# Generated by go2rpm
%bcond_without check

# https://github.com/nats-io/nats-server
%global goipath         github.com/nats-io/nats-server
Version:                2.1.7

%gometa

%global goname          nats-server
%global goaltipaths     github.com/nats-io/gnatsd

# Remove in F33
%global godevelheader %{expand:
Obsoletes:      golang-github-nats-io-gnatsd-devel < 2.0.2-1
}

%global common_description %{expand:
A High Performance NATS Server written in Go and hosted by the Cloud Native
Computing Foundation (CNCF).}

%global golicenses      LICENSE
%global godocs          CODE-OF-CONDUCT.md GOVERNANCE.md MAINTAINERS.md\\\
                        ROADMAP.md TODO.md README.md

Name:           %{goname}
Release:        1%{?dist}
Summary:        High-Performance server for NATS, the cloud native messaging system

# Upstream license specification: Apache-2.0
License:        ASL 2.0
URL:            %{gourl}
Source0:        %{gosource}

BuildRequires:  golang(github.com/nats-io/jwt)
BuildRequires:  golang(github.com/nats-io/nkeys)
BuildRequires:  golang(github.com/nats-io/nuid)
BuildRequires:  golang(golang.org/x/crypto/bcrypt)
BuildRequires:  systemd-rpm-macros
BuildRequires:  help2man
Requires(pre):  shadow-utils

%if %{with check}
# Tests
BuildRequires:  golang(github.com/nats-io/nats.go)
%endif

%description
%{common_description}

%gopkg

%prep
%goprep

%build
%gobuild -o %{gobuilddir}/bin/%{name} %{goipath}


%install
%gopkginstall
install -m 0755 -vd                     %{buildroot}%{_sbindir}
install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_sbindir}/
install -m 0755 -vd                     %{buildroot}%{_mandir}/man1
help2man --no-discard-stderr --no-info --version-string=%{version} %{buildroot}%{_sbindir}/%{name} > %{buildroot}%{_mandir}/man1/%{name}.1
install -m 0755 -vd                      %{buildroot}%{_unitdir}
install -m 0755 -vp util/%{name}.service %{buildroot}%{_unitdir}/
install -m 0755 -vd                         %{buildroot}%{_sysconfdir}
install -m 0755 -vp docker/nats-server.conf %{buildroot}%{_sysconfdir}/
mkdir -p %{buildroot}%{_sharedstatedir}/%{name}

%pre
getent group nats >/dev/null || groupadd -r nats
getent passwd nats >/dev/null || \
    useradd -r -g nats -d %{_sharedstatedir}/%{name} -s /sbin/nologin \
    -c "NATS Server account" nats
exit 0

%post
%systemd_post %{name}.service

%preun
%systemd_preun %{name}.service

%postun
%systemd_postun_with_restart %{name}.service

%if %{with check}
%check
# logger: needs access to syslog
# server, test: need network
%gocheck -d logger -d server -d server/pse -d test
%endif

%files
%license LICENSE
%doc CODE-OF-CONDUCT.md GOVERNANCE.md MAINTAINERS.md ROADMAP.md TODO.md
%doc README.md
%{_sbindir}/*
%config(noreplace) %{_sysconfdir}/%{name}.conf
%{_mandir}/man1/%{name}.1*
%{_unitdir}/%{name}.service
%attr(0750, nats, nats) %dir %{_sharedstatedir}/%{name}

%gopkgfiles

%changelog
* Thu Jun 18 15:09:38 CEST 2020 Robert-André Mauchin <zebob.m@gmail.com> - 2.1.7-1
- Update to 2.1.7

* Sat Feb 01 22:29:20 CET 2020 Robert-André Mauchin <zebob.m@gmail.com> - 2.1.4-1
- Update to 2.1.4

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

* Tue May 14 00:55:18 CEST 2019 Robert-André Mauchin <zebob.m@gmail.com> - 2.0.2-1
- Release 2.0.2

* Tue May 14 00:55:18 CEST 2019 Robert-André Mauchin <zebob.m@gmail.com> - 2.0.0-1.rc8
- Initial package