[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#844608: RFS: protobuf/3.0.0-7.1 [NMU]



Package: sponsorship-requests
Severity: normal
X-Debbugs-CC: tv@beamnet.de

Clarification:
 * This NMU adds binary package python3-protobuf (#836821),
   I've sent a patch there a month ago but got no response
   from maintainer.
   see: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=836821
 * While building this package I encountered a randomly
   happening BUG. Then I find that the protobuf maintainer
   encountered exactly the same problem several months ago.
   However I don't know which python version the maintainer
   was using when he encountered this problem. If it's
   python2, then I think this bug is not specific to python3,
   hence not blocking python3-protobuf.
   see: https://github.com/google/protobuf/issues/1995
 * I need python3-protobuf as both B-D and Runtime-Dep for
   my package.
 * I performed only local build test. Debomatic-amd64 seems
   failing at this time.
   see: http://debomatic-amd64.debian.net/distribution#unstable/protobuf/3.0.0-7.1/buildlog
 * The latest git-format-patch is attached.

  Dear mentors,

  I am looking for a sponsor for my package "protobuf"

 * Package name    : protobuf
   Version         : 3.0.0-7.1
   Upstream Author : [fill in name and email of upstream]
 * URL             : [fill in URL of upstreams web site]
 * License         : [fill in]
   Section         : devel

  It builds those binary packages:

 libprotobuf-dev - protocol buffers C++ library (development files)
 libprotobuf-java - Java bindings for protocol buffers
 libprotobuf-lite10 - protocol buffers C++ library (lite version)
 libprotobuf10 - protocol buffers C++ library
 libprotoc-dev - protocol buffers compiler library (development files)
 libprotoc10 - protocol buffers compiler library
 protobuf-compiler - compiler for protocol buffer definition files
 python-protobuf - Python bindings for protocol buffers
 python3-protobuf - Python 3 bindings for protocol buffers

  To access further information about this package, please visit the following URL:

  https://mentors.debian.net/package/protobuf


  Alternatively, one can download the package with dget using this command:

    dget -x https://mentors.debian.net/debian/pool/main/p/protobuf/protobuf_3.0.0-7.1.dsc

  Changes since the last upload:

protobuf (3.0.0-7.1) unstable; urgency=medium

  * Non-maintainer upload.
  * Build python3-protobuf, thanks to Thomas Viehmann. (Closes: #836821)
  * Add missing B-D "libgtest-dev". (Closes: #836826)
From f13503ae9081d0ce9d7149f537db5177705b29d0 Mon Sep 17 00:00:00 2001
From: Zhou Mo <cdluminate@gmail.com>
Date: Thu, 17 Nov 2016 15:17:48 +0000
Subject: [PATCH] Add binary package python3-protobuf

---
 debian/changelog                      |  8 ++++++++
 debian/clean                          |  2 ++
 debian/control                        | 25 +++++++++++++++++++++++++
 debian/python-protobuf3.README.Debian | 11 +++++++++++
 debian/rules                          | 24 ++++++++++++++++++++----
 5 files changed, 66 insertions(+), 4 deletions(-)
 create mode 100644 debian/python-protobuf3.README.Debian

diff --git a/debian/changelog b/debian/changelog
index 26f245d..0960be1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+protobuf (3.0.0-7.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Build python3-protobuf, thanks to Thomas Viehmann. (Closes: #836821)
+  * Add missing B-D "libgtest-dev". (Closes: #836826)
+
+ -- Zhou Mo <cdluminate@gmail.com>  Thu, 17 Nov 2016 13:30:28 +0000
+
 protobuf (3.0.0-7) unstable; urgency=medium
 
   * Team upload.
diff --git a/debian/clean b/debian/clean
index f723754..a16e6fe 100644
--- a/debian/clean
+++ b/debian/clean
@@ -1 +1,3 @@
 protoc.1
+debian/autoreconf.after
+debian/autoreconf.before
diff --git a/debian/control b/debian/control
index 7e73b8c..d0047c6 100644
--- a/debian/control
+++ b/debian/control
@@ -16,11 +16,15 @@ Build-Depends:
  , 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
 # Manpage generator
  , xmlto
@@ -181,6 +185,27 @@ Description: Python bindings for protocol buffers
  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
 Depends: ${misc:Depends}
diff --git a/debian/python-protobuf3.README.Debian b/debian/python-protobuf3.README.Debian
new file mode 100644
index 0000000..61d0c1b
--- /dev/null
+++ b/debian/python-protobuf3.README.Debian
@@ -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 <edmonds@debian.org>  Thu, 28 Aug 2014 21:10:30 -0700
diff --git a/debian/rules b/debian/rules
index 8445efb..a906102 100755
--- a/debian/rules
+++ b/debian/rules
@@ -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 @@ override_dh_auto_build-arch:
 	# 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,12 @@ ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
 	# 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.
+	cd python3 && for PYTHON in $(shell py3versions -r); do \
+		$$PYTHON setup.py test --cpp_implementation; \
 	done
 endif
 
@@ -58,6 +64,8 @@ override_dh_auto_clean-arch:
 		$$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 +86,14 @@ override_dh_auto_install-arch:
 	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
 
-- 
2.10.2


Reply to: