summaryrefslogtreecommitdiffstats
path: root/redis-timeseries.spec
blob: c77ab877a3bc5c420ae97ef40a3713ef3d84d184 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# remirepo/fedora spec file for redis-timeseries
#
# SPDX-FileCopyrightText:  Copyright 2025 Remi Collet
# SPDX-License-Identifier: CECILL-2.1
# http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
#
# Please, preserve the changelog entries
#

%global cfgname          timeseries.conf
%global libname          redistimeseries.so
# Github forge
%global gh_vend          RedisTimeSeries
%global gh_proj          RedisTimeSeries
%global forgeurl         https://github.com/%{gh_vend}/%{gh_proj}
#global commit           afe5de4ce52bb2b80af565a6f297bf330a65d0d8
%global tag              v%{version}
# for EL-8 to avoid TAG usage
%global archivename      %{gh_proj}-%{version}

Name:              redis-timeseries
Version:           8.2.4
Release:           1%{?dist}
Summary:           Time series as native data type
# Starting with Redis 8, RedisTimeSeries is licensed under your choice of:
# (i) Redis Source Available License 2.0 (RSALv2);
# (ii) the Server Side Public License v1 (SSPLv1); or
# (iii) the GNU Affero General Public License version 3 (AGPLv3). 
# LibMR is AGPL-3.0-only
# hiredis is BSD-3-Clause
# libevent is BSD-3-Clause
# RedisModulesSDK is MIT
# readies is BSD-3-Clause
# cpu_features is Apache-2.0
# dragonbox is Apache-2.0
# fast_double_parser is Apache-2.0
# minunit is MIT
License:           AGPL-3.0-only AND MIT AND BSD-3-Clause AND Apache-2.0
URL:               %{forgeurl}
Source0:           %{name}-%{version}.tgz
# get full git snapshot with submodules
Source1:           makesrc.sh

BuildRequires:    (redis-devel >= 8.2 with redis-devel < 8.4)
BuildRequires:     make
BuildRequires:     cmake
BuildRequires:     automake
BuildRequires:     autoconf
BuildRequires:     libtool
BuildRequires:     gcc
BuildRequires:     gcc-c++
BuildRequires:     python3
BuildRequires:     python3-pip
BuildRequires:     openssl-devel
BuildRequires:     jq

Provides:          bundled(LibMR)
Provides:          bundled(hiredis)
Provides:          bundled(libevent)
Provides:          bundled(RedisModulesSDK)
Provides:          bundled(cpu_features)
Provides:          bundled(fast_double_parser)
Provides:          bundled(readies)
Provides:          bundled(dragonbox)
Provides:          bundled(minunit)

Requires:          redis(modules_abi)%{?_isa} = %{redis_modules_abi}
Requires:         (redis >= 8.2 with redis < 8.4)
Supplements:       redis


%description
RedisTimeSeries can hold multiple time series. Each time series is accessible
via a single Redis key (similar to any other Redis data structure).


%prep
%setup -q -n %{gh_proj}-%{version}

: Configuration file
cat << EOF | tee %{cfgname}
# %{gh_proj}
loadmodule %{redis_modules_dir}/%{libname}
EOF

cp -p deps/LibMR/LICENSE.txt           LICENSE.LibMR              # AGPLv3
cp -p deps/RedisModulesSDK/LICENSE     LICENSE.RedisModulesSDK    # MIT
cp -p deps/cpu_features/LICENSE        LICENSE.cpu_features       # Apache-2.0
cp -p deps/readies/LICENSE             LICENSE.readies            # BSD-3-Clause
cp -p deps/fast_double_parser/LICENSE  LICENSE.fast_double_parser # Apache-2.0
cp -p deps/LibMR/deps/hiredis/COPYING  LICENSE.hiredis            # BSD-3-Clause
cp -p deps/LibMR/deps/libevent/LICENSE LICENSE.libevent           # BSD-3-Clause


%build
%global make_flags	 DEBUG="" VERBOSE=1 LDFLAGS="%{?__global_ldflags}" CFLAGS+="%{optflags} -fPIC"
make %{?_smp_mflags} %{make_flags} build


%install
install -Dpm755 bin/linux-*-release/%{libname} %{buildroot}%{redis_modules_dir}/%{libname}
install -Dpm640 %{cfgname}                     %{buildroot}%{redis_modules_cfg}/%{cfgname}


%files
%license LICENSE.*
%license licenses/AGPLv3.txt
%doc *.md
%attr(0640, redis, root) %config(noreplace) %{redis_modules_cfg}/%{cfgname}
%{redis_modules_dir}/%{libname}


%changelog
* Mon Oct 27 2025 Remi Collet <remi@remirepo.net> - 8.2.4-1
- update to 8.2.4

* Mon Oct 13 2025 Remi Collet <remi@remirepo.net> - 8.2.3-1
- update to 8.2.3

* Thu Sep  4 2025 Remi Collet <remi@remirepo.net> - 8.2.2-1
- update to 8.2.2

* Wed Aug  6 2025 Remi Collet <remi@remirepo.net> - 8.2.1-1
- update to 8.2.1

* Mon Aug  4 2025 Remi Collet <remi@remirepo.net> - 8.2.0-1
- update to 8.2.0

* Thu Jul 24 2025 Remi Collet <remi@remirepo.net> - 8.0.1-1
- initial package