blob: 16ad4bdc8f0883e11a38f960c942abdacc03b666 (
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
|
# 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.0.1
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
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.0 with redis < 8.1)
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
* Thu Jul 24 2025 Remi Collet <remi@remirepo.net> - 8.0.1-1
- initial package
|