Hello community,

here is the log from the commit of package protobuf for openSUSE:Factory 
checked in at 2018-01-26 13:34:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/protobuf (Old)
 and      /work/SRC/openSUSE:Factory/.protobuf.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "protobuf"

Fri Jan 26 13:34:42 2018 rev:30 rq:568227 version:3.5.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/protobuf/protobuf.changes        2017-12-29 
18:46:18.452200035 +0100
+++ /work/SRC/openSUSE:Factory/.protobuf.new/protobuf.changes   2018-01-26 
13:34:44.686619329 +0100
@@ -1,0 +2,9 @@
+Mon Jan 22 16:50:28 UTC 2018 - [email protected]
+
+- Conditionalize python2 and python3 in order to be able to build
+  without python2 present in distribution
+  * Use singlespec macros to simplify the logic
+- Run fdupes on python modules to avoid duplicates
+- Remove shebangs from import-only code
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ protobuf.spec ++++++
--- /var/tmp/diff_new_pack.4Zrybu/_old  2018-01-26 13:34:45.602576546 +0100
+++ /var/tmp/diff_new_pack.4Zrybu/_new  2018-01-26 13:34:45.602576546 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package protobuf
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 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,23 +16,14 @@
 #
 
 
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %define sover 15
 %define tarname protobuf
 # requires gmock, which is not yet in the distribution
 %bcond_with check
-%bcond_without protobuf_java
-%bcond_without protobuf_python
-
-%if %{with protobuf_python}
-%if 0%{?suse_version} > 1320
-%define protobuf_python3 1
-%define python2_prefix python2
-%else
-%define protobuf_python3 0
-%define python2_prefix python
-%endif
-%endif
-
+%bcond_without java
+%bcond_without python2
+%bcond_without python3
 Name:           protobuf
 Version:        3.5.0
 Release:        0
@@ -43,34 +34,25 @@
 Source0:        
https://github.com/google/protobuf/archive/v%{version}.tar.gz#/%{tarname}-%{version}.tar.gz
 Source1:        manifest.txt.in
 Source2:        baselibs.conf
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+BuildRequires:  %{python_module devel}
+BuildRequires:  %{python_module python-dateutil}
+BuildRequires:  %{python_module python-gflags}
+BuildRequires:  %{python_module pytz}
+BuildRequires:  %{python_module setuptools}
 BuildRequires:  autoconf
 BuildRequires:  automake
 BuildRequires:  fdupes
 BuildRequires:  gcc-c++
+BuildRequires:  libtool
+BuildRequires:  pkgconfig
+BuildRequires:  python-rpm-macros
+BuildRequires:  zlib-devel
 %if %{with check}
 BuildRequires:  libgmock-devel >= 1.7.0
 %endif
-BuildRequires:  libtool
-BuildRequires:  pkg-config
-%if %{with protobuf_java}
+%if %{with java}
 BuildRequires:  java-devel >= 1.6.0
 %endif
-%if %{with protobuf_python}
-BuildRequires:  %{python2_prefix}-devel
-BuildRequires:  %{python2_prefix}-python-dateutil
-BuildRequires:  %{python2_prefix}-python-gflags
-BuildRequires:  %{python2_prefix}-pytz
-BuildRequires:  %{python2_prefix}-setuptools
-%if %{protobuf_python3}
-BuildRequires:  python3-devel
-BuildRequires:  python3-python-dateutil
-BuildRequires:  python3-python-gflags
-BuildRequires:  python3-pytz
-BuildRequires:  python3-setuptools
-%endif
-BuildRequires:  zlib-devel
-%endif
 
 %description
 Protocol Buffers are a way of encoding structured data in an efficient yet
@@ -111,15 +93,14 @@
 Requires:       libprotobuf%{sover} = %{version}
 Requires:       libprotobuf-lite%{sover}
 Requires:       zlib-devel
-Provides:       libprotobuf-devel = %{version}
 Conflicts:      protobuf2-devel
+Provides:       libprotobuf-devel = %{version}
 
 %description devel
 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
 Summary:        Java Bindings for Google Protocol Buffers
 Group:          Development/Libraries/Java
@@ -127,61 +108,45 @@
 
 %description -n %{name}-java
 This package contains the Java bindings for Google Protocol Buffers.
-%endif
 
-%if %{with protobuf_python}
-%package -n %{python2_prefix}-%{name}
+%package -n python2-%{name}
 Summary:        Python2 Bindings for Google Protocol Buffers
 Group:          Development/Libraries/Python
-%if 0%{?protobuf_python3}
 Provides:       python-%{name} = %{version}
 Obsoletes:      python-%{name} < %{version}
-%endif
-%if 0%{?suse_version}
-%py_requires
-%else
-Requires:       python
-%endif
 
-%description -n %{python2_prefix}-%{name}
+%description -n python2-%{name}
 This package contains the Python bindings for Google Protocol Buffers.
 
-%if 0%{?protobuf_python3}
 %package -n python3-%{name}
 Summary:        Python3 Bindings for Google Protocol Buffers
 Group:          Development/Libraries/Python
-Requires:       python3
 
 %description -n python3-%{name}
 This package contains the Python bindings for Google Protocol Buffers.
-%endif
-%endif
 
 %prep
 
 %setup -q -n %{tarname}-%{version}
 mkdir gmock
 
-%if %{with protobuf_python}
+%if %{with python2} || %{with python3} 
 # only needed for test suite which we don't call anyways.
 # googleapis is broken on sle12
 sed -i '/apputils/d' python/setup.py
 sed -i '/google_test_dir/d' python/setup.py
 %endif
+# kill shebang that we do not really want
+sed -i -e '/env python/d' python/google/protobuf/internal/*.py
 
 %build
-%if 0%{?mandriva_version}
-#XXX something wents wrong with detecting this
-export PTHREAD_LIBS=-lpthread
-%endif
-
-autoreconf -fi
+autoreconf -fvi
 %configure \
        --disable-static
 
 make %{?_smp_mflags}
 
-%if %{with protobuf_java}
+%if %{with java}
 pushd java
 ../src/protoc --java_out=core/src/main/java -I../src 
../src/google/protobuf/descriptor.proto
 mkdir classes
@@ -191,23 +156,9 @@
 popd
 %endif
 
-%if %{with protobuf_python}
-cp -Ra python python2
-pushd python2
-python2 setup.py build
-# setup.py seems to be broken, some files are only installed on the second 
invocation
-python2 setup.py build
-popd
-
-%if 0%{?protobuf_python3}
-cp -Ra python python3
-pushd python3
-python3 setup.py build
-# setup.py seems to be broken, some files are only installed on the second 
invocation
-python3 setup.py build
+pushd python
+%python_build
 popd
-%endif
-%endif
 
 %if %{with check}
 %check
@@ -215,12 +166,12 @@
 %endif
 
 %install
-make DESTDIR=%{buildroot} install %{?_smp_mflags}
+%make_install
 install -Dm 0644 editors/proto.vim 
%{buildroot}%{_datadir}/vim/site/syntax/proto.vim
 # no need for that
 find %{buildroot} -type f -name "*.la" -delete -print
 
-%if %{with protobuf_java}
+%if %{with 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
@@ -228,57 +179,29 @@
 popd
 %endif
 
-%if %{with protobuf_python}
-pushd python2
-python2 setup.py install --skip-build \
-       --prefix=%{_prefix} \
-       --root %{buildroot} \
-       --install-lib=%{python_sitearch} \
-       --install-data=%{_datadir} \
-       --record-rpm=INSTALLED_FILES
-popd
-%fdupes -s %{buildroot}%{python_sitearch}
-
-%if 0%{?protobuf_python3}
-pushd python3
-python3 setup.py install --skip-build \
-       --prefix=%{_prefix} \
-       --root %{buildroot} \
-       --install-lib=%{python3_sitearch} \
-       --install-data=%{_datadir} \
-       --record-rpm=INSTALLED_FILES
+pushd python
+%python_install
 popd
-%fdupes -s %{buildroot}%{python3_sitearch}
-%endif
-%endif
+%python_expand %fdupes %{buildroot}%{$python_sitelib}
 
 %post -n libprotobuf%{sover} -p /sbin/ldconfig
-
 %postun -n libprotobuf%{sover} -p /sbin/ldconfig
-
 %post -n libprotoc%{sover} -p /sbin/ldconfig
-
 %postun -n libprotoc%{sover} -p /sbin/ldconfig
-
 %post -n libprotobuf-lite%{sover} -p /sbin/ldconfig
-
 %postun -n libprotobuf-lite%{sover} -p /sbin/ldconfig
 
 %files -n libprotobuf%{sover}
-%defattr(-, root, root)
-%doc LICENSE
+%license LICENSE
 %{_libdir}/libprotobuf.so.%{sover}*
 
 %files -n libprotoc%{sover}
-%defattr(-, root, root)
 %{_libdir}/libprotoc.so.%{sover}*
 
 %files -n libprotobuf-lite%{sover}
-%defattr(-, root, root)
 %{_libdir}/libprotobuf-lite.so.%{sover}*
 
 %files devel
-%defattr(-,root,root)
 %doc CHANGES.txt CONTRIBUTORS.txt README.md
 %{_bindir}/protoc
 %{_includedir}/google
@@ -286,20 +209,21 @@
 %{_libdir}/pkgconfig/*
 %{_datadir}/vim
 
-%if %{with protobuf_java}
+%if %{with java}
 %files -n %{name}-java
-%defattr(-,root,root)
 %{_javadir}/protobuf*
 %endif
 
-%if %{with protobuf_python}
-%files -n %{python2_prefix}-%{name} -f python2/INSTALLED_FILES
-%defattr(-,root,root)
-
-%if 0%{?protobuf_python3}
-%files -n python3-%{name} -f python3/INSTALLED_FILES
-%defattr(-,root,root)
+%if %{with python2}
+%files -n python2-%{name}
+%license LICENSE
+%{python2_sitelib}/*
 %endif
+
+%if %{with python3}
+%files -n python3-%{name}
+%license LICENSE
+%{python3_sitelib}/*
 %endif
 
 %changelog


Reply via email to