From cf45aba3de37cdd6053b64a8655f6708d2603ff7f0cd75e41aa75cd32795ed40 Mon Sep 17 00:00:00 2001 From: Martin Pluskal Date: Tue, 3 Mar 2015 16:23:28 +0000 Subject: [PATCH] Accepting request 288202 from home:pluskalm:branches:devel:tools:building OBS-URL: https://build.opensuse.org/request/show/288202 OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/protobuf?expand=0&rev=32 --- ...ic-GCC-support-for-atomic-operations.patch | 237 ------------------ protobuf-2.5.0.tar.bz2 | 3 - protobuf-2.6.1.tar.bz2 | 3 + protobuf-return-no-nonvoid.patch | 12 + protobuf-setuptools-2.4.1.patch | 6 +- protobuf.changes | 51 ++++ protobuf.spec | 117 ++++----- 7 files changed, 125 insertions(+), 304 deletions(-) delete mode 100644 0001-Add-generic-GCC-support-for-atomic-operations.patch delete mode 100644 protobuf-2.5.0.tar.bz2 create mode 100644 protobuf-2.6.1.tar.bz2 create mode 100644 protobuf-return-no-nonvoid.patch diff --git a/0001-Add-generic-GCC-support-for-atomic-operations.patch b/0001-Add-generic-GCC-support-for-atomic-operations.patch deleted file mode 100644 index d5956a0..0000000 --- a/0001-Add-generic-GCC-support-for-atomic-operations.patch +++ /dev/null @@ -1,237 +0,0 @@ -From d099ec11fc8c2eb97df2bf2fbb6996066eefca46 Mon Sep 17 00:00:00 2001 -From: Stanislav Ochotnicky -Date: Thu, 2 May 2013 10:43:47 +0200 -Subject: [PATCH] Add generic GCC support for atomic operations - -This is useful for architectures where no specialized code has been -written. ---- - src/google/protobuf/stubs/atomicops.h | 2 +- - .../stubs/atomicops_internals_generic_gcc.h | 139 +++++++++++++++++++++ - src/google/protobuf/stubs/platform_macros.h | 14 ++- - 3 files changed, 153 insertions(+), 2 deletions(-) - create mode 100644 src/google/protobuf/stubs/atomicops_internals_generic_gcc.h - -Index: protobuf-2.5.0/src/google/protobuf/stubs/atomicops.h -=================================================================== ---- protobuf-2.5.0.orig/src/google/protobuf/stubs/atomicops.h -+++ protobuf-2.5.0/src/google/protobuf/stubs/atomicops.h -@@ -185,7 +185,7 @@ GOOGLE_PROTOBUF_ATOMICOPS_ERROR - #elif defined(__pnacl__) - #include - #else --GOOGLE_PROTOBUF_ATOMICOPS_ERROR -+#include - #endif - - // Unknown. -Index: protobuf-2.5.0/src/google/protobuf/stubs/atomicops_internals_generic_gcc.h -=================================================================== ---- /dev/null -+++ protobuf-2.5.0/src/google/protobuf/stubs/atomicops_internals_generic_gcc.h -@@ -0,0 +1,139 @@ -+// Protocol Buffers - Google's data interchange format -+// Copyright 2013 Red Hat Inc. All rights reserved. -+// http://code.google.com/p/protobuf/ -+// -+// Redistribution and use in source and binary forms, with or without -+// modification, are permitted provided that the following conditions are -+// met: -+// -+// * Redistributions of source code must retain the above copyright -+// notice, this list of conditions and the following disclaimer. -+// * Redistributions in binary form must reproduce the above -+// copyright notice, this list of conditions and the following disclaimer -+// in the documentation and/or other materials provided with the -+// distribution. -+// * Neither the name of Red Hat Inc. nor the names of its -+// contributors may be used to endorse or promote products derived from -+// this software without specific prior written permission. -+// -+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -+// "AS IS" AND ANY EXPRESS 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 COPYRIGHT -+// OWNER OR 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. -+ -+// This file is an internal atomic implementation, use atomicops.h instead. -+ -+#ifndef GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_GENERIC_GCC_H_ -+#define GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_GENERIC_GCC_H_ -+ -+namespace google { -+namespace protobuf { -+namespace internal { -+ -+inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, -+ Atomic32 old_value, -+ Atomic32 new_value) { -+ __atomic_compare_exchange_n(ptr, &old_value, new_value, true, -+ __ATOMIC_RELAXED, __ATOMIC_RELAXED); -+ return old_value; -+} -+ -+inline Atomic32 NoBarrier_AtomicExchange(volatile Atomic32* ptr, -+ Atomic32 new_value) { -+ return __atomic_exchange_n(ptr, new_value, __ATOMIC_RELAXED); -+} -+ -+inline Atomic32 NoBarrier_AtomicIncrement(volatile Atomic32* ptr, -+ Atomic32 increment) { -+ return __atomic_add_fetch(ptr, increment, __ATOMIC_RELAXED); -+} -+ -+inline Atomic32 Barrier_AtomicIncrement(volatile Atomic32* ptr, -+ Atomic32 increment) { -+ return __atomic_add_fetch(ptr, increment, __ATOMIC_SEQ_CST); -+} -+ -+inline Atomic32 Acquire_CompareAndSwap(volatile Atomic32* ptr, -+ Atomic32 old_value, -+ Atomic32 new_value) { -+ __atomic_compare_exchange(ptr, &old_value, &new_value, true, -+ __ATOMIC_ACQUIRE, __ATOMIC_ACQUIRE); -+ return old_value; -+} -+ -+inline Atomic32 Release_CompareAndSwap(volatile Atomic32* ptr, -+ Atomic32 old_value, -+ Atomic32 new_value) { -+ __atomic_compare_exchange_n(ptr, &old_value, new_value, true, -+ __ATOMIC_RELEASE, __ATOMIC_ACQUIRE); -+ return old_value; -+} -+ -+inline void NoBarrier_Store(volatile Atomic32* ptr, Atomic32 value) { -+ __atomic_store_n(ptr, value, __ATOMIC_RELAXED); -+} -+ -+inline void MemoryBarrier() { -+ __sync_synchronize(); -+} -+ -+inline void Acquire_Store(volatile Atomic32* ptr, Atomic32 value) { -+ __atomic_store_n(ptr, value, __ATOMIC_ACQUIRE); -+} -+ -+inline void Release_Store(volatile Atomic32* ptr, Atomic32 value) { -+ __atomic_store_n(ptr, value, __ATOMIC_RELEASE); -+} -+ -+inline Atomic32 NoBarrier_Load(volatile const Atomic32* ptr) { -+ return __atomic_load_n(ptr, __ATOMIC_RELAXED); -+} -+ -+inline Atomic32 Acquire_Load(volatile const Atomic32* ptr) { -+ return __atomic_load_n(ptr, __ATOMIC_ACQUIRE); -+} -+ -+inline Atomic32 Release_Load(volatile const Atomic32* ptr) { -+ return __atomic_load_n(ptr, __ATOMIC_RELEASE); -+} -+ -+#ifdef __LP64__ -+ -+inline void Release_Store(volatile Atomic64* ptr, Atomic64 value) { -+ __atomic_store_n(ptr, value, __ATOMIC_RELEASE); -+} -+ -+inline Atomic64 Acquire_Load(volatile const Atomic64* ptr) { -+ return __atomic_load_n(ptr, __ATOMIC_ACQUIRE); -+} -+ -+inline Atomic64 Acquire_CompareAndSwap(volatile Atomic64* ptr, -+ Atomic64 old_value, -+ Atomic64 new_value) { -+ __atomic_compare_exchange_n(ptr, &old_value, new_value, true, -+ __ATOMIC_ACQUIRE, __ATOMIC_ACQUIRE); -+ return old_value; -+} -+ -+inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr, -+ Atomic64 old_value, -+ Atomic64 new_value) { -+ __atomic_compare_exchange_n(ptr, &old_value, new_value, true, -+ __ATOMIC_RELAXED, __ATOMIC_RELAXED); -+ return old_value; -+} -+ -+#endif // defined(__LP64__) -+ -+} // namespace internal -+} // namespace protobuf -+} // namespace google -+ -+#endif // GOOGLE_PROTOBUF_ATOMICOPS_INTERNALS_GENERIC_GCC_H_ -Index: protobuf-2.5.0/src/google/protobuf/stubs/platform_macros.h -=================================================================== ---- protobuf-2.5.0.orig/src/google/protobuf/stubs/platform_macros.h -+++ protobuf-2.5.0/src/google/protobuf/stubs/platform_macros.h -@@ -43,6 +43,9 @@ - #elif defined(_M_IX86) || defined(__i386__) - #define GOOGLE_PROTOBUF_ARCH_IA32 1 - #define GOOGLE_PROTOBUF_ARCH_32_BIT 1 -+#elif defined(__aarch64__) -+#define GOOGLE_PROTOBUF_ARCH_AARCH64 1 -+#define GOOGLE_PROTOBUF_ARCH_64_BIT 1 - #elif defined(__QNX__) - #define GOOGLE_PROTOBUF_ARCH_ARM_QNX 1 - #define GOOGLE_PROTOBUF_ARCH_32_BIT 1 -@@ -54,9 +57,18 @@ - #define GOOGLE_PROTOBUF_ARCH_32_BIT 1 - #elif defined(__pnacl__) - #define GOOGLE_PROTOBUF_ARCH_32_BIT 1 --#elif defined(__ppc__) -+#elif defined(__ppc64__) || defined(__PPC64__) -+#define GOOGLE_PROTOBUF_ARCH_PPC64 1 -+#define GOOGLE_PROTOBUF_ARCH_64_BIT 1 -+#elif defined(__ppc__) || defined(__PPC__) - #define GOOGLE_PROTOBUF_ARCH_PPC 1 - #define GOOGLE_PROTOBUF_ARCH_32_BIT 1 -+#elif defined(__s390x__) -+#define GOOGLE_PROTOBUF_ARCH_64_BIT 1 -+#define GOOGLE_PROTOBUF_ARCH_S390X 1 -+#elif defined(__s390__) -+#define GOOGLE_PROTOBUF_ARCH_32_BIT 1 -+#define GOOGLE_PROTOBUF_ARCH_S390 1 - #else - #error Host architecture was not detected as supported by protobuf - #endif -Index: protobuf-2.5.0/src/Makefile.am -=================================================================== ---- protobuf-2.5.0.orig/src/Makefile.am -+++ protobuf-2.5.0/src/Makefile.am -@@ -47,6 +47,7 @@ nobase_include_HEADERS = - google/protobuf/stubs/atomicops_internals_pnacl.h \ - google/protobuf/stubs/atomicops_internals_x86_gcc.h \ - google/protobuf/stubs/atomicops_internals_x86_msvc.h \ -+ google/protobuf/stubs/atomicops_internals_generic_gcc.h \ - google/protobuf/stubs/common.h \ - google/protobuf/stubs/platform_macros.h \ - google/protobuf/stubs/once.h \ -Index: protobuf-2.5.0/src/Makefile.in -=================================================================== ---- protobuf-2.5.0.orig/src/Makefile.in -+++ protobuf-2.5.0/src/Makefile.in -@@ -314,6 +314,7 @@ am__nobase_include_HEADERS_DIST = google - google/protobuf/stubs/atomicops_internals_pnacl.h \ - google/protobuf/stubs/atomicops_internals_x86_gcc.h \ - google/protobuf/stubs/atomicops_internals_x86_msvc.h \ -+ google/protobuf/stubs/atomicops_internals_generic_gcc.h \ - google/protobuf/stubs/common.h \ - google/protobuf/stubs/platform_macros.h \ - google/protobuf/stubs/once.h \ -@@ -523,6 +524,7 @@ nobase_include_HEADERS = \ - google/protobuf/stubs/atomicops_internals_pnacl.h \ - google/protobuf/stubs/atomicops_internals_x86_gcc.h \ - google/protobuf/stubs/atomicops_internals_x86_msvc.h \ -+ google/protobuf/stubs/atomicops_internals_generic_gcc.h \ - google/protobuf/stubs/common.h \ - google/protobuf/stubs/platform_macros.h \ - google/protobuf/stubs/once.h \ diff --git a/protobuf-2.5.0.tar.bz2 b/protobuf-2.5.0.tar.bz2 deleted file mode 100644 index e3e7846..0000000 --- a/protobuf-2.5.0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:13bfc5ae543cf3aa180ac2485c0bc89495e3ae711fc6fab4f8ffe90dfb4bb677 -size 1866763 diff --git a/protobuf-2.6.1.tar.bz2 b/protobuf-2.6.1.tar.bz2 new file mode 100644 index 0000000..02d727c --- /dev/null +++ b/protobuf-2.6.1.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee445612d544d885ae240ffbcbf9267faa9f593b7b101f21d58beceb92661910 +size 2021416 diff --git a/protobuf-return-no-nonvoid.patch b/protobuf-return-no-nonvoid.patch new file mode 100644 index 0000000..ccc16e1 --- /dev/null +++ b/protobuf-return-no-nonvoid.patch @@ -0,0 +1,12 @@ +Index: protobuf-2.6.1/src/google/protobuf/extension_set.cc +=================================================================== +--- protobuf-2.6.1.orig/src/google/protobuf/extension_set.cc ++++ protobuf-2.6.1/src/google/protobuf/extension_set.cc +@@ -71,6 +71,7 @@ inline bool is_packable(WireFormatLite:: + // Do not add a default statement. Let the compiler complain when someone + // adds a new wire type. + } ++ return true; + } + + // Registry stuff. diff --git a/protobuf-setuptools-2.4.1.patch b/protobuf-setuptools-2.4.1.patch index ce34d29..c492c68 100644 --- a/protobuf-setuptools-2.4.1.patch +++ b/protobuf-setuptools-2.4.1.patch @@ -1,7 +1,9 @@ python tries to auto download a newer version ... o_O ---- python/ez_setup.py +Index: python/ez_setup.py +=================================================================== +--- python/ez_setup.py.orig +++ python/ez_setup.py -@@ -19,7 +19,7 @@ +@@ -19,7 +19,7 @@ the appropriate options to ``use_setupto This file can also be run as a script to install or upgrade setuptools. """ import sys diff --git a/protobuf.changes b/protobuf.changes index 71a2e74..69ed61f 100644 --- a/protobuf.changes +++ b/protobuf.changes @@ -1,3 +1,54 @@ +------------------------------------------------------------------- +Sat Feb 28 10:41:07 UTC 2015 - mpluskal@suse.com + +- Add protobuf-return-no-nonvoid.patch +- Do not install examples + +------------------------------------------------------------------- +Fri Feb 27 19:20:16 UTC 2015 - mpluskal@suse.com + +- Use current url's +- Update dependencies + * python bindings now require recent python-google-apputils + which are available only in recet (13.1 and higher releases of + openSUSE) +- Update to 2.6.1 + * Added atomicops support for Solaris. + * Released memory allocated by InitializeDefaultRepeatedFields() + and GetEmptyString(). Some memory sanitizers reported them + as memory leaks. + * Updated DynamicMessage.setField() to handle repeated enum + values correctly. + * Fixed a bug that caused NullPointerException to be thrown when + converting manually constructed FileDescriptorProto to + FileDescriptor. +- Changes for 2.6.0 + * Added oneofs(unions) feature. Fields in the same oneof will + share memory and at most one field can be set at the same time. + * Files, services, enums, messages, methods and enum values + can be marked as deprecated now. + * Added Support for list values, including lists of mesaages, + when parsing text-formatted protos in C++ and Java. + * Enhanced customization on TestFormat printing. + * Added SwapFields() in reflection API to swap a subset of + fields. + * Added SetAllocatedMessage() in reflection API. + * Repeated primitive extensions are now packable. The + [packed=true] option only affects serializers. Therefore, + it is possible to switch a repeated extension field to + packed format without breaking backwards-compatibility. + * Various speed optimizations. + * writeTo() method in ByteString can now write a substring to + an output stream. Added endWith() method for ByteString. + * ByteString and ByteBuffer are now supported in CodedInputStream + and CodedOutputStream. + * java_generate_equals_and_hash can now be used with the + LITE_RUNTIME. + * A new C++-backed extension module (aka "cpp api v2") that + replaces the old ("cpp api v1") one. Much faster than the + pure Python code. This one resolves many bugs and is + recommended for general use over the pure Python when possible. + ------------------------------------------------------------------- Tue Nov 5 13:38:45 UTC 2013 - sleep_walker@suse.cz diff --git a/protobuf.spec b/protobuf.spec index b283eae..3793c92 100644 --- a/protobuf.spec +++ b/protobuf.spec @@ -1,7 +1,7 @@ # # spec file for package protobuf # -# Copyright (c) 2013 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 @@ -16,34 +16,31 @@ # -%define soname 8 - +%define soname 9 %bcond_without check - +Name: protobuf +Version: 2.6.1 +Release: 0 +Summary: Protocol Buffers - Google's data interchange format +License: BSD-3-Clause +Group: Development/Libraries/C and C++ +Url: https://github.com/google/protobuf/ +Source0: https://github.com/google/protobuf/releases/download/v%{version}/%{name}-%{version}.tar.bz2 +Source1: manifest.txt.in +Patch0: protobuf-setuptools-2.4.1.patch +# fix no-return-in-nonvoid-function google/protobuf/extension_set.cc:74 +Patch1: protobuf-return-no-nonvoid.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-build %if 0%{?fedora_version} > 8 || 0%{?mandriva_version} > 2008 || 0%{?suse_version} > 1030 %bcond_without protobuf_java %else %bcond_with protobuf_java %endif - -%if 0%{?suse_version} > 1100 +%if 0%{?suse_version} > 1210 && 0%{?suse_version} != 1315 %bcond_without protobuf_python %else %bcond_with protobuf_python %endif - -Name: protobuf -Summary: Protocol Buffers - Google's data interchange format -License: BSD-3-Clause -Group: Development/Libraries/C and C++ -Version: 2.5.0 -Release: 0 -Url: http://code.google.com/p/protobuf/ -Source0: http://protobuf.googlecode.com/files/%{name}-%{version}.tar.bz2 -Source1: manifest.txt.in -Patch0: protobuf-setuptools-2.4.1.patch -Patch1: 0001-Add-generic-GCC-support-for-atomic-operations.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-build %if 0%{?suse_version} > 1010 BuildRequires: fdupes %endif @@ -51,12 +48,16 @@ BuildRequires: fdupes BuildRequires: java-devel >= 1.6.0 %endif %if %{with protobuf_python} -BuildRequires: gcc-c++ -BuildRequires: python +BuildRequires: python-dateutil BuildRequires: python-devel +BuildRequires: python-google-apputils >= 0.4.2 +BuildRequires: python-python-gflags +BuildRequires: python-pytz BuildRequires: python-setuptools BuildRequires: zlib-devel %endif +BuildRequires: gcc-c++ +BuildRequires: pkg-config %description Protocol Buffers are a way of encoding structured data in an efficient yet @@ -94,37 +95,35 @@ RPC protocols and file formats. Summary: Header files, libraries and development documentation for %{name} Group: Development/Libraries/C and C++ Requires: gcc-c++ -Requires: libprotobuf%{soname} = %version +Requires: libprotobuf%{soname} = %{version} Requires: libprotobuf-lite%{soname} -Provides: libprotobuf-devel = %version Requires: zlib-devel -BuildRequires: pkg-config +Provides: libprotobuf-devel = %{version} %description devel -Development files for Google Protocol Buffers +Protocol Buffers are a way of encoding structured data in an efficient yet +extensible format. Google uses Protocol Buffers for almost all of its internal +RPC protocols and file formats. %if %{with protobuf_java} - %package -n %{name}-java -Requires: java >= 1.6.0 Summary: Java Bindings for Google Protocol Buffers Group: Development/Libraries/Java +Requires: java >= 1.6.0 %description -n %{name}-java This package contains the Java bindings for Google Protocol Buffers. %endif %if %{with protobuf_python} - %package -n python-%{name} - +Summary: Python Bindings for Google Protocol Buffers +Group: Development/Libraries/Python %if 0%{?suse_version} %py_requires %else Requires: python %endif -Summary: Python Bindings for Google Protocol Buffers -Group: Development/Libraries/Python %description -n python-%{name} This package contains the Python bindings for Google Protocol Buffers. @@ -133,7 +132,7 @@ This package contains the Python bindings for Google Protocol Buffers. %prep %setup -q -%patch0 -p0 +%patch0 %patch1 -p1 %build @@ -141,67 +140,65 @@ This package contains the Python bindings for Google Protocol Buffers. #XXX something wents wrong with detecting this export PTHREAD_LIBS=-lpthread %endif -# -%configure --disable-static -%{__make} %{?jobs:-j%jobs} -# + +%configure \ + --disable-static + +make %{?_smp_mflags} + %if %{with protobuf_java} pushd java ../src/protoc --java_out=src/main/java -I../src ../src/google/protobuf/descriptor.proto -%__mkdir classes +mkdir classes %if 0%{?suse_version} == 1110 # 11.1 only workaround # http://en.opensuse.org/Java/Packaging/Cookbook#bytecode_version_error extra_java_flags="-target 1.5 -source 1.5" %endif javac $extra_java_flags -d classes src/main/java/com/google/protobuf/*.java -sed -e 's/@VERSION@/%version/' < %{SOURCE1} > manifest.txt +sed -e 's/@VERSION@/%{version}/' < %{SOURCE1} > manifest.txt jar cfm %{name}-java-%{version}.jar manifest.txt -C classes com popd %endif -# + %if %{with protobuf_python} pushd python -%__python setup.py build +python setup.py build popd %endif %if %{with check} - %check -%{__make} check %{?jobs:-j%jobs} +make %{?_smp_mflags} check %endif %install -%makeinstall -%__install -Dm 0644 editors/proto.vim %{buildroot}%{_datadir}/vim/site/syntax/proto.vim +make DESTDIR=%{buildroot} install %{?_smp_mflags} +install -Dm 0644 editors/proto.vim %{buildroot}%{_datadir}/vim/site/syntax/proto.vim # no need for that -/bin/rm %{buildroot}%{_libdir}/*.la -# +find %{buildroot} -type f -name "*.la" -delete -print + %if %{with protobuf_java} pushd java -%__install -D -m 0644 %{name}-java-%{version}.jar %{buildroot}%{_javadir}/%{name}-java-%{version}.jar -%__ln_s %{name}-java-%{version}.jar %{buildroot}%{_javadir}/%{name}-java.jar -%__ln_s %{name}-java-%{version}.jar %{buildroot}%{_javadir}/%{name}.jar +install -D -m 0644 %{name}-java-%{version}.jar %{buildroot}%{_javadir}/%{name}-java-%{version}.jar +ln -s %{name}-java-%{version}.jar %{buildroot}%{_javadir}/%{name}-java.jar +ln -s %{name}-java-%{version}.jar %{buildroot}%{_javadir}/%{name}.jar popd %endif -# + %if %{with protobuf_python} pushd python -%__python setup.py install --skip-build \ +python setup.py install --skip-build \ --prefix=%{_prefix} \ --install-data=%{_datadir} \ --root %{buildroot} \ --record-rpm=INSTALLED_FILES popd %endif -# -%if 0%{?suse_version} > 1010 -%fdupes %{buildroot}%{py_sitedir}/%{name}-%{version}-py%{py_ver}.egg-info -%endif -%clean -rm -rf $RPM_BUILD_ROOT; +%if 0%{?suse_version} > 1010 +%fdupes -s %{buildroot}%{py_sitedir} +%endif %post -n libprotobuf%{soname} -p /sbin/ldconfig @@ -229,9 +226,7 @@ rm -rf $RPM_BUILD_ROOT; %files devel %defattr(-,root,root) -%doc COPYING.txt -%doc CHANGES.txt CONTRIBUTORS.txt README.txt -%doc examples +%doc CHANGES.txt CONTRIBUTORS.txt README.md %{_bindir}/protoc %{_includedir}/google %{_libdir}/*.so @@ -239,14 +234,12 @@ rm -rf $RPM_BUILD_ROOT; %{_datadir}/vim %if %{with protobuf_java} - %files -n %{name}-java %defattr(-,root,root) %{_javadir}/protobuf* %endif %if %{with protobuf_python} - %files -n python-%{name} -f python/INSTALLED_FILES %defattr(-,root,root) %endif