Blob Blame History Raw
# Generated by go2rpm
%bcond_without check

# https://github.com/hashicorp/go-memdb
%global goipath         github.com/hashicorp/go-memdb
Version:                1.3.0

%gometa

%global common_description %{expand:
The Memdb package implements a simple in-memory database built on immutable
radix trees. The database provides Atomicity, Consistency and Isolation from
ACID. Being that it is in-memory, it does not provide durability. The database
is instantiated with a schema that specifies the tables and indices that exist
and allows transactions to be executed.

The database provides the following:

 - Multi-Version Concurrency Control (MVCC) - By leveraging immutable radix
   trees the database is able to support any number of concurrent readers
   without locking, and allows a writer to make progress.
 - Transaction Support - The database allows for rich transactions, in which
   multiple objects are inserted, updated or deleted. The transactions can span
   multiple tables, and are applied atomically. The database provides atomicity
   and isolation in ACID terminology, such that until commit the updates are not
   visible.
 - Rich Indexing - Tables can support any number of indexes, which can be simple
   like a single field index, or more advanced compound field indexes. Certain
   types like UUID can be efficiently compressed from strings into byte indexes
   for reduced storage requirements.
 - Watches - Callers can populate a watch set as part of a query, which can be
   used to detect when a modification has been made to the database which
   affects the query results. This lets callers easily watch for changes in the
   database in a very general way.}

%global golicenses      LICENSE
%global godocs          README.md

%global gosupfiles glide.lock glide.yaml

Name:           %{goname}
Release:        1%{?dist}
Summary:        Golang in-memory database built on immutable radix trees

# Upstream license specification: MPL-2.0
License:        MPLv2.0
URL:            %{gourl}
Source0:        %{gosource}
Source1:        glide.yaml
Source2:        glide.lock

BuildRequires:  golang(github.com/hashicorp/go-immutable-radix)

%description
%{common_description}

%gopkg

%prep
%goprep
cp %{S:1} %{S:2} .

%build
for cmd in watch-gen; 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
%endif

%files
%license LICENSE
%doc README.md
%{_bindir}/*

%gopkgfiles

%changelog
* Sat Dec 19 20:38:44 CET 2020 Robert-André Mauchin <zebob.m@gmail.com> - 1.3.0-1
- Update to 1.3.0
- Close: rhbz#1885690

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

* Mon Jul 27 20:24:16 CEST 2020 Robert-André Mauchin <zebob.m@gmail.com> - 1.2.1-1
- Update to 1.2.1

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

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

* Tue Jul 09 2019 Elliott Sales de Andrade <quantum.analyst@gmail.com> - 1.0.3-2
- Add Obsoletes for old name

* Tue Apr 30 20:26:51 CEST 2019 Robert-André Mauchin <zebob.m@gmail.com> - 1.0.3-1
- Release 1.0.3

* Sun Mar 24 15:58:31 CET 2019 Robert-André Mauchin <zebob.m@gmail.com> - 1.0.0-1
- Release 1.0.0

* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0-0.12.git9ea975b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Tue Oct 23 2018 Nicolas Mailhot <nim@fedoraproject.org> - 0-0.12.git9ea975b
- 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-0.11.git9ea975b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Tue Jun 12 2018 Jan Chaloupka <jchaloup@redhat.com> - 0-0.10.git9ea975b
- Upload glide files

* Wed Feb 28 2018 Jan Chaloupka <jchaloup@redhat.com> - 0-0.9.20151108git9ea975b
- Autogenerate some parts using the new macros

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

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

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

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

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

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

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

* Wed Jan 13 2016 jchaloup <jchaloup@redhat.com> - 0-0.1.git9ea975b
- First package for Fedora