Hi,
I just updated the package on mentors,
https://mentors.debian.net/debian/pool/main/p/protobuf/protobuf_3.0.0-7.1.dsc
https://mentors.debian.net/package/protobuf
And it passed the build on debomatic-amd64
http://debomatic-amd64.debian.net/distribution#unstable/protobuf/3.0.0-7.1/buildlog
The updated patch is attached.
diff -Nru protobuf-3.0.0/debian/changelog protobuf-3.0.0/debian/changelog
--- protobuf-3.0.0/debian/changelog 2016-09-02 06:57:13.000000000 +0000
+++ protobuf-3.0.0/debian/changelog 2016-11-17 13:30:28.000000000 +0000
@@ -1,3 +1,12 @@
+protobuf (3.0.0-7.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Build python3-protobuf, thanks to Thomas Viehmann. (Closes: #836821)
+ * Add the missing B-D "libgtest-dev". (Closes: #836826)
+ * Add "python3-six" to B-D, which is required by python3 test.
+
+ -- Zhou Mo <cdlumin...@gmail.com> Thu, 17 Nov 2016 13:30:28 +0000
+
protobuf (3.0.0-7) unstable; urgency=medium
* Team upload.
diff -Nru protobuf-3.0.0/debian/clean protobuf-3.0.0/debian/clean
--- protobuf-3.0.0/debian/clean 2016-08-21 08:54:48.000000000 +0000
+++ protobuf-3.0.0/debian/clean 2016-11-17 13:30:28.000000000 +0000
@@ -1 +1,3 @@
protoc.1
+debian/autoreconf.after
+debian/autoreconf.before
diff -Nru protobuf-3.0.0/debian/control protobuf-3.0.0/debian/control
--- protobuf-3.0.0/debian/control 2016-08-25 22:28:51.000000000 +0000
+++ protobuf-3.0.0/debian/control 2016-11-17 13:30:28.000000000 +0000
@@ -16,12 +16,17 @@
, g++ (>= 4:4.7)
, zlib1g-dev
, google-mock
+ , libgtest-dev
# Python
, dh-python
, python-all (>= 2.7)
, libpython-all-dev (>= 2.7)
+ , python3-all (>= 3.3)
+ , libpython3-all-dev (>= 3.3)
, python-setuptools
+ , python3-setuptools
, python-google-apputils
+ , python3-six
# Manpage generator
, xmlto
# Tests
@@ -180,6 +185,27 @@
need the protoc tool (in the protobuf-compiler package) to compile your
definition to Python classes, and then the modules in this package will allow
you to use those classes in your programs.
+
+Package: python3-protobuf
+Architecture: any
+Section: python
+Depends: ${shlibs:Depends}, ${python3:Depends}, ${misc:Depends}
+Description: Python 3 bindings for protocol buffers
+ Protocol buffers are a flexible, efficient, automated mechanism for
+ serializing structured data - similar to XML, but smaller, faster, and
+ simpler. You define how you want your data to be structured once, then you can
+ use special generated source code to easily write and read your structured
+ data to and from a variety of data streams and using a variety of languages.
+ You can even update your data structure without breaking deployed programs
+ that are compiled against the "old" format.
+ .
+ Google uses Protocol Buffers for almost all of its internal RPC protocols and
+ file formats.
+ .
+ This package contains the Python 3 bindings for the protocol buffers. You will
+ need the protoc tool (in the protobuf-compiler package) to compile your
+ definition to Python classes, and then the modules in this package will allow
+ you to use those classes in your programs.
Package: libprotobuf-java
Architecture: all
diff -Nru protobuf-3.0.0/debian/python-protobuf3.README.Debian protobuf-3.0.0/debian/python-protobuf3.README.Debian
--- protobuf-3.0.0/debian/python-protobuf3.README.Debian 1970-01-01 00:00:00.000000000 +0000
+++ protobuf-3.0.0/debian/python-protobuf3.README.Debian 2016-11-17 13:30:28.000000000 +0000
@@ -0,0 +1,11 @@
+C++ backend
+===========
+
+As of protobuf 2.6.0, a new C++ backend for the Python protobuf bindings is
+available, which is faster than the default pure Python implementation. It can
+be activated by setting the following environment variables:
+
+PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=cpp
+PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION_VERSION=2
+
+ -- Robert Edmonds <edmo...@debian.org> Thu, 28 Aug 2014 21:10:30 -0700
diff -Nru protobuf-3.0.0/debian/rules protobuf-3.0.0/debian/rules
--- protobuf-3.0.0/debian/rules 2016-08-25 00:28:25.000000000 +0000
+++ protobuf-3.0.0/debian/rules 2016-11-17 13:30:28.000000000 +0000
@@ -1,7 +1,7 @@
#!/usr/bin/make -f
%:
- dh $@ --with autoreconf,python2 --parallel
+ dh $@ --with autoreconf,python2,python3 --parallel
override_dh_auto_build-arch:
## Chicken<->Egg problem: protobuf requires self-generated .pb.go files to
@@ -14,8 +14,10 @@
# Generate the manpage.
xmlto man debian/protoc.xml
- # Python build.
+ # Python and Python3 build.
+ cp -rv python python3
cd python && python setup.py build --cpp_implementation
+ cd python3 && python3 setup.py build --cpp_implementation
override_dh_auto_build-indep:
dh_auto_build --indep
@@ -42,8 +44,14 @@
# Python test.
set -e; \
export LD_LIBRARY_PATH=$(CURDIR)/src/.libs; \
- cd python && for python in $(shell pyversions -r); do \
- $$python setup.py test --cpp_implementation; \
+ cd python && for PYTHON in $(shell pyversions -r); do \
+ $$PYTHON setup.py test --cpp_implementation; \
+ done
+ # Python3 test.
+ set -e; \
+ export LD_LIBRARY_PATH=$(CURDIR)/src/.libs; \
+ cd python3 && for PYTHON in $(shell py3versions -r); do \
+ $$PYTHON setup.py test --cpp_implementation; \
done
endif
@@ -58,6 +66,8 @@
$$python setup.py clean --all; \
done
rm -rf python/protobuf.egg-info
+ # Python3 clean.
+ -rm -rf python3
override_dh_auto_clean-indep:
dh_auto_clean --indep
@@ -78,6 +88,14 @@
done
find $(CURDIR)/debian/python-protobuf -name 'protobuf-*-nspkg.pth' -delete
+ # Python3 install.
+ cd python3 && for python in $(shell py3versions -r); do \
+ $$python setup.py install --cpp_implementation \
+ --install-layout=deb --no-compile \
+ --root=$(CURDIR)/debian/python3-protobuf; \
+ done
+ find $(CURDIR)/debian/python3-protobuf -name 'protobuf-*-nspkg.pth' -delete
+
override_dh_auto_install-indep:
dh_auto_install --indep