commit d705fa77cc3572469006bd8411790e63e6079eae99a0236e3d3f5e9bc379734e Author: Martin Pluskal Date: Wed Mar 22 08:32:31 2023 +0000 Accepting request 1073649 from home:AndreasStieger RocksDB 8.0.0 OBS-URL: https://build.opensuse.org/request/show/1073649 OBS-URL: https://build.opensuse.org/package/show/server:database/rocksdb?expand=0&rev=1 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/rocksdb-8.0.0-reproducible.patch b/rocksdb-8.0.0-reproducible.patch new file mode 100644 index 0000000..a3c2ca7 --- /dev/null +++ b/rocksdb-8.0.0-reproducible.patch @@ -0,0 +1,20 @@ +Index: rocksdb-8.0.0/Makefile +=================================================================== +--- rocksdb-8.0.0.orig/Makefile ++++ rocksdb-8.0.0/Makefile +@@ -787,9 +787,12 @@ ROCKSDB_PATCH = $(shell grep -E "ROCKSDB + # the file needs to already exist or else the build will fail + ifndef NO_UPDATE_BUILD_VERSION + +-# By default, use the current date-time as the date. If there are no changes, +-# we will use the last commit date instead. +-build_date := $(shell date "+%Y-%m-%d %T") ++DATE_FMT = %Y-%m-%d ++ifdef SOURCE_DATE_EPOCH ++ build_date ?= $(shell date -u -d "@$(SOURCE_DATE_EPOCH)" "+$(DATE_FMT)" 2>/dev/null || date -u -r "$(SOURCE_DATE_EPOCH)" "+$(DATE_FMT)" 2>/dev/null || date -u "+$(DATE_FMT)") ++else ++ build_date ?= $(shell date "+$(DATE_FMT)") ++endif + + ifdef FORCE_GIT_SHA + git_sha := $(FORCE_GIT_SHA) diff --git a/rocksdb-8.0.0.tar.gz b/rocksdb-8.0.0.tar.gz new file mode 100644 index 0000000..d123ff6 --- /dev/null +++ b/rocksdb-8.0.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05ff6b0e89bffdf78b5a9d6fca46cb06bde6189f5787b9eeaef0511b782c1033 +size 12634178 diff --git a/rocksdb.changes b/rocksdb.changes new file mode 100644 index 0000000..0890d84 --- /dev/null +++ b/rocksdb.changes @@ -0,0 +1,18 @@ +------------------------------------------------------------------- +Tue Mar 21 20:40:00 UTC 2023 - Andreas Stieger + +- RocksDB 8.0.0 +- add rocksdb-8.0.0-reproducible.patch + +------------------------------------------------------------------- +Wed Oct 28 21:56:34 UTC 2020 - Adam Mizerski + +- update to 6.13.3 + * see packaged HISTORY.md +- refreshed patch gtest.patch + +------------------------------------------------------------------- +Sat Feb 2 13:44:05 UTC 2019 - Adam Mizerski + +- new package; version 5.17.2 +- added patch gtest.patch diff --git a/rocksdb.spec b/rocksdb.spec new file mode 100644 index 0000000..f528ae3 --- /dev/null +++ b/rocksdb.spec @@ -0,0 +1,117 @@ +# +# spec file for package rocksdb +# +# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2023 Andreas Stieger +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define lib_name librocksdb8 +Name: rocksdb +Version: 8.0.0 +Release: 0 +Summary: RocksDB +License: Apache-2.0 AND GPL-2.0-only +URL: https://rocksdb.org/ +Source: https://github.com/facebook/rocksdb/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz +Patch0: rocksdb-8.0.0-reproducible.patch +BuildRequires: c++_compiler +BuildRequires: cmake +BuildRequires: gflags-devel-static +BuildRequires: pkgconfig +BuildRequires: cmake(Snappy) +BuildRequires: cmake(gflags) +BuildRequires: pkgconfig(bzip2) +BuildRequires: pkgconfig(jemalloc) +BuildRequires: pkgconfig(liblz4) +BuildRequires: pkgconfig(libzstd) +BuildRequires: pkgconfig(zlib) + +%description +RocksDB is a high performance embedded database for key-value data. +It is a fork of LevelDB which was then optimized to exploit many +central processing unit (CPU) cores, and make efficient use of fast +storage, such as solid-state drives (SSD), for input/output (I/O) +bound workloads. It is based on a log-structured merge-tree (LSM tree) +data structure. + +%package -n %{lib_name} +Summary: Shared library from rocksdb + +%description -n %{lib_name} +RocksDB is a high performance embedded database for key-value data. +It is a fork of LevelDB which was then optimized to exploit many +central processing unit (CPU) cores, and make efficient use of fast +storage, such as solid-state drives (SSD), for input/output (I/O) +bound workloads. It is based on a log-structured merge-tree (LSM tree) +data structure. + +This package holds the shared library of rocksdb. + +%package devel +Summary: Development package for RocksDB +Requires: %{lib_name} = %{version} + +%description devel +RocksDB is a high performance embedded database for key-value data. +It is a fork of LevelDB which was then optimized to exploit many +central processing unit (CPU) cores, and make efficient use of fast +storage, such as solid-state drives (SSD), for input/output (I/O) +bound workloads. It is based on a log-structured merge-tree (LSM tree) +data structure. + +This package contains the files needed to compile programs that use +the RocksDB library. + +%prep +%autosetup -p1 + +%build +# building tests is disabled, because they require additional instrumentation, +# which is build in library in debug mode and adds some overhead. +# Warnings: https://github.com/facebook/rocksdb/issues/11043 +%cmake \ + -DPORTABLE=ON \ + -DFAIL_ON_WARNINGS=OFF \ + -DWITH_JEMALLOC=ON \ + -DWITH_SNAPPY=ON \ + -DWITH_LZ4=ON \ + -DWITH_ZLIB=ON \ + -DWITH_ZSTD=ON \ + -DWITH_BZ2=ON \ + -DWITH_TESTS=OFF \ + -DWITH_BENCHMARK_TOOLS=OFF \ + -DWITH_TOOLS=OFF + +%cmake_build + +%install +%cmake_install +find %{buildroot}%{_libdir} -type f -name "*.a" -print -delete + +%ldconfig_scriptlets -n %{lib_name} + +%files -n %{lib_name} +%license COPYING LICENSE.Apache LICENSE.leveldb +%{_libdir}/librocksdb.so.* + +%files devel +%license COPYING LICENSE.Apache LICENSE.leveldb +%doc README.md HISTORY.md LANGUAGE-BINDINGS.md +%{_includedir}/rocksdb +%{_libdir}/librocksdb.so +%{_libdir}/pkgconfig/rocksdb.pc +%{_libdir}/cmake/rocksdb + +%changelog