!1 Add spec/source for rocksdb init
Merge pull request !1 from huangtianhua/add-spec
This commit is contained in:
commit
eb645eb5af
57
rocksdb-6.8.1-install_path.patch
Normal file
57
rocksdb-6.8.1-install_path.patch
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index a6c8c64..5276f96 100644
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -1720,33 +1720,35 @@ defer_test: util/defer_test.o $(LIBOBJECTS) $(TESTHARNESS)
|
||||||
|
|
||||||
|
#-------------------------------------------------
|
||||||
|
# make install related stuff
|
||||||
|
-INSTALL_PATH ?= /usr/local
|
||||||
|
+INSTALL_PREFIX ?= /
|
||||||
|
+INCLUDE_INSTAL_DIR ?= /usr/local/include/
|
||||||
|
+LIB_INSTALL_DIR ?= /usr/local/lib/
|
||||||
|
|
||||||
|
uninstall:
|
||||||
|
- rm -rf $(INSTALL_PATH)/include/rocksdb \
|
||||||
|
- $(INSTALL_PATH)/lib/$(LIBRARY) \
|
||||||
|
- $(INSTALL_PATH)/lib/$(SHARED4) \
|
||||||
|
- $(INSTALL_PATH)/lib/$(SHARED3) \
|
||||||
|
- $(INSTALL_PATH)/lib/$(SHARED2) \
|
||||||
|
- $(INSTALL_PATH)/lib/$(SHARED1)
|
||||||
|
+ rm -rf $(INSTALL_PREFIX)/$(INCLUDE_INSTALL_DIR)/rocksdb \
|
||||||
|
+ $(INSTALL_PREFIX)/$(LIB_INSTALL_DIR)/$(LIBRARY) \
|
||||||
|
+ $(INSTALL_PREFIX)/$(LIB_INSTALL_DIR)/$(SHARED4) \
|
||||||
|
+ $(INSTALL_PREFIX)/$(LIB_INSTALL_DIR)/$(SHARED3) \
|
||||||
|
+ $(INSTALL_PREFIX)/$(LIB_INSTALL_DIR)/$(SHARED2) \
|
||||||
|
+ $(INSTALL_PREFIX)/$(LIB_INSTALL_DIR)/$(SHARED1)
|
||||||
|
|
||||||
|
install-headers:
|
||||||
|
- install -d $(INSTALL_PATH)/lib
|
||||||
|
- for header_dir in `$(FIND) "include/rocksdb" -type d`; do \
|
||||||
|
- install -d $(INSTALL_PATH)/$$header_dir; \
|
||||||
|
+ install -d $(INSTALL_PREFIX)/$(LIB_INSTALL_DIR)
|
||||||
|
+ for header_dir in $$(find "include/rocksdb" -type d|sed -r 's/^([^\/]*\/)//'); do \
|
||||||
|
+ install -d $(INSTALL_PREFIX)/$(INCLUDE_INSTALL_DIR)/$$header_dir; \
|
||||||
|
done
|
||||||
|
- for header in `$(FIND) "include/rocksdb" -type f -name *.h`; do \
|
||||||
|
- install -C -m 644 $$header $(INSTALL_PATH)/$$header; \
|
||||||
|
+ for header in $$(find "include/rocksdb" -type f -name *.h|sed -r 's/^([^\/]*\/)//'); do \
|
||||||
|
+ install -C -m 644 "include/$$header" $(INSTALL_PREFIX)/$(INCLUDE_INSTALL_DIR)/$$header; \
|
||||||
|
done
|
||||||
|
|
||||||
|
install-static: install-headers $(LIBRARY)
|
||||||
|
- install -C -m 755 $(LIBRARY) $(INSTALL_PATH)/lib
|
||||||
|
+ install -C -m 755 $(INSTALL_PREFIX)/$(LIB_INSTALL_DIR)
|
||||||
|
|
||||||
|
install-shared: install-headers $(SHARED4)
|
||||||
|
- install -C -m 755 $(SHARED4) $(INSTALL_PATH)/lib && \
|
||||||
|
- ln -fs $(SHARED4) $(INSTALL_PATH)/lib/$(SHARED3) && \
|
||||||
|
- ln -fs $(SHARED4) $(INSTALL_PATH)/lib/$(SHARED2) && \
|
||||||
|
- ln -fs $(SHARED4) $(INSTALL_PATH)/lib/$(SHARED1)
|
||||||
|
+ install -C -m 755 $(SHARED4) $(INSTALL_PREFIX)/$(LIB_INSTALL_DIR) && \
|
||||||
|
+ ln -fs $(SHARED4) $(INSTALL_PREFIX)/$(LIB_INSTALL_DIR)/$(SHARED3) && \
|
||||||
|
+ ln -fs $(SHARED4) $(INSTALL_PREFIX)/$(LIB_INSTALL_DIR)/$(SHARED2) && \
|
||||||
|
+ ln -fs $(SHARED4) $(INSTALL_PREFIX)/$(LIB_INSTALL_DIR)/$(SHARED1)
|
||||||
|
|
||||||
|
# install static by default + install shared if it exists
|
||||||
|
install: install-static
|
||||||
73
rocksdb.spec
Normal file
73
rocksdb.spec
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
Name: rocksdb
|
||||||
|
Version: 6.8.1
|
||||||
|
Release: 1
|
||||||
|
Summary: A Persistent Key-Value Store for Flash and RAM Storage
|
||||||
|
|
||||||
|
License: GPLv2 and Apache 2.0 License
|
||||||
|
URL: https://github.com/facebook/rocksdb.git
|
||||||
|
|
||||||
|
BuildRequires: gcc make rpm-build gcc-c++ gtest-devel
|
||||||
|
|
||||||
|
# enable debuginfo pacakges by default, then we need gdb package
|
||||||
|
BuildRequires: gdb
|
||||||
|
|
||||||
|
# rocksdb recommend installing some compression libraries
|
||||||
|
BuildRequires: snappy snappy-devel zlib zlib-devel bzip2 bzip2-devel lz4 lz4-devel zstd zstd-devel gflags gflags-devel
|
||||||
|
|
||||||
|
Requires: snappy snappy-devel zlib zlib-devel bzip2 bzip2-devel lz4 lz4-devel zstd zstd-devel gflags gflags-devel
|
||||||
|
|
||||||
|
Source0: https://codeload.github.com/facebook/%{name}/tar.gz/v%{version}
|
||||||
|
Patch0: rocksdb-6.8.1-install_path.patch
|
||||||
|
|
||||||
|
%description
|
||||||
|
Rocksdb is a library that forms the core building block for a fast key value
|
||||||
|
server, especially suited for storing data on flash drives. It has a
|
||||||
|
Log-Structured-Merge-Database (LSM) design with flexible trade offs between
|
||||||
|
Write-Amplification-Factor (WAF), Read-Amplification-Factor (RAF) and
|
||||||
|
Space-Amplification-Factor (SAF). It has multithreaded compaction, making it
|
||||||
|
specially suitable for storing multiple terabytes of data in a single database.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development files for rocksdb
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
Development files for rocksdb
|
||||||
|
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup
|
||||||
|
|
||||||
|
rm -rf third-party/gtest-1.8.1
|
||||||
|
rm java/benchmark/src/main/java/org/rocksdb/benchmark/DbBenchmark.java
|
||||||
|
rm build_tools/gnu_parallel
|
||||||
|
|
||||||
|
%build
|
||||||
|
export CFLAGS="%{optflags}"
|
||||||
|
export EXTRA_CXXFLAGS=" -std=c++11 %{optflags}"
|
||||||
|
make %{?_smp_mflags} shared_lib
|
||||||
|
|
||||||
|
%install
|
||||||
|
make install-shared \
|
||||||
|
INSTALL_PREFIX=%{buildroot}\
|
||||||
|
LIB_INSTALL_DIR=%{_libdir}\
|
||||||
|
INCLUDE_INSTALL_DIR=%{_includedir}
|
||||||
|
|
||||||
|
%post -p /sbin/ldconfig
|
||||||
|
%postun -p /sbin/ldconfig
|
||||||
|
|
||||||
|
|
||||||
|
%files
|
||||||
|
%{_libdir}/librocksdb.so.6
|
||||||
|
%{_libdir}/librocksdb.so.6.8
|
||||||
|
%{_libdir}/librocksdb.so.6.8.1
|
||||||
|
%license COPYING LICENSE.Apache LICENSE.leveldb
|
||||||
|
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%{_libdir}/librocksdb.so
|
||||||
|
%{_includedir}/*
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Thu May 28 2020 openEuler Buildteam <buildteam@openeuler.org> - 6.8.1-1
|
||||||
|
- Package init
|
||||||
Loading…
x
Reference in New Issue
Block a user