2 changed files with 146 additions and 0 deletions
@ -0,0 +1,32 @@
|
||||
Index: rmutil/util.c
|
||||
--- rmutil/util.c.orig 2019-04-21 11:46:39.000000000 +0200
|
||||
+++ rmutil/util.c 2019-04-21 12:53:28.266257000 +0200
|
||||
@@ -6,6 +6,7 @@
|
||||
#include <stdarg.h>
|
||||
#include <limits.h>
|
||||
#include <string.h>
|
||||
+#include <strings.h>
|
||||
#include <redismodule.h>
|
||||
#include "util.h"
|
||||
|
||||
@@ -220,4 +221,4 @@
|
||||
} while ((ele != NULL) && (*e != '\0'));
|
||||
|
||||
return ele;
|
||||
-}
|
||||
\ No newline at end of file
|
||||
+}
|
||||
Index: zstd_vals/Makefile
|
||||
--- zstd_vals/Makefile.orig 2019-04-21 11:46:39.000000000 +0200
|
||||
+++ zstd_vals/Makefile 2019-04-21 12:53:57.123509000 +0200
|
||||
@@ -4,8 +4,8 @@
|
||||
ZSTD_LIBDIR=../zstd/lib
|
||||
|
||||
# Compile flags for linux
|
||||
-SHOBJ_CFLAGS ?= -fno-common -g -ggdb
|
||||
-SHOBJ_LDFLAGS ?= -shared -Bsymbolic
|
||||
+SHOBJ_CFLAGS ?=
|
||||
+SHOBJ_LDFLAGS ?= -shared
|
||||
CFLAGS = -I$(RM_INCLUDE_DIR) -I$(ZSTD_INCLUDE_DIR) -Wall -g -fPIC -lc -lm -O2 -std=c++11
|
||||
CC=g++
|
||||
LD=g++
|
@ -0,0 +1,114 @@
|
||||
## |
||||
## redis-mod-zstd.spec -- OpenPKG RPM Package Specification |
||||
## Copyright (c) 2000-2019 OpenPKG Project <http://openpkg.org/> |
||||
## |
||||
## Permission to use, copy, modify, and distribute this software for |
||||
## any purpose with or without fee is hereby granted, provided that |
||||
## the above copyright notice and this permission notice appear in all |
||||
## copies. |
||||
## |
||||
## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED |
||||
## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
||||
## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
||||
## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR |
||||
## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
||||
## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
||||
## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
||||
## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
||||
## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
||||
## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT |
||||
## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
||||
## SUCH DAMAGE. |
||||
## |
||||
|
||||
# package information |
||||
Name: redis-mod-zstd |
||||
Summary: Redis Extension Module: ZStandard Compression |
||||
URL: https://github.com/chadnickbok/redis-zstd-module |
||||
Vendor: Nick Chadwick |
||||
Packager: OpenPKG Project |
||||
Distribution: OpenPKG Community |
||||
Class: EVAL |
||||
Group: Database |
||||
License: Open Source |
||||
Version: 20190421 |
||||
Release: 20190421 |
||||
|
||||
# list of sources |
||||
Source0: http://download.openpkg.org/components/versioned/redis-zstd/redis-zstd-%{version}.tar.xz |
||||
Patch0: redis-mod-zstd.patch |
||||
|
||||
# build information |
||||
BuildPreReq: OpenPKG, openpkg >= 20160101 |
||||
PreReq: OpenPKG, openpkg >= 20160101 |
||||
PreReq: redis |
||||
|
||||
%description |
||||
This is a Redis extension module that provides ZStandard |
||||
compression/decompression functionality. |
||||
|
||||
%track |
||||
prog redis-mod-zstd = { |
||||
version = %{version} |
||||
url = http://download.openpkg.org/components/versioned/redis-zstd/ |
||||
regex = redis-zstd-(__VER__)\.tar\.xz |
||||
} |
||||
|
||||
%prep |
||||
%setup -q -n redis-zstd |
||||
%patch -p0 |
||||
|
||||
%build |
||||
# build extension module |
||||
( cd rmutil |
||||
%{l_make} %{l_mflags -O} \ |
||||
CC="%{l_cc}" \ |
||||
CFLAGS="%{l_cflags -O} -I`pwd` -I.." |
||||
) || exit $? |
||||
( cd zstd_vals |
||||
%{l_make} %{l_mflags -O} \ |
||||
CC="%{l_cxx}" \ |
||||
LD="%{l_cxx}" \ |
||||
CFLAGS="%{l_cxxflags -O} -I`pwd` -I.. %{l_cppflags}" \ |
||||
ZSTD_INCLUDE_DIR=%{l_prefix}/include \ |
||||
ZSTD_LIBDIR=%{l_prefix}/lib |
||||
) || exit $? |
||||
|
||||
%install |
||||
# create installation hierarchy |
||||
%{l_shtool} mkdir -f -p -m 755 \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/libexec/redis |
||||
|
||||
# install extension module |
||||
%{l_shtool} install -c -m 755 \ |
||||
zstd_vals/zstd_vals.so \ |
||||
$RPM_BUILD_ROOT%{l_prefix}/libexec/redis/zstd.so |
||||
|
||||
# determine installation files |
||||
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} |
||||
|
||||
%files -f files |
||||
|
||||
%clean |
||||
|
||||
%post |
||||
if [ ".$1" = .1 ]; then |
||||
# add hook to Redis configuration |
||||
redisconf="$RPM_INSTALL_PREFIX/etc/redis/redis.conf" |
||||
if [ -f $redisconf ]; then |
||||
echo "loadmodule $RPM_INSTALL_PREFIX/libexec/redis/zstd.so" |\ |
||||
$RPM_INSTALL_PREFIX/lib/openpkg/rpmtool config \ |
||||
-a -i "$RPM_INSTALL_PREFIX:redis-mod-zstd" -p "#" $redisconf |
||||
fi |
||||
fi |
||||
|
||||
%postun |
||||
if [ ".$1" = .0 ]; then |
||||
# remove hook from Redis configuration |
||||
redisconf="$RPM_INSTALL_PREFIX/etc/redis/redis.conf" |
||||
if [ -f $redisconf ]; then |
||||
$RPM_INSTALL_PREFIX/lib/openpkg/rpmtool config \ |
||||
-r -i "$RPM_INSTALL_PREFIX:redis-mod-zstd" -p "#" $redisconf |
||||
fi |
||||
fi |
||||
|
Loading…
Reference in new issue