commit leveldb for openSUSE:Factory
Hello community, here is the log from the commit of package leveldb for openSUSE:Factory checked in at 2020-05-02 22:15:54 Comparing /work/SRC/openSUSE:Factory/leveldb (Old) and /work/SRC/openSUSE:Factory/.leveldb.new.2738 (New) Package is "leveldb" Sat May 2 22:15:54 2020 rev:12 rq:799299 version:1.22 Changes: --- /work/SRC/openSUSE:Factory/leveldb/leveldb.changes 2019-09-05 12:04:41.571915847 +0200 +++ /work/SRC/openSUSE:Factory/.leveldb.new.2738/leveldb.changes 2020-05-02 22:16:04.376377109 +0200 @@ -1,0 +2,44 @@ +Wed Apr 29 12:33:36 UTC 2020 - David Disseldorp + +- Remove 0001-debian-ports.patch + * std::atomic now used instead of internal AtomicPointer asm +- Update to version 1.22: + * Corrected formatting to be compliant with the Google C++ Style Guide. + * Restore soname versioning with CMake build. + * Other miscellaneous cleanups, fixes, and improvements. +- Update to version 1.21: + * Add tests for empty keys and values. + * Switch corruption_test to use InMemEnv. + * Replace AtomicPointer with std::atomic. + * Make InMemoryEnv more consistent with filesystem based Env's. + * Align windows_logger with posix_logger. + * Added native support for Windows. + * Make WriteBatch::ApproximateSize() const. + * Fix fdatasync() feature detection in opensource build. + * C++11 cleanup for util/mutexlock.h. + * Rework threading in env_posix.cc. + * Remove InitOnce from the port API. + * Expose WriteBatch::Append(). + * Fix documentation for log file growth. + * Add move constructor to Status. + * Replace port_posix with port_stdcxx. + * Reimplement ConsumeDecimalNumber. + * Replace NULL with nullptr in C++ files. + * Remove PLATFORM_IS_LITTLE_ENDIAN from port/posix.h. + * Add more thread safety annotations. + * Require C++11. + * Replace SIZE_MAX with std::numeric_limits. + * Add CMake build support. + * Enable thread safety annotations. + * leveldb::DestroyDB will now delete empty directories. + * Replace SSE-optimized CRC32C in POSIX port with external library. + * Fix file writing bug in CL 170738066. + * Fix use of uninitialized value in LRUHandle. + * Fix issue #474: a race between the f*_unlocked() STDIO calls in +env_posix.cc and concurrent application calls to fflush(NULL). + * Report missing CURRENT manifest file as database corruption. + * LevelDB: Add WriteBatch::ApproximateSize(). + * Other minor fixes, code cleanup, and documentation improvements. +- Perform a two-pass build, once for static and once for shared libs + +--- Old: 0001-debian-ports.patch leveldb-1.20.tar.gz New: leveldb-1.22.tar.gz Other differences: -- ++ leveldb.spec ++ --- /var/tmp/diff_new_pack.EHsAeU/_old 2020-05-02 22:16:05.296379037 +0200 +++ /var/tmp/diff_new_pack.EHsAeU/_new 2020-05-02 22:16:05.300379045 +0200 @@ -1,7 +1,7 @@ # # spec file for package leveldb # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,14 +17,14 @@ Name: leveldb -Version:1.20 +Version:1.22 Release:0 Summary:A key/value-store License:BSD-3-Clause Group: Development/Libraries/C and C++ -Url:https://github.com/google/leveldb -Source0: https://github.com/google/leveldb/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz -Patch0: 0001-debian-ports.patch +URL:https://github.com/google/leveldb +Source0: https://github.com/google/leveldb/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz +BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: snappy-devel @@ -66,32 +66,26 @@ %prep %setup -q -%patch0 -p1 %build +# unfortunately a two-pass build is needed for shared and static libs %global _lto_cflags %{_lto_cflags} -ffat-lto-objects -make %{?_smp_mflags} OPT="%{optflags}" +%cmake -DBUILD_SHARED_LIBS=ON +%cmake_build +cd .. +%cmake -DBUILD_SHARED_LIBS=OFF +%cmake_build %install -install -d -m 0755 \ - %{buildroot}%{_includedir} \ - %{buildroot}%{_libdir} \ - %{buildroot}%{_bindir} - -cp -a \ - out-static/libleveldb.a \ - out-shared/libleveldb.so* \ - %{buildroot}%{_libdir} - -cp -a include/leveldb \ - %{buildroot}%{_includedir} - -cp -a \ - out-shared/db_bench \ - %{buildroot}%{_bindir} +%cmake_install +# collect shared libs built in the first pass +cp -a build/libleveldb.so* %{buildroot}%{_libdir} +# cmake_install omits db_bench +install -d -m 0755 %{buildroot}%{_bindir} +cp -a build/db_bench %{buildroot}%{_bindir}
commit leveldb for openSUSE:Factory
Hello community, here is the log from the commit of package leveldb for openSUSE:Factory checked in at 2019-09-05 12:04:39 Comparing /work/SRC/openSUSE:Factory/leveldb (Old) and /work/SRC/openSUSE:Factory/.leveldb.new.7948 (New) Package is "leveldb" Thu Sep 5 12:04:39 2019 rev:11 rq:720529 version:1.20 Changes: --- /work/SRC/openSUSE:Factory/leveldb/leveldb.changes 2017-08-23 11:53:46.286521461 +0200 +++ /work/SRC/openSUSE:Factory/.leveldb.new.7948/leveldb.changes 2019-09-05 12:04:41.571915847 +0200 @@ -1,0 +2,5 @@ +Fri Aug 2 07:04:04 UTC 2019 - Martin Liška + +- Use FAT LTO objects in order to provide proper static library. + +--- Other differences: -- ++ leveldb.spec ++ --- /var/tmp/diff_new_pack.aeN4Pj/_old 2019-09-05 12:04:42.499915673 +0200 +++ /var/tmp/diff_new_pack.aeN4Pj/_new 2019-09-05 12:04:42.507915672 +0200 @@ -1,7 +1,7 @@ # # spec file for package leveldb # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -69,6 +69,7 @@ %patch0 -p1 %build +%global _lto_cflags %{_lto_cflags} -ffat-lto-objects make %{?_smp_mflags} OPT="%{optflags}" %install
commit leveldb for openSUSE:Factory
Hello community, here is the log from the commit of package leveldb for openSUSE:Factory checked in at 2017-08-23 11:53:43 Comparing /work/SRC/openSUSE:Factory/leveldb (Old) and /work/SRC/openSUSE:Factory/.leveldb.new (New) Package is "leveldb" Wed Aug 23 11:53:43 2017 rev:10 rq:518015 version:1.20 Changes: --- /work/SRC/openSUSE:Factory/leveldb/leveldb.changes 2017-08-13 14:58:18.692187687 +0200 +++ /work/SRC/openSUSE:Factory/.leveldb.new/leveldb.changes 2017-08-23 11:53:46.286521461 +0200 @@ -1,0 +2,9 @@ +Fri Aug 11 10:44:05 UTC 2017 - ncut...@suse.com + +- added 0001-debian-ports.patch + * obtained by rebasing https://github.com/google/leveldb/pull/291 +on top of 1.20 (one non-trivial conflict involving aarch64, +consulted with ARM experts - NOTE: this patch has not been +accepted upstream, but it's needed to support s390x) + +--- New: 0001-debian-ports.patch Other differences: -- ++ leveldb.spec ++ --- /var/tmp/diff_new_pack.rP4zAn/_old 2017-08-23 11:53:48.054272614 +0200 +++ /var/tmp/diff_new_pack.rP4zAn/_new 2017-08-23 11:53:48.058272052 +0200 @@ -24,6 +24,7 @@ Group: Development/Libraries/C and C++ Url:https://github.com/google/leveldb Source0: https://github.com/google/leveldb/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz +Patch0: 0001-debian-ports.patch BuildRequires: gcc-c++ BuildRequires: snappy-devel @@ -65,6 +66,7 @@ %prep %setup -q +%patch0 -p1 %build make %{?_smp_mflags} OPT="%{optflags}" ++ 0001-debian-ports.patch ++ diff --git a/port/atomic_pointer.h b/port/atomic_pointer.h index 1c4c7aa..c2c34b1 100644 --- a/port/atomic_pointer.h +++ b/port/atomic_pointer.h @@ -41,6 +41,18 @@ #define ARCH_CPU_PPC_FAMILY 1 #elif defined(__mips__) #define ARCH_CPU_MIPS_FAMILY 1 +#elif defined(__ia64__) +#define ARCH_CPU_IA64_FAMILY 1 +#elif defined(__alpha__) +#define ARCH_CPU_ALPHA_FAMILY 1 +#elif defined(__s390x__) || defined(__s390__) +#define ARCH_CPU_S390_FAMILY 1 +#elif defined(__sparc__) || defined(__sparc64__) +#define ARCH_CPU_SPARC_FAMILY 1 +#elif defined(__sh__) +#define ARCH_CPU_SH_FAMILY 1 +#elif defined(__hppa__) || defined(__parisc__) +#define ARCH_CPU_PARISC_FAMILY 1 #endif namespace leveldb { @@ -55,14 +67,25 @@ namespace port { // Mac OS #elif defined(OS_MACOSX) -inline void MemoryBarrier() { +inline void ReadMemoryBarrier() { + OSMemoryBarrier(); +} +inline void WriteMemoryBarrier() { OSMemoryBarrier(); } #define LEVELDB_HAVE_MEMORY_BARRIER +#define ReadMemoryBarrier MemoryBarrier() +#define WriteMemoryBarrier MemoryBarrier() + // Gcc on x86 #elif defined(ARCH_CPU_X86_FAMILY) && defined(__GNUC__) -inline void MemoryBarrier() { +inline void ReadMemoryBarrier() { + // See http://gcc.gnu.org/ml/gcc/2003-04/msg01180.html for a discussion on + // this idiom. Also see http://en.wikipedia.org/wiki/Memory_ordering. + __asm__ __volatile__("" : : : "memory"); +} +inline void WriteMemoryBarrier() { // See http://gcc.gnu.org/ml/gcc/2003-04/msg01180.html for a discussion on // this idiom. Also see http://en.wikipedia.org/wiki/Memory_ordering. __asm__ __volatile__("" : : : "memory"); @@ -71,7 +94,12 @@ inline void MemoryBarrier() { // Sun Studio #elif defined(ARCH_CPU_X86_FAMILY) && defined(__SUNPRO_CC) -inline void MemoryBarrier() { +inline void ReadMemoryBarrier() { + // See http://gcc.gnu.org/ml/gcc/2003-04/msg01180.html for a discussion on + // this idiom. Also see http://en.wikipedia.org/wiki/Memory_ordering. + asm volatile("" : : : "memory"); +} +inline void WriteMemoryBarrier() { // See http://gcc.gnu.org/ml/gcc/2003-04/msg01180.html for a discussion on // this idiom. Also see http://en.wikipedia.org/wiki/Memory_ordering. asm volatile("" : : : "memory"); @@ -91,24 +119,109 @@ typedef void (*LinuxKernelMemoryBarrierFunc)(void); // shows that the extra function call cost is completely negligible on // multi-core devices. // -inline void MemoryBarrier() { +inline void ReadMemoryBarrier() { + (*(LinuxKernelMemoryBarrierFunc)0x0fa0)(); +} +inline void WriteMemoryBarrier() { (*(LinuxKernelMemoryBarrierFunc)0x0fa0)(); } #define LEVELDB_HAVE_MEMORY_BARRIER // ARM64 #elif defined(ARCH_CPU_ARM64_FAMILY) -inline void MemoryBarrier() { +inline void ReadMemoryBarrier() { + asm volatile("dmb sy" : : : "memory"); +} +inline void WriteMemoryBarrier() { asm volatile("dmb sy" : : : "memory"); } #define LEVELDB_HAVE_MEMORY_BARRIER // PPC #elif defined(ARCH_CPU_PPC_FAMILY) && defined(__GNUC__) -inline void MemoryBarrier() { - // TODO for some powerpc expert: is there a cheaper suitable variant? - // Perhaps by
commit leveldb for openSUSE:Factory
Hello community, here is the log from the commit of package leveldb for openSUSE:Factory checked in at 2017-08-13 14:58:17 Comparing /work/SRC/openSUSE:Factory/leveldb (Old) and /work/SRC/openSUSE:Factory/.leveldb.new (New) Package is "leveldb" Sun Aug 13 14:58:17 2017 rev:9 rq:515889 version:1.20 Changes: --- /work/SRC/openSUSE:Factory/leveldb/leveldb.changes 2017-06-20 10:59:16.441033118 +0200 +++ /work/SRC/openSUSE:Factory/.leveldb.new/leveldb.changes 2017-08-13 14:58:18.692187687 +0200 @@ -1,0 +2,8 @@ +Thu Aug 10 11:52:35 UTC 2017 - ncut...@suse.com + +- FATE#319443 (aarch64 enablement) changes were backported by + https://build.opensuse.org/request/show/294636 and are part + of this release. Factory version builds on aarch64. + (bsc#1041611) + +--- Other differences: --
commit leveldb for openSUSE:Factory
Hello community, here is the log from the commit of package leveldb for openSUSE:Factory checked in at 2017-06-20 10:57:57 Comparing /work/SRC/openSUSE:Factory/leveldb (Old) and /work/SRC/openSUSE:Factory/.leveldb.new (New) Package is "leveldb" Tue Jun 20 10:57:57 2017 rev:8 rq:503679 version:1.20 Changes: --- /work/SRC/openSUSE:Factory/leveldb/leveldb.changes 2015-04-07 09:30:01.0 +0200 +++ /work/SRC/openSUSE:Factory/.leveldb.new/leveldb.changes 2017-06-20 10:59:16.441033118 +0200 @@ -1,0 +2,45 @@ +Sun Jun 11 17:07:36 UTC 2017 - mplus...@suse.com + +- Update to version 1.20: + * Convert documentation to markdown. + * Implement support for Intel crc32 instruction (SSE 4.2). + * Limit the number of read-only files the POSIX Env will have +open. + * Add option for maximum file size. +- Changes for version 1.19: + * A snappy change broke test assumptions about the size of +compressed output. + * Fix problems in LevelDB's caching code. + * Fix LevelDB build when asserts are enabled in release builds. + * Change std::uint64_t to uint64_t (#354). + * Fixes a bug encountered when reading records from leveldb +files that have + * been split, as in a [] input task split. + * Deleted redundant null ptr check prior to delete. (#338). + * Fix signed/unsigned mismatch on VC++ builds. + * Putting build artifacts in subdirectory. + * Added continuous build integration via Travis CI. + * log compaction output file's level along with number. + * Misc. improvements to README file. + * Fix Android/MIPS build (#115). + * Only compiling TrimSpace on linux (#310). + * Use xcrun to determine Xcode.app path instead of using a +hardcoded path. + * Add "approximate-memory-usage" property to +leveldb::DB::GetProperty. + * Addleveldb::Cache::Prune. + * Fix size_t/int comparison/conversion issues. + * Added leveldb::Status::IsInvalidArgument() method. + * Suppress error reporting after seeking but before a valid First +or Full record is encountered. + * #include -> (#280). + * Now attempts to reuse the preceding MANIFEST and log file when +re-opened. + * Add benchmark that measures cost of repeatedly opening the +database. + * Added a new fault injection test. + * Add arm64 support to leveldb. +- Drop no longer needed 0001-debian-ports.patch +- Package command line utils as well + +--- Old: 0001-debian-ports.patch v1.18.tar.gz New: leveldb-1.20.tar.gz Other differences: -- ++ leveldb.spec ++ --- /var/tmp/diff_new_pack.C1M40D/_old 2017-06-20 10:59:16.940962650 +0200 +++ /var/tmp/diff_new_pack.C1M40D/_new 2017-06-20 10:59:16.944962086 +0200 @@ -1,7 +1,7 @@ # # spec file for package leveldb # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,17 +17,15 @@ Name: leveldb -Version:1.18 +Version:1.20 Release:0 Summary:A key/value-store License:BSD-3-Clause Group: Development/Libraries/C and C++ Url:https://github.com/google/leveldb -Source0:https://github.com/google/leveldb/archive/v%{version}.tar.gz -Patch0: 0001-debian-ports.patch +Source0: https://github.com/google/leveldb/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildRequires: gcc-c++ BuildRequires: snappy-devel -BuildRoot: %{_tmppath}/%{name}-%{version}-build %description leveldb implements a system for maintaining a persistent key/value store. @@ -67,38 +65,47 @@ %prep %setup -q -%patch0 -p1 %build make %{?_smp_mflags} OPT="%{optflags}" -%check -make %{?_smp_mflags} check - %install -install -d -m 0755 %{buildroot}%{_includedir} %{buildroot}%{_libdir} +install -d -m 0755 \ + %{buildroot}%{_includedir} \ + %{buildroot}%{_libdir} \ + %{buildroot}%{_bindir} cp -a \ -libleveldb.a \ -libleveldb.so* \ + out-static/libleveldb.a \ + out-shared/libleveldb.so* \ %{buildroot}%{_libdir} -cp -a include/leveldb %{buildroot}%{_includedir} -find %{buildroot} -type f -name "*.la" -delete -print +cp -a include/leveldb \ + %{buildroot}%{_includedir} -%post -n %{lib_name} -p /sbin/ldconfig +cp -a \ + out-shared/db_bench \ + %{buildroot}%{_bindir} +%check +make %{?_smp_mflags} check + +%post -n %{lib_name} -p /sbin/ldconfig %postun -n %{lib_name} -p /sbin/ldconfig +%files +%defattr(-,root,root,-) +%{_bindir}/db_bench + %files -n %{lib_name} %defattr(-,root,root,-)
commit leveldb for openSUSE:Factory
Hello community, here is the log from the commit of package leveldb for openSUSE:Factory checked in at 2015-04-07 09:29:59 Comparing /work/SRC/openSUSE:Factory/leveldb (Old) and /work/SRC/openSUSE:Factory/.leveldb.new (New) Package is leveldb Changes: --- /work/SRC/openSUSE:Factory/leveldb/leveldb.changes 2014-10-22 16:23:23.0 +0200 +++ /work/SRC/openSUSE:Factory/.leveldb.new/leveldb.changes 2015-04-07 09:30:01.0 +0200 @@ -1,0 +2,7 @@ +Sun Apr 5 13:29:58 UTC 2015 - mplus...@suse.com + +- Update project url +- Use url for source +- Enable tests + +--- Old: leveldb-1.18.tar.bz2 New: v1.18.tar.gz Other differences: -- ++ leveldb.spec ++ --- /var/tmp/diff_new_pack.RoC6ox/_old 2015-04-07 09:30:01.0 +0200 +++ /var/tmp/diff_new_pack.RoC6ox/_new 2015-04-07 09:30:01.0 +0200 @@ -1,7 +1,7 @@ # # spec file for package leveldb # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -22,8 +22,8 @@ Summary:A key/value-store License:BSD-3-Clause Group: Development/Libraries/C and C++ -Url:http://code.google.com/p/leveldb/ -Source: leveldb-%{version}.tar.bz2 +Url:https://github.com/google/leveldb +Source0:https://github.com/google/leveldb/archive/v%{version}.tar.gz Patch0: 0001-debian-ports.patch BuildRequires: gcc-c++ BuildRequires: snappy-devel @@ -33,6 +33,7 @@ leveldb implements a system for maintaining a persistent key/value store. %define lib_name libleveldb1 + %package -n %{lib_name} Summary:Shared library from leveldb Group: System/Libraries @@ -69,7 +70,10 @@ %patch0 -p1 %build -make %{?_smp_flags} OPT=%{optflags} +make %{?_smp_mflags} OPT=%{optflags} + +%check +make %{?_smp_mflags} check %install install -d -m 0755 %{buildroot}%{_includedir} %{buildroot}%{_libdir} @@ -80,9 +84,10 @@ %{buildroot}%{_libdir} cp -a include/leveldb %{buildroot}%{_includedir} -find %{buildroot} -name \*.la -delete -print +find %{buildroot} -type f -name *.la -delete -print %post -n %{lib_name} -p /sbin/ldconfig + %postun -n %{lib_name} -p /sbin/ldconfig %files -n %{lib_name}
commit leveldb for openSUSE:Factory
Hello community, here is the log from the commit of package leveldb for openSUSE:Factory checked in at 2014-10-22 16:23:21 Comparing /work/SRC/openSUSE:Factory/leveldb (Old) and /work/SRC/openSUSE:Factory/.leveldb.new (New) Package is leveldb Changes: --- /work/SRC/openSUSE:Factory/leveldb/leveldb.changes 2014-04-09 13:14:11.0 +0200 +++ /work/SRC/openSUSE:Factory/.leveldb.new/leveldb.changes 2014-10-22 16:23:23.0 +0200 @@ -1,0 +2,19 @@ +Mon Oct 20 12:13:47 UTC 2014 - dmuel...@suse.com + +- update to 1.18: + + Replace the basic fprintf call with a call to fwrite + + Fix ALL the header guards. + + A new CONTRIBUTING file. + + leveldb: Remove unused function 'ConsumeChar'. + + leveldbutil: Remove unused member variables from WriteBatchItemPrinter. + + Verify checksums of index/meta/filter blocks when paranoid_checks set. + + Invoke all tools for iOS with xcrun. (This was causing problems with the new XCode 5.1.1 image on pulse.) + + include only once, and fix the following linter warning: Found C system header after C++ system header + + When encountering a corrupted table file, return Status::Corruption instead of Status::InvalidArgument. + + Support cygwin as build platform, patch is from https://code.google.com/p/leveldb/issues/detail?id=188 + + Fix typo, merge patch from https://code.google.com/p/leveldb/issues/detail?id=159 + + Fix typos and comments, and address the following two issues: + + Add missing db synchronize after fillseq in the benchmark. + + Removed unused variable in SeekRandom: value (issue #201) + +--- Old: leveldb-1.16.0.tar.bz2 New: leveldb-1.18.tar.bz2 Other differences: -- ++ leveldb.spec ++ --- /var/tmp/diff_new_pack.uOpYhW/_old 2014-10-22 16:23:24.0 +0200 +++ /var/tmp/diff_new_pack.uOpYhW/_new 2014-10-22 16:23:24.0 +0200 @@ -17,7 +17,7 @@ Name: leveldb -Version:1.16.0 +Version:1.18 Release:0 Summary:A key/value-store License:BSD-3-Clause ++ 0001-debian-ports.patch ++ --- /var/tmp/diff_new_pack.uOpYhW/_old 2014-10-22 16:23:24.0 +0200 +++ /var/tmp/diff_new_pack.uOpYhW/_new 2014-10-22 16:23:24.0 +0200 @@ -4,11 +4,11 @@ port/atomic_pointer.h | 136 ++ 1 file changed, 126 insertions(+), 10 deletions(-) -Index: leveldb/port/atomic_pointer.h +Index: leveldb-1.18/port/atomic_pointer.h === leveldb.orig/port/atomic_pointer.h -+++ leveldb/port/atomic_pointer.h -@@ -38,6 +38,18 @@ +--- leveldb-1.18.orig/port/atomic_pointer.h leveldb-1.18/port/atomic_pointer.h +@@ -37,6 +37,18 @@ #define ARCH_CPU_ARM_FAMILY 1 #elif defined(__ppc__) || defined(__powerpc__) || defined(__powerpc64__) #define ARCH_CPU_PPC_FAMILY 1 @@ -27,7 +27,7 @@ #endif namespace leveldb { -@@ -50,16 +62,27 @@ namespace port { +@@ -49,16 +61,27 @@ namespace port { // http://msdn.microsoft.com/en-us/library/ms684208(v=vs.85).aspx #define LEVELDB_HAVE_MEMORY_BARRIER @@ -57,7 +57,7 @@ // See http://gcc.gnu.org/ml/gcc/2003-04/msg01180.html for a discussion on // this idiom. Also see http://en.wikipedia.org/wiki/Memory_ordering. __asm__ __volatile__( : : : memory); -@@ -68,7 +91,12 @@ inline void MemoryBarrier() { +@@ -67,7 +90,12 @@ inline void MemoryBarrier() { // Sun Studio #elif defined(ARCH_CPU_X86_FAMILY) defined(__SUNPRO_CC) @@ -71,7 +71,7 @@ // See http://gcc.gnu.org/ml/gcc/2003-04/msg01180.html for a discussion on // this idiom. Also see http://en.wikipedia.org/wiki/Memory_ordering. asm volatile( : : : memory); -@@ -88,17 +116,99 @@ typedef void (*LinuxKernelMemoryBarrierF +@@ -87,17 +115,99 @@ typedef void (*LinuxKernelMemoryBarrierF // shows that the extra function call cost is completely negligible on // multi-core devices. // @@ -176,7 +176,7 @@ } #define LEVELDB_HAVE_MEMORY_BARRIER -@@ -116,11 +226,11 @@ class AtomicPointer { +@@ -115,11 +225,11 @@ class AtomicPointer { inline void NoBarrier_Store(void* v) { rep_ = v; } inline void* Acquire_Load() const { void* result = rep_; @@ -190,7 +190,7 @@ rep_ = v; } }; -@@ -217,6 +327,12 @@ class AtomicPointer { +@@ -216,6 +326,12 @@ class AtomicPointer { #undef ARCH_CPU_X86_FAMILY #undef ARCH_CPU_ARM_FAMILY #undef ARCH_CPU_PPC_FAMILY ++ leveldb-1.16.0.tar.bz2 - leveldb-1.18.tar.bz2 ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/leveldb-1.16.0/CONTRIBUTING.md new/leveldb-1.18/CONTRIBUTING.md ---
commit leveldb for openSUSE:Factory
Hello community, here is the log from the commit of package leveldb for openSUSE:Factory checked in at 2014-04-09 13:14:11 Comparing /work/SRC/openSUSE:Factory/leveldb (Old) and /work/SRC/openSUSE:Factory/.leveldb.new (New) Package is leveldb Changes: --- /work/SRC/openSUSE:Factory/leveldb/leveldb.changes 2014-02-12 20:53:52.0 +0100 +++ /work/SRC/openSUSE:Factory/.leveldb.new/leveldb.changes 2014-04-09 13:14:11.0 +0200 @@ -1,0 +2,9 @@ +Mon Apr 7 15:33:22 UTC 2014 - dd...@suse.com + +- updated to 1.16.0 + + Make Log::Reader not report a corruption when the last record in a +log file is truncated. + + Fix issue 224: variable created but not utilized. + + Remove comment that referenced a removed feature. + +--- Old: leveldb-1.15.0.tar.gz New: leveldb-1.16.0.tar.bz2 Other differences: -- ++ leveldb.spec ++ --- /var/tmp/diff_new_pack.tSbjXD/_old 2014-04-09 13:14:12.0 +0200 +++ /var/tmp/diff_new_pack.tSbjXD/_new 2014-04-09 13:14:12.0 +0200 @@ -17,13 +17,13 @@ Name: leveldb -Version:1.15.0 +Version:1.16.0 Release:0 Summary:A key/value-store License:BSD-3-Clause Group: Development/Libraries/C and C++ Url:http://code.google.com/p/leveldb/ -Source: leveldb-%{version}.tar.gz +Source: leveldb-%{version}.tar.bz2 Patch0: 0001-debian-ports.patch BuildRequires: gcc-c++ BuildRequires: snappy-devel ++ leveldb-1.15.0.tar.gz - leveldb-1.16.0.tar.bz2 ++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/leveldb-1.15.0/Makefile new/leveldb-1.16.0/Makefile --- old/leveldb-1.15.0/Makefile 2013-12-10 20:15:00.0 +0100 +++ new/leveldb-1.16.0/Makefile 2014-02-10 20:36:06.0 +0100 @@ -72,7 +72,7 @@ else # Update db.h if you change these. SHARED_MAJOR = 1 -SHARED_MINOR = 15 +SHARED_MINOR = 16 SHARED1 = libleveldb.$(PLATFORM_SHARED_EXT) SHARED2 = $(SHARED1).$(SHARED_MAJOR) SHARED3 = $(SHARED1).$(SHARED_MAJOR).$(SHARED_MINOR) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/leveldb-1.15.0/db/log_reader.cc new/leveldb-1.16.0/db/log_reader.cc --- old/leveldb-1.15.0/db/log_reader.cc 2013-12-10 20:15:01.0 +0100 +++ new/leveldb-1.16.0/db/log_reader.cc 2014-02-10 20:36:06.0 +0100 @@ -133,7 +133,9 @@ case kEof: if (in_fragmented_record) { - ReportCorruption(scratch-size(), partial record without end(3)); + // This can be caused by the writer dying immediately after + // writing a physical record but before completing the next; don't + // treat it as a corruption, just ignore the entire logical record. scratch-clear(); } return false; @@ -193,13 +195,12 @@ eof_ = true; } continue; - } else if (buffer_.size() == 0) { -// End of file -return kEof; } else { -size_t drop_size = buffer_.size(); +// Note that if buffer_ is non-empty, we have a truncated header at the +// end of the file, which can be caused by the writer crashing in the +// middle of writing the header. Instead of considering this an error, +// just report EOF. buffer_.clear(); -ReportCorruption(drop_size, truncated record at end of file); return kEof; } } @@ -213,8 +214,14 @@ if (kHeaderSize + length buffer_.size()) { size_t drop_size = buffer_.size(); buffer_.clear(); - ReportCorruption(drop_size, bad record length); - return kBadRecord; + if (!eof_) { +ReportCorruption(drop_size, bad record length); +return kBadRecord; + } + // If the end of the file has been reached without reading |length| bytes + // of payload, assume the writer died in the middle of writing the record. + // Don't report a corruption. + return kEof; } if (type == kZeroType length == 0) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/leveldb-1.15.0/db/log_test.cc new/leveldb-1.16.0/db/log_test.cc --- old/leveldb-1.15.0/db/log_test.cc 2013-12-10 20:15:01.0 +0100 +++ new/leveldb-1.16.0/db/log_test.cc 2014-02-10 20:36:06.0 +0100 @@ -351,20 +351,32 @@ ASSERT_EQ(OK, MatchError(unknown record type)); } -TEST(LogTest, TruncatedTrailingRecord) { +TEST(LogTest, TruncatedTrailingRecordIsIgnored) { Write(foo); ShrinkSize(4); // Drop all payload as well as a header byte ASSERT_EQ(EOF, Read()); -
commit leveldb for openSUSE:Factory
Hello community, here is the log from the commit of package leveldb for openSUSE:Factory checked in at 2014-02-12 20:53:51 Comparing /work/SRC/openSUSE:Factory/leveldb (Old) and /work/SRC/openSUSE:Factory/.leveldb.new (New) Package is leveldb Changes: --- /work/SRC/openSUSE:Factory/leveldb/leveldb.changes 2013-12-30 10:05:24.0 +0100 +++ /work/SRC/openSUSE:Factory/.leveldb.new/leveldb.changes 2014-02-12 20:53:52.0 +0100 @@ -1,0 +2,24 @@ +Wed Feb 5 16:14:12 UTC 2014 - dd...@suse.com + +- updated to 1.15.0 + + switched from mmap based writing to simpler stdio based writing. Has +a minor impact (0.5 microseconds) on microbenchmarks for asynchronous +writes. Synchronous writes speed up from 30ms to 10ms on linux/ext4. +Should be much more reliable on diverse platforms. + + compaction errors now immediately put the database into a read-only +mode (until it is re-opened). As a downside, a disk going out of +space and then space being created will require a re-open to recover +from, whereas previously that would happen automatically. On the +plus side, many corruption possibilities go away. + + force the DB to enter an error-state so that all future writes fail +when a synchronous log write succeeds but the sync fails. + + repair now regenerates sstables that exhibit problems + + fix issue 218 - Use native memory barriers on OSX + + fix issue 212 - QNX build is broken + + fix build on iOS with xcode 5 + + make tests compile and pass on windows + +- refreshed 0001-debian-ports.patch + + moved OS_MACOSX hunk + +--- Old: leveldb-1.14.0.tar.gz New: leveldb-1.15.0.tar.gz Other differences: -- ++ leveldb.spec ++ --- /var/tmp/diff_new_pack.18Isgv/_old 2014-02-12 20:53:52.0 +0100 +++ /var/tmp/diff_new_pack.18Isgv/_new 2014-02-12 20:53:52.0 +0100 @@ -1,7 +1,7 @@ # # spec file for package leveldb # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: leveldb -Version:1.14.0 +Version:1.15.0 Release:0 Summary:A key/value-store License:BSD-3-Clause ++ 0001-debian-ports.patch ++ --- /var/tmp/diff_new_pack.18Isgv/_old 2014-02-12 20:53:52.0 +0100 +++ /var/tmp/diff_new_pack.18Isgv/_new 2014-02-12 20:53:52.0 +0100 @@ -4,6 +4,8 @@ port/atomic_pointer.h | 136 ++ 1 file changed, 126 insertions(+), 10 deletions(-) +Index: leveldb/port/atomic_pointer.h +=== --- leveldb.orig/port/atomic_pointer.h +++ leveldb/port/atomic_pointer.h @@ -38,6 +38,18 @@ @@ -25,13 +27,24 @@ #endif namespace leveldb { -@@ -50,9 +62,17 @@ namespace port { +@@ -50,16 +62,27 @@ namespace port { // http://msdn.microsoft.com/en-us/library/ms684208(v=vs.85).aspx #define LEVELDB_HAVE_MEMORY_BARRIER +#define ReadMemoryBarrier MemoryBarrier() +#define WriteMemoryBarrier MemoryBarrier() + + // Mac OS + #elif defined(OS_MACOSX) +-inline void MemoryBarrier() { ++inline void ReadMemoryBarrier() { ++ OSMemoryBarrier(); ++} ++inline void WriteMemoryBarrier() { + OSMemoryBarrier(); + } + #define LEVELDB_HAVE_MEMORY_BARRIER + // Gcc on x86 #elif defined(ARCH_CPU_X86_FAMILY) defined(__GNUC__) -inline void MemoryBarrier() { @@ -44,7 +57,7 @@ // See http://gcc.gnu.org/ml/gcc/2003-04/msg01180.html for a discussion on // this idiom. Also see http://en.wikipedia.org/wiki/Memory_ordering. __asm__ __volatile__( : : : memory); -@@ -61,7 +81,12 @@ inline void MemoryBarrier() { +@@ -68,7 +91,12 @@ inline void MemoryBarrier() { // Sun Studio #elif defined(ARCH_CPU_X86_FAMILY) defined(__SUNPRO_CC) @@ -58,18 +71,6 @@ // See http://gcc.gnu.org/ml/gcc/2003-04/msg01180.html for a discussion on // this idiom. Also see http://en.wikipedia.org/wiki/Memory_ordering. asm volatile( : : : memory); -@@ -70,7 +95,10 @@ inline void MemoryBarrier() { - - // Mac OS - #elif defined(OS_MACOSX) --inline void MemoryBarrier() { -+inline void ReadMemoryBarrier() { -+ OSMemoryBarrier(); -+} -+inline void WriteMemoryBarrier() { - OSMemoryBarrier(); - } - #define LEVELDB_HAVE_MEMORY_BARRIER @@ -88,17 +116,99 @@ typedef void (*LinuxKernelMemoryBarrierF // shows that the extra function call cost is completely negligible on // multi-core devices. ++
commit leveldb for openSUSE:Factory
Hello community, here is the log from the commit of package leveldb for openSUSE:Factory checked in at 2013-12-30 10:05:23 Comparing /work/SRC/openSUSE:Factory/leveldb (Old) and /work/SRC/openSUSE:Factory/.leveldb.new (New) Package is leveldb Changes: --- /work/SRC/openSUSE:Factory/leveldb/leveldb.changes 2013-11-14 14:22:15.0 +0100 +++ /work/SRC/openSUSE:Factory/.leveldb.new/leveldb.changes 2013-12-30 10:05:24.0 +0100 @@ -1,0 +2,5 @@ +Wed Dec 18 17:49:35 CET 2013 - r...@suse.de + +- add support for other archs (taken from debian, 0001-debian-ports.patch) + +--- New: 0001-debian-ports.patch Other differences: -- ++ leveldb.spec ++ --- /var/tmp/diff_new_pack.U5vgvh/_old 2013-12-30 10:05:24.0 +0100 +++ /var/tmp/diff_new_pack.U5vgvh/_new 2013-12-30 10:05:24.0 +0100 @@ -19,11 +19,12 @@ Name: leveldb Version:1.14.0 Release:0 -License:BSD-3-Clause Summary:A key/value-store -Url:http://code.google.com/p/leveldb/ +License:BSD-3-Clause Group: Development/Libraries/C and C++ +Url:http://code.google.com/p/leveldb/ Source: leveldb-%{version}.tar.gz +Patch0: 0001-debian-ports.patch BuildRequires: gcc-c++ BuildRequires: snappy-devel BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -65,6 +66,7 @@ %prep %setup -q +%patch0 -p1 %build make %{?_smp_flags} OPT=%{optflags} ++ 0001-debian-ports.patch ++ Description: Add support for most of Debian architectures Author: Nobuhiro Iwamatsu iwama...@debian.org --- port/atomic_pointer.h | 136 ++ 1 file changed, 126 insertions(+), 10 deletions(-) --- leveldb.orig/port/atomic_pointer.h +++ leveldb/port/atomic_pointer.h @@ -38,6 +38,18 @@ #define ARCH_CPU_ARM_FAMILY 1 #elif defined(__ppc__) || defined(__powerpc__) || defined(__powerpc64__) #define ARCH_CPU_PPC_FAMILY 1 +#elif defined(__ia64__) +#define ARCH_CPU_IA64_FAMILY 1 +#elif defined(__alpha__) +#define ARCH_CPU_ALPHA_FAMILY 1 +#elif defined(__s390x__) || defined(__s390__) +#define ARCH_CPU_S390_FAMILY 1 +#elif defined(__sparc__) || defined(__sparc64__) +#define ARCH_CPU_SPARC_FAMILY 1 +#elif defined(__sh__) +#define ARCH_CPU_SH_FAMILY 1 +#elif defined(__hppa__) || defined(__parisc__) +#define ARCH_CPU_PARISC_FAMILY 1 #endif namespace leveldb { @@ -50,9 +62,17 @@ namespace port { // http://msdn.microsoft.com/en-us/library/ms684208(v=vs.85).aspx #define LEVELDB_HAVE_MEMORY_BARRIER +#define ReadMemoryBarrier MemoryBarrier() +#define WriteMemoryBarrier MemoryBarrier() + // Gcc on x86 #elif defined(ARCH_CPU_X86_FAMILY) defined(__GNUC__) -inline void MemoryBarrier() { +inline void ReadMemoryBarrier() { + // See http://gcc.gnu.org/ml/gcc/2003-04/msg01180.html for a discussion on + // this idiom. Also see http://en.wikipedia.org/wiki/Memory_ordering. + __asm__ __volatile__( : : : memory); +} +inline void WriteMemoryBarrier() { // See http://gcc.gnu.org/ml/gcc/2003-04/msg01180.html for a discussion on // this idiom. Also see http://en.wikipedia.org/wiki/Memory_ordering. __asm__ __volatile__( : : : memory); @@ -61,7 +81,12 @@ inline void MemoryBarrier() { // Sun Studio #elif defined(ARCH_CPU_X86_FAMILY) defined(__SUNPRO_CC) -inline void MemoryBarrier() { +inline void ReadMemoryBarrier() { + // See http://gcc.gnu.org/ml/gcc/2003-04/msg01180.html for a discussion on + // this idiom. Also see http://en.wikipedia.org/wiki/Memory_ordering. + asm volatile( : : : memory); +} +inline void WriteMemoryBarrier() { // See http://gcc.gnu.org/ml/gcc/2003-04/msg01180.html for a discussion on // this idiom. Also see http://en.wikipedia.org/wiki/Memory_ordering. asm volatile( : : : memory); @@ -70,7 +95,10 @@ inline void MemoryBarrier() { // Mac OS #elif defined(OS_MACOSX) -inline void MemoryBarrier() { +inline void ReadMemoryBarrier() { + OSMemoryBarrier(); +} +inline void WriteMemoryBarrier() { OSMemoryBarrier(); } #define LEVELDB_HAVE_MEMORY_BARRIER @@ -88,17 +116,99 @@ typedef void (*LinuxKernelMemoryBarrierF // shows that the extra function call cost is completely negligible on // multi-core devices. // -inline void MemoryBarrier() { +inline void ReadMemoryBarrier() { + (*(LinuxKernelMemoryBarrierFunc)0x0fa0)(); +} +inline void WriteMemoryBarrier() { (*(LinuxKernelMemoryBarrierFunc)0x0fa0)(); } #define LEVELDB_HAVE_MEMORY_BARRIER // PPC #elif defined(ARCH_CPU_PPC_FAMILY) defined(__GNUC__) -inline void MemoryBarrier() { - // TODO for some powerpc expert: is there a cheaper suitable variant? - // Perhaps by having separate