!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