From: Laszlo Boszormenyi (GCS) Date: Tue, 23 Oct 2018 14:33:32 +0000 (+0100) Subject: Import protobuf_3.6.1-4.debian.tar.xz X-Git-Tag: archive/raspbian/3.6.1.1-1+rpi1~1^2~6^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=037bbe934d0e77d4c31efd2c1eaa2cc3a20129bf;p=protobuf.git Import protobuf_3.6.1-4.debian.tar.xz [dgit import tarball protobuf 3.6.1-4 protobuf_3.6.1-4.debian.tar.xz] --- 037bbe934d0e77d4c31efd2c1eaa2cc3a20129bf diff --git a/changelog b/changelog new file mode 100644 index 0000000..2e3c91e --- /dev/null +++ b/changelog @@ -0,0 +1,642 @@ +protobuf (3.6.1-4) unstable; urgency=medium + + * Note that -dev package contains common proto files (closes: #842159). + * Allow Java warnings on stderr during autopkgtest. + + -- Laszlo Boszormenyi (GCS) Tue, 23 Oct 2018 14:33:32 +0000 + +protobuf (3.6.1-3) unstable; urgency=medium + + * Generate all Java source files (closes: #911404). + * Make package linux-only (closes: #837310). + * Update Standards-Version to 4.2.1 . + + -- Laszlo Boszormenyi (GCS) Sat, 20 Oct 2018 19:13:40 +0000 + +protobuf (3.6.1-2) unstable; urgency=medium + + * Fix linking with recent Google's C++ test framework. + * Upload to Sid. + + -- Laszlo Boszormenyi (GCS) Thu, 11 Oct 2018 15:15:45 +0000 + +protobuf (3.6.1-1) experimental; urgency=medium + + * New upstream release. + * Builds with OpenJDK 10 (closes: #901518). + * Library transition from libproto*16 to libproto*17 . + * Extend Python 3.7 FTBFS fix. + * Update Standards-Version to 4.1.5 . + + [ Michael Hudson-Doyle ] + * Backport patch to fix FTBFS with Python 3.7 (closes: #902597). + + -- Laszlo Boszormenyi (GCS) Tue, 14 Aug 2018 18:22:07 +0000 + +protobuf (3.6.0.1-1) experimental; urgency=medium + + * New major upstream release. + * Link with atomic on m68k, powerpcspe and sh4 architectures as well. + + -- Laszlo Boszormenyi (GCS) Mon, 11 Jun 2018 14:56:51 +0000 + +protobuf (3.6.0~rc2-2) experimental; urgency=medium + + * Build all Ruby files (closes: #900677). + * Explicitly link with atomic on armel, mips, mipsel and powerpc + architectures. + + -- Laszlo Boszormenyi (GCS) Sun, 03 Jun 2018 15:52:16 +0000 + +protobuf (3.6.0~rc2-1) experimental; urgency=medium + + * New major upstream release candidate version. + * Make Ruby build dependencies architecture dependent. + + -- Laszlo Boszormenyi (GCS) Fri, 01 Jun 2018 13:00:39 +0000 + +protobuf (3.6.0~rc1-1) experimental; urgency=medium + + * New major upstream release candidate version. + * Library transition from libproto*15 to libproto*16 . + * Add ruby-google-protobuf package (closes: #855034). + * Update patches. + * Use packaged Google Test and Google Mock libraries. + * Update watch file. + + -- Laszlo Boszormenyi (GCS) Tue, 29 May 2018 22:00:11 +0000 + +protobuf (3.5.2-2) experimental; urgency=medium + + * Backport build fix for s390x architecture. + + -- Laszlo Boszormenyi (GCS) Fri, 27 Apr 2018 14:39:06 +0000 + +protobuf (3.5.2-1) experimental; urgency=medium + + * New upstream release (closes: #874498). + * Library transition from libproto*10 to libproto*15 . + * Make protobuf-compiler recommend libprotobuf-dev for basic upstream types + (closes: #842158). + * Take over maintainer responsibility. + * Disable Vcs-* fields for now. + * Update debhelper level to 11: + - don't specify parallel to debhelper. + * Update Standards-Version to 4.1.4 . + + -- Laszlo Boszormenyi (GCS) Wed, 25 Apr 2018 21:29:01 +0000 + +protobuf (3.0.0-9.1) unstable; urgency=medium + + * Non-maintainer upload. + + [ Mattia Rizzolo ] + * Apply patch from Ubuntu to fix tests with Python 3.6. Closes: #862805 + * Add missing Build-Depends on python-six. + + [ Helmut Grohne ] + * Fix FTCBFS: + + Remove unneeded versioned Build-Depends on g++ (satisfied in oldstable). + + Remove unused Build-Depends on python-google-apputils. + + Build-Depend on python(3)-all-dev instead of python(3)-all + + libpython(3)-all-dev. + + Run generate_descriptor_proto.sh on a native build before performing + the actual cross build. + + Save the native protoc in debian/native_protoc/ and pass it to the + cross build via --with-protoc. + + Set up environment variables for cross building python extensions. + + Fix the loops used for the python(3) builds install and tests, to + actually build for all python versions and tests them all. + + Closes: #846343 + + -- Mattia Rizzolo Mon, 16 Oct 2017 13:34:16 +0200 + +protobuf (3.0.0-9) unstable; urgency=medium + + * Backport upstream fix for Python 3 build failure (closes: #845686). + + -- Laszlo Boszormenyi (GCS) Fri, 25 Nov 2016 16:11:01 +0000 + +protobuf (3.0.0-8) unstable; urgency=medium + + [ Zhou Mo ] + * 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. + + [ Bart Martens ] + * Generalize watch file. + + -- Laszlo Boszormenyi (GCS) Thu, 24 Nov 2016 17:33:28 +0000 + +protobuf (3.0.0-7) unstable; urgency=medium + + * Team upload. + + [ Bas Couwenberg ] + * Added patch by Srivats P to restore New*Callback into google::protobuf + namespace. Required for ostinato (#835435). (Closes: #836200). + + -- Dmitry Smirnov Fri, 02 Sep 2016 16:57:13 +1000 + +protobuf (3.0.0-6) unstable; urgency=medium + + * New "java-test-scope.patch" to set scope of "junit" and "easymock" to + "test" (Closes: #835514). + Thanks, Markus Koschany. + + -- Dmitry Smirnov Sat, 27 Aug 2016 09:02:16 +1000 + +protobuf (3.0.0-5) unstable; urgency=medium + + * Team upload. + * Removed obsolete Conflicts/Replaces (Closes: #835385). + Thanks, Robert Edmonds. + * New patch to fix "EXPECT_DEATH" FTBFS on kFreeBSD (Closes: #835388). + Thanks, Bas Couwenberg. + + -- Dmitry Smirnov Fri, 26 Aug 2016 08:36:08 +1000 + +protobuf (3.0.0-4) unstable; urgency=low + + * Team upload. + * Updated "libprotobuf-java.poms" (Closes: #835358). + Thanks, Markus Koschany. + * Added new patches to fix FTBFS on s390x and sparc64 (Closes: #835290). + Thanks, Aurelien Jarno; thanks Sebastiaan Couwenberg. + * New patch to fix FTBFS on Hurd (Closes: #835267). + Thanks, Sebastiaan Couwenberg. + * rules: removed "-O0" #796069 workaround for mips(el). + + -- Dmitry Smirnov Thu, 25 Aug 2016 11:28:07 +1000 + +protobuf (3.0.0-3) unstable; urgency=low + + [ Bas Couwenberg ] + * Added new patch to fix FTBFS "misleading indentation" (Closes: #835266). + + -- Dmitry Smirnov Wed, 24 Aug 2016 13:54:36 +1000 + +protobuf (3.0.0-2) unstable; urgency=medium + + * rules: invoke "generate_descriptor_proto.sh" to re-generate pre-built + .pb.go files if necessary. + + -- Dmitry Smirnov Wed, 24 Aug 2016 13:19:43 +1000 + +protobuf (3.0.0-1) unstable; urgency=low + + * Team upload. + + [ Dmitry Smirnov ] + * New upstream release [July 2016] (Closes: #795841, #811650). + - removed obsolete patches. + * Introduced "watch" file. + * copyright: + + full review & update; + + convert to copyright-format 1.0; + * Build-Depends += "google-mock". + + -- Dmitry Smirnov Mon, 22 Aug 2016 15:35:08 +1000 + +protobuf (2.6.1-2) unstable; urgency=low + + * Acknowledge NMUs, thanks Matthias Klose and Simon McVittie! + + [ Robert Edmonds ] + * debian/control: Change Maintainer to the pkg-protobuf-devel list + * debian/control: Add Laszlo Boszormenyi as Uploader + + [ Andrew Pollock ] + * Update Git repository location + + [ Iustin Pop ] + * Standards version 3.9.8 (no changes needed) + * Update project home page (now on github) + * Update yet again Vcs-* URLs to point to secure URIs + * Update information about our the ezsetup-removal patch + * Apply BTS patch for fixing Sparc64 builds, thanks to David Matthew + Mattli (Closes: #805072) + * Don't fixup arch-dependent package dirs in indep builds + (Closes: #806096) + * Migrate from custom test scripts to autopkgtest + + -- Iustin Pop Sun, 08 May 2016 14:55:24 +0200 + +protobuf (2.6.1-1.3) unstable; urgency=medium + + * Non-maintainer upload. + * Disable optimization on mips and mipsel so that the tests pass. + To keep the g++-5 transition moving, optimization is completely + disabled here; someone who knows better can be more selective + later. (Mitigates: #796069) + + -- Simon McVittie Wed, 26 Aug 2015 21:37:58 +0100 + +protobuf (2.6.1-1.2) unstable; urgency=medium + + * Non-maintainer upload. + * Restore maintainer address. + + -- Matthias Klose Thu, 06 Aug 2015 08:47:53 +0200 + +protobuf (2.6.1-1.1) unstable; urgency=medium + + * Non maintainer upload. + * Rename libprotobuf-lite9 to libprotobuf-lite9v5, triggered by the libstdc++6 + ABI change. Addresses: #791246. + * Rename libprotobuf9 to libprotobuf9v5. + * Rename libprotoc9 to libprotoc9v5. + * Add Conflicts/Replaces for the old libraries. + + -- Matthias Klose Tue, 04 Aug 2015 20:33:36 +0200 + +protobuf (2.6.1-1) unstable; urgency=medium + + * New upstream release. + + -- Robert Edmonds Fri, 24 Oct 2014 13:55:53 -0400 + +protobuf (2.6.0-4) unstable; urgency=medium + + * Merge post-2.6.0 fixes that were merged upstream. In particular, + protoc-generated code should now compile correctly when built with Clang. + + -- Robert Edmonds Mon, 22 Sep 2014 16:52:50 -0400 + +protobuf (2.6.0-3) unstable; urgency=medium + + * Upload to unstable. + + -- Robert S. Edmonds Thu, 11 Sep 2014 22:50:10 -0400 + +protobuf (2.6.0-2) experimental; urgency=medium + + * Compile the Java bindings only on architecture-independent builds. + + -- Robert S. Edmonds Fri, 05 Sep 2014 19:32:39 -0400 + +protobuf (2.6.0-1) experimental; urgency=medium + + * New upstream release. + * Upload to experimental. + * Switch to dh sequencer in debian/rules. + * Bump ABI version from 8 to 9. + * Drop all patches from debian/patches/: + - arm_optimization.diff + (Appears to be no longer needed.) + - disable-setuptools-download.diff + (Disable ez_setup entirely, rather than disabling the downloader + component inside ez_setup.) + - fix-ftbfs-gcc4.7-kfreebsd.patch + (Fixed upstream.) + - fix-ftbfs-upstream-issue-488.patch + (Fixed upstream.) + - revert_upstream_issue_388_about_rpath.diff + (Fixed upstream.) + * Use dh-autoreconf. (Closes: #725976.) + * Enable the new C++-based Python extension module shipped in 2.6.0. + See /usr/share/doc/python-protobuf/README.Debian for details. + + -- Robert S. Edmonds Tue, 02 Sep 2014 16:57:20 -0400 + +protobuf (2.5.0-9) unstable; urgency=medium + + * Upload to unstable. + * Officially take over primary maintainership of the package, per Iustin. + + -- Robert S. Edmonds Wed, 05 Feb 2014 11:37:11 -0500 + +protobuf (2.5.0-8) experimental; urgency=medium + + * Revert debian/patches/fix-ftbfs-upstream-issue-488.patch to use the + version of this patch from 2.5.0-5. + * Build-Depend on g++ >= 4:4.7 to ensure that the *default* compiler is new + enough to support the gcc __atomic*() built-ins. + + -- Robert S. Edmonds Mon, 03 Feb 2014 19:42:23 -0500 + +protobuf (2.5.0-7) unstable; urgency=medium + + * Upload to unstable. + * Closes: #736801. + + -- Robert S. Edmonds Wed, 29 Jan 2014 14:27:42 -0500 + +protobuf (2.5.0-6) experimental; urgency=medium + + * Use a different approach to fixing the FTBFS caused by upstream bug #488. + * Revert the Build-Depends on a specific gcc/g++ version. + + -- Robert S. Edmonds Sun, 26 Jan 2014 23:56:47 -0500 + +protobuf (2.5.0-5) unstable; urgency=medium + + * Upload to unstable. + * Note that the experimental C++ backend in python-protobuf has been + disabled. + + -- Robert S. Edmonds Sat, 25 Jan 2014 16:57:43 -0500 + +protobuf (2.5.0-4) experimental; urgency=medium + + * Rewrite the platform detection logic in .../platform-macros.h to be more + tolerant of all Debian architectures. + * Switch from autotools-dev to dh-autoreconf. + + -- Robert S. Edmonds Sun, 12 Jan 2014 12:49:50 -0500 + +protobuf (2.5.0-3) experimental; urgency=medium + + * Fix FTBFS on mips, due to missing detection of that architecture in + .../platform-macros.h. + * Fix FTBFS on ia64, powerpc, and sparc, where the default gcc version is + too old to compile the new __atomic*() intrinsics, by Build-Depending on + gcc-4.8, g++-4.8. + + -- Robert S. Edmonds Sat, 11 Jan 2014 17:21:17 -0500 + +protobuf (2.5.0-2) experimental; urgency=low + + * Fix FTBFS on "unsupported" architectures due to upstream issue 488: + - https://code.google.com/p/protobuf/issues/detail?id=488 + Patch from Stanislav Ochotnicky (Red Hat). + + -- Robert S. Edmonds Sat, 19 Oct 2013 10:42:29 -0400 + +protobuf (2.5.0-1) experimental; urgency=low + + [ Micah Anderson ] + * New upstream version. (Closes: #704731.) + * Update debian/watch. + * Refresh patches. + + [ Colin Watson ] + * Use the autotools-dev dh addon to update config.guess/config.sub for + arm64. (Closes: #725976.) + + [ Steve Langasek ] + * Don't recommend protobuf-compiler from the bindings, it's not used and + this doesn't need to be pulled in at runtime. (Closes: #703628.) + * Mark protobuf-compiler Multi-Arch: foreign; the output of this command + is architecture-independent source, we don't need the version of the + compiler to match the target arch. + * Bump to debhelper compat 9, so that our libs get installed to the + multiarch locations. + * Mark the library packages Multi-Arch: same. + * Fix debian/rules to support cross-building of the python bindings. + * Build-depend on libpython-dev, not python-dev, for cross-build + compatibility. + * (Closes: #726083.) + + [ Robert S. Edmonds ] + * Upload to experimental. + * Bump ABI version from 7 to 8. + * Bump Standards-Version to 3.9.4. + * Convert from python-support to dh-python. + * Drop support for python2.6. + * python-protobuf: switch back to the pure Python implementation, as + upstream appears to no longer be maintaining the current C++ based Python + binding. See the following upstream issues for details: + - https://code.google.com/p/protobuf/issues/detail?id=434 + - https://code.google.com/p/protobuf/issues/detail?id=503 + + -- Robert S. Edmonds Sat, 12 Oct 2013 18:32:37 -0400 + +protobuf (2.4.1-3) unstable; urgency=low + + * Add patch from Steven Chamberlain fixing build failures of the + embedded gtest copy on kFreeBSD (Closes: #675837) + + -- Iustin Pop Sun, 17 Jun 2012 18:29:37 +0200 + +protobuf (2.4.1-2) unstable; urgency=low + + [ Matthias Klose ] + * Work around build failure with GCC 4.7. Closes: #672094. + + [ Jakub Adam ] + * Install libprotobuf-java without reference to parent POM + (Closes: #648672) + + [ Iustin Pop ] + * libprotobuf-java: + - remove dependency on default-jre (Closes: #653115) + - revert the jar name change introduced in 2.4.1, due to the use of + maven helper (Closes: #648850) + * Bump priority of packages from extra to optional (Closes: #664744) + * Enable hardening flags (Closes: #673675) + + -- Iustin Pop Thu, 24 May 2012 01:27:26 +0200 + +protobuf (2.4.1-1) unstable; urgency=low + + [ Thomas Koch ] + * remove ant-wrapper, which worked around #491074 + * patch: revert_upstream_issue_388_about_rpath + * publish maven artifacts (Closes: #644263) + + [ Iustin Pop ] + * Fix (again) the pkg-test script + * Update section based on override disparities + * Imported Upstream version 2.4.1 + * Modify debian/rules directly not via patches + * Drop .la files per ReleaseGoals/LAFileRemoval + + -- Iustin Pop Tue, 08 Nov 2011 07:56:58 +0900 + +protobuf (2.4.0a-2) unstable; urgency=low + + * Re-upload to unstable + + -- Iustin Pop Sat, 16 Apr 2011 20:18:28 +0200 + +protobuf (2.4.0a-1) experimental; urgency=low + + * New upstream version, uploading to experimental due to Python changes + * Fix "Missing depends on zlib1g-dev", thanks Fernando Tarlá Cardoso Lemos + (Closes: #608670) + * Re-enable parallel builds, but only for the C++ sources/tests + * Enable the C++-based implementation for the Python bindings + + -- Iustin Pop Wed, 16 Feb 2011 21:24:42 +0100 + +protobuf (2.3.0-4) unstable; urgency=low + + * Thanks to Peter Palfrader for finding the two bugs below: + * Disable setuptools auto-download in case of wrong dependencies, and + fix the current dependency version (Closes: #593269) + * Fix the python cleanup rule, by always running the individual steps + (Closes: #593268) + + -- Iustin Pop Wed, 18 Aug 2010 22:54:42 +0200 + +protobuf (2.3.0-3) unstable; urgency=low + + * Acknowledge NMU (thanks Giuseppe!) + * Update packaging to comply with policy 3.9.1 (.la files are still + shipped though) + * Updated watch file to account for code.google.com brokeness + + -- Iustin Pop Sat, 31 Jul 2010 17:47:24 -0400 + +protobuf (2.3.0-2.1) unstable; urgency=high + + * Non-maintainer upload. + * Build-depends on on default-jdk and set JAVA_HOME to + /usr/lib/jvm/default-java (Closes: #587732) + + -- Giuseppe Iuculano Sat, 10 Jul 2010 18:37:19 +0200 + +protobuf (2.3.0-2) unstable; urgency=low + + * Fix "FTBFS on armel (test-suite failure)" by disabling optimizations + of a troublesome function (idea taken from #580334) (Closes: #572923) + * Standards version 3.8.4 (no changes needed) + * Update my address to the @debian.org one + + -- Iustin Pop Mon, 24 May 2010 18:04:17 +0200 + +protobuf (2.3.0-1) unstable; urgency=low + + * New upstream version. + * Split out libprotobuf-lite from the libprotobuf package. + * Add CFLAGS specific to sh4; closes: #560322. + + -- Robert S. Edmonds Mon, 25 Jan 2010 18:14:49 -0500 + +protobuf (2.2.0a-1) unstable; urgency=low + + * Acknowledge NMUs (thanks Dirk!) + * Convert the source format to 3.0 (quilt) + + -- Iustin Pop Sun, 06 Dec 2009 16:27:40 +0100 + +protobuf (2.2.0a-0.1) unstable; urgency=low + + * Non-maintainer upload + * New upstream release made this evening correction major SONAME + * debian/control: Updated major version to 5 (Closes: #556563) + * debian/rules: Updated two links to use libproto*5 + * debian/libprotobuf5.shlibs: Added + * debian/libprotoc5.shlibs: Added + + -- Dirk Eddelbuettel Wed, 18 Nov 2009 21:47:41 -0600 + +protobuf (2.2.0-0.1) unstable; urgency=low + + * Non-maintainer upload coordinated with maintainer + * New upstream release (Closes: #551931) + + * debian/libprotobuf-install: Added 'usr/lib/pkgconfig/*' to have + pkg-config support files installed + + * debian/control: Added (= ${binary:Version}) to Depends for -dev + packages for tighter link to underlying libraries [lintian warning] + * debian/control: Updated StandardVersion: to 3.8.3 + + * debian/control: Major version not incremented as upstream kept it at 4 + + -- Dirk Eddelbuettel Sat, 14 Nov 2009 06:44:22 -0600 + +protobuf (2.1.0-1) unstable; urgency=low + + * New Upstream Version + * Fix "Please split out libprotoc.so.N out of the libprotobufN + package" (Closes: #524087) + * Update Standards Version to 3.8.2 (no changes needed, sections are already + correct and the rest doesn't affect this package) + + -- Iustin Pop Wed, 24 Jun 2009 00:19:03 +0200 + +protobuf (2.0.3-2.2) unstable; urgency=medium + + * Non-maintainer upload. + * Fix FTBFS from -2.1: don't fail when we can't clean up the java build, + such as when openjdk isn't installed. + * Disable parallel builds, because libtool is made of fail (if binary-arch + and build-indep run concurrently, we relink a library while it's being + used; that doesn't work so well). + + -- Julien Cristau Tue, 02 Jun 2009 16:19:00 +0200 + +protobuf (2.0.3-2.1) unstable; urgency=medium + + * Non-maintainer upload. + * Medium urgency for RC bugfix. + * Fix building of test suites on ia64: use __clone2() instead of clone(), + which doesn't exist there (closes: #530606). Patch by Sune Vuorela. + * Only build the java and python bindings when building the arch:all + packages. Move openjdk to Build-Depends-Indep. This should allow + building on hppa, which doesn't have openjdk. Based on a patch by Sune + Vuorela (but any bugs are mine). + + -- Julien Cristau Tue, 02 Jun 2009 14:45:32 +0200 + +protobuf (2.0.3-2) unstable; urgency=low + + * Fix the binary-arch/binary-common interaction by only calling + dh_pysupport when we are in arch-independent mode (DH_OPTIONS=-i) + * Remove the extraneous conflicts/replace with libprotobuf2/libprotobuf0 + from libprotobuf3, as they share no files (and have different SONAMES) + (Closes: #523992) + + -- Iustin Pop Tue, 14 Apr 2009 09:35:39 +0200 + +protobuf (2.0.3-1) unstable; urgency=low + + [ Ehren Kret ] + * New Upstream Version (Closes: #522470) + * Applied patch proposed in bug#503807 provided by + Torsten Werner (Closes: #503807) + + [ Iustin Pop ] + * Policy version 3.8.1, added handling for the nocheck DEB_BUILD_OPTIONS flag + * Fix lintian warnings (copyright-with-old-dh-make-debian-copyright, + wrong-section-according-to-package-name) + * The new upstream version build successfully (and passes the + unittest) with gcc-snapshort, so marking bug#505411 as fixed + (Closes: #505411) + + -- Iustin Pop Thu, 09 Apr 2009 15:01:36 +0200 + +protobuf (2.0.2-1) unstable; urgency=low + + * New Upstream Version (Closes: #501349) + + -- Iustin Pop Tue, 07 Oct 2008 21:51:47 +0200 + +protobuf (2.0.1-2) unstable; urgency=low + + * Fix the java .jar symlink (Closes: #501490) + + -- Iustin Pop Sat, 04 Oct 2008 17:05:01 +0200 + +protobuf (2.0.1-1) unstable; urgency=low + + * New Upstream Version (Closes: #499925) + + -- Iustin Pop Sun, 28 Sep 2008 18:14:16 +0200 + +protobuf (2.0.0~b-3) unstable; urgency=low + + * Remove DM-Upload-Allowed for sponsoring + + -- Iustin Pop Sun, 03 Aug 2008 11:01:44 +0200 + +protobuf (2.0.0~b-2) unstable; urgency=low + + * Mark the different license for some of the files, and fix the long + description (it contained UTF-8 chars), both thanks to Vincent Bernat + + * Cleanup debian/rules (removed commented out debhelper lines) + * Improve the java build process, as suggested by Matthew Johnson + + + -- Iustin Pop Sat, 02 Aug 2008 14:12:59 +0200 + +protobuf (2.0.0~b-1) unstable; urgency=low + + * Initial release (Closes: #489842) + + -- Iustin Pop Tue, 08 Jul 2008 20:03:51 +0200 diff --git a/clean b/clean new file mode 100644 index 0000000..f723754 --- /dev/null +++ b/clean @@ -0,0 +1 @@ +protoc.1 diff --git a/compat b/compat new file mode 100644 index 0000000..b4de394 --- /dev/null +++ b/compat @@ -0,0 +1 @@ +11 diff --git a/control b/control new file mode 100644 index 0000000..82d123f --- /dev/null +++ b/control @@ -0,0 +1,253 @@ +Source: protobuf +Section: devel +Priority: optional +Maintainer: Laszlo Boszormenyi (GCS) +Build-Depends: +# Debian build system + , debhelper (>= 11) +# C/C++ + , zlib1g-dev + , libgmock-dev + , libgtest-dev +# Python + , dh-python + , python-all:any + , libpython-all-dev + , python3-all:any + , libpython3-all-dev + , python-setuptools + , python-six + , python3-setuptools + , python3-six +# Manpage generator + , xmlto +# Tests + , unzip +# Ruby + , rake-compiler + , gem2deb +Build-Depends-Indep: +# Java + , ant + , default-jdk + , maven-repo-helper +Standards-Version: 4.2.1 +Homepage: https://github.com/google/protobuf/ +#Vcs-Browser: https://anonscm.debian.org/cgit/pkg-protobuf/pkg-protobuf.git +#Vcs-Git: https://anonscm.debian.org/git/pkg-protobuf/pkg-protobuf.git +X-Python-Version: >= 2.7 +XS-Ruby-Versions: all + +Package: ruby-google-protobuf +Architecture: linux-any +Multi-Arch: same +Section: ruby +X-DhRuby-Root: ruby +XB-Ruby-Versions: ${ruby:Versions} +Depends: ruby | ruby-interpreter, + ${misc:Depends}, + ${shlibs:Depends} +Conflicts: ruby-google-protobuf (<< 3.6.0~) +Replaces: ruby-google-protobuf (<< 3.6.0~) +Description: Protocol Buffers + Protocol Buffers are Google's data interchange format. + . + This library contains the Ruby extension that implements Protocol Buffers + functionality in Ruby. + . + The Ruby extension makes use of generated Ruby code that defines message and + enum types in a Ruby DSL. You may write definitions in this DSL directly, but + we recommend using protoc's Ruby generation support with .proto files. The + build process in this directory only installs the extension; you need to + install protoc as well to have Ruby code generation functionality. + +Package: libprotobuf17 +Architecture: linux-any +Multi-Arch: same +Section: libs +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: protocol buffers C++ library + 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 runtime library needed for C++ applications. + +Package: libprotobuf-lite17 +Architecture: linux-any +Multi-Arch: same +Section: libs +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: protocol buffers C++ library (lite version) + 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 runtime library needed for C++ applications whose + message definitions have the "lite runtime" optimization setting. + +Package: libprotobuf-dev +Architecture: linux-any +Multi-Arch: same +Section: libdevel +Depends: ${misc:Depends}, zlib1g-dev, + libprotobuf17 (= ${binary:Version}), libprotobuf-lite17 (= ${binary:Version}) +Description: protocol buffers C++ library (development files) and proto files + 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 development headers and static libraries needed for + writing C++ applications. Includes well known proto type files. + +Package: libprotoc17 +Architecture: linux-any +Multi-Arch: same +Section: libs +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: protocol buffers compiler library + 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 runtime library needed for the protocol buffer + compiler. + +Package: libprotoc-dev +Architecture: linux-any +Multi-Arch: same +Section: libdevel +Depends: ${misc:Depends}, + libprotoc17 (= ${binary:Version}), libprotobuf-dev (= ${binary:Version}) +Replaces: libprotobuf-dev (<< 2.1.0) +Breaks: libprotobuf-dev (<< 2.1.0) +Description: protocol buffers compiler library (development files) + 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 development headers and static library needed for + writing protobuf compilers. + +Package: protobuf-compiler +Architecture: linux-any +Multi-Arch: foreign +Depends: ${shlibs:Depends}, ${misc:Depends}, libprotoc17 (= ${binary:Version}) +Recommends: libprotobuf-dev +Description: compiler for protocol buffer definition files + 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 protocol buffer compiler that is used for + translating from .proto files (containing the definitions) to the language + binding for the supported languages. + +Package: python-protobuf +Architecture: linux-any +Section: python +Depends: ${shlibs:Depends}, ${python:Depends}, ${misc:Depends} +Provides: ${python:Provides} +XB-Python-Version: ${python:Versions} +Description: Python 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 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: python3-protobuf +Architecture: linux-any +Section: python +Depends: ${shlibs:Depends}, ${python3:Depends}, ${misc:Depends} +Provides: ${python3:Provides} +XB-Python-Version: ${python3:Versions} +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} +Section: java +Description: Java 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 Java bindings for the protocol buffers. You will + need the protoc tool (in the protobuf-compiler package) to compile your + definition to Java classes, and then the modules in this package will allow + you to use those classes in your programs. diff --git a/copyright b/copyright new file mode 100644 index 0000000..cb72d65 --- /dev/null +++ b/copyright @@ -0,0 +1,197 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: protobuf +Source: https://github.com/google/protobuf +Comment: + This package was debianized by Iustin Pop + on Mon, 07 Jul 2008 17:48:21 +0200. + +Files: * +Copyright: 2008-2018 Google Inc. +License: BSD-3-Clause~Google + +Files: + src/google/protobuf/stubs/atomicops_internals_power.h +Copyright: 2014 Bloomberg Finance LP +License: BSD-3-Clause~Bloomberg + +Files: + src/google/protobuf/stubs/atomicops_internals_generic_gcc.h +Copyright: 2013 Red Hat Inc +License: BSD-3-Clause~RedHat + +Files: m4/acx_pthread.m4 +Copyright: 2006 Steven G. Johnson +License: GPLWithACException + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the Free + Software Foundation. As a special exception, the respective Autoconf + Macro's copyright owner gives unlimited permission to copy, distribute and + modify the configure scripts that are the output of Autoconf when + processing the Macro. You need not follow the terms of the GNU General + Public License when using or distributing such scripts. + . + On Debian systems, the complete text of the GNU General Public + License can be found in "/usr/share/common-licenses/GPL-2". +Comment: + Unspecified GPL, assuming any version as per text of the GPL-2 license: + "If the Program does not specify a version number of this License, you may + choose any version ever published by the Free Software Foundation." + +Files: + python/mox.py + python/stubout.py +Copyright: 2008 Google Inc. +License: Apache-2.0 + +Files: conformance/third_party/jsoncpp/* +Copyright: 2007-2010 Baptiste Lepilleur +License: Public-Domain or Expat + +Files: debian/* +Copyright: + 2009 Dirk Eddelbuettel + 2016 Dmitry Smirnov + 2009 Julien Cristau + 2013-2014 Robert Edmonds + 2008,2009,2010 Iustin Pop + 2016- Laszlo Boszormenyi (GCS) +License: GPL-3 + +License: Public-Domain + The author explicitly disclaims copyright in all jurisdictions which + recognize such a disclaimer. In such jurisdictions, this software is + released into the Public Domain. + +License: Expat + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + ․ + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + ․ + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +License: BSD-3-Clause~Google + 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 Google 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. +Comment: + Code generated by the Protocol Buffer compiler is owned by the owner + of the input file used when generating it. This code is not + standalone and requires a support library to be linked with it. + This support library is itself covered by the above license. + +License: BSD-3-Clause~Bloomberg + 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 Bloomberg Finance LP. 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. + +License: BSD-3-Clause~RedHat + 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. + +License: Apache-2.0 + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + ․ + https://www.apache.org/licenses/LICENSE-2.0 + ․ + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ․ + On Debian systems, the complete text of the Apache License, + Version 2.0 can be found in "/usr/share/common-licenses/Apache-2.0". + +License: GPL-3 + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, version 3 of the License. + ․ + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + ․ + On Debian systems, the complete text of the GNU General Public + License Version 3 can be found in "/usr/share/common-licenses/GPL-3". diff --git a/gbp.conf b/gbp.conf new file mode 100644 index 0000000..0da192b --- /dev/null +++ b/gbp.conf @@ -0,0 +1,4 @@ +[buildpackage] +pristine-tar = True +[import-orig] +pristine-tar = True diff --git a/gmock/Makefile.am b/gmock/Makefile.am new file mode 100644 index 0000000..3639543 --- /dev/null +++ b/gmock/Makefile.am @@ -0,0 +1,152 @@ +# Automake file + +ACLOCAL_AMFLAGS = -I m4 + +# Nonstandard package files for distribution. +#EXTRA_DIST = LICENSE + +# We may need to build our internally packaged gtest. If so, it will be +# included in the 'subdirs' variable. +SUBDIRS = $(subdirs) + +# This is generated by the configure script, so clean it for distribution. +#DISTCLEANFILES = scripts/gmock-config + +# We define the global AM_CPPFLAGS as everything we compile includes from these +# directories. +AM_CPPFLAGS = $(GTEST_CPPFLAGS) -I$(srcdir)/include + +# Modifies compiler and linker flags for pthreads compatibility. +if HAVE_PTHREADS + AM_CXXFLAGS = @PTHREAD_CFLAGS@ -DGTEST_HAS_PTHREAD=1 + AM_LIBS = @PTHREAD_LIBS@ +endif + +# Build rules for libraries. +lib_LTLIBRARIES = lib/libgmock.la lib/libgmock_main.la + +lib_libgmock_la_SOURCES = src/gmock-all.cc + +pkginclude_HEADERS = \ + /usr/include/gmock/gmock-actions.h \ + /usr/include/gmock/gmock-cardinalities.h \ + /usr/include/gmock/gmock-generated-actions.h \ + /usr/include/gmock/gmock-generated-function-mockers.h \ + /usr/include/gmock/gmock-generated-matchers.h \ + /usr/include/gmock/gmock-generated-nice-strict.h \ + /usr/include/gmock/gmock-matchers.h \ + /usr/include/gmock/gmock-more-actions.h \ + /usr/include/gmock/gmock-more-matchers.h \ + /usr/include/gmock/gmock-spec-builders.h \ + /usr/include/gmock/gmock.h + +pkginclude_internaldir = $(pkgincludedir)/internal +pkginclude_internal_HEADERS = \ + /usr/include/gmock/internal/gmock-generated-internal-utils.h \ + /usr/include/gmock/internal/gmock-internal-utils.h \ + /usr/include/gmock/internal/gmock-port.h + +lib_libgmock_main_la_SOURCES = src/gmock_main.cc +lib_libgmock_main_la_LIBADD = lib/libgmock.la + +# Build rules for tests. Automake's naming for some of these variables isn't +# terribly obvious, so this is a brief reference: +# +# TESTS -- Programs run automatically by "make check" +# check_PROGRAMS -- Programs built by "make check" but not necessarily run + +TESTS= +check_PROGRAMS= +AM_LDFLAGS = $(GTEST_LDFLAGS) + +# This exercises all major components of Google Mock. It also +# verifies that libgmock works. +TESTS += test/gmock-spec-builders_test +check_PROGRAMS += test/gmock-spec-builders_test +test_gmock_spec_builders_test_SOURCES = test/gmock-spec-builders_test.cc +test_gmock_spec_builders_test_LDADD = $(GTEST_LIBS) lib/libgmock.la + +# This tests using Google Mock in multiple translation units. It also +# verifies that libgmock_main and libgmock work. +TESTS += test/gmock_link_test +check_PROGRAMS += test/gmock_link_test +test_gmock_link_test_SOURCES = \ + test/gmock_link2_test.cc \ + test/gmock_link_test.cc \ + test/gmock_link_test.h +test_gmock_link_test_LDADD = $(GTEST_LIBS) lib/libgmock_main.la lib/libgmock.la + +# Google Mock source files that we don't compile directly. +GMOCK_SOURCE_INGLUDES = \ + src/gmock-cardinalities.cc \ + src/gmock-internal-utils.cc \ + src/gmock-matchers.cc \ + src/gmock-spec-builders.cc \ + src/gmock.cc + +EXTRA_DIST = $(GMOCK_SOURCE_INGLUDES) + +# C++ tests that we don't compile using autotools. +EXTRA_DIST += \ + test/gmock-actions_test.cc \ + test/gmock_all_test.cc \ + test/gmock-cardinalities_test.cc \ + test/gmock_ex_test.cc \ + test/gmock-generated-actions_test.cc \ + test/gmock-generated-function-mockers_test.cc \ + test/gmock-generated-internal-utils_test.cc \ + test/gmock-generated-matchers_test.cc \ + test/gmock-internal-utils_test.cc \ + test/gmock-matchers_test.cc \ + test/gmock-more-actions_test.cc \ + test/gmock-nice-strict_test.cc \ + test/gmock-port_test.cc \ + test/gmock_stress_test.cc + +# Nonstandard package files for distribution. +EXTRA_DIST += \ + make/Makefile + +# Pump scripts for generating Google Mock headers. +# TODO(chandlerc@google.com): automate the generation of *.h from *.h.pump. +EXTRA_DIST += \ + include/gmock/gmock-generated-actions.h.pump \ + include/gmock/gmock-generated-function-mockers.h.pump \ + include/gmock/gmock-generated-matchers.h.pump \ + include/gmock/gmock-generated-nice-strict.h.pump \ + include/gmock/internal/gmock-generated-internal-utils.h.pump + +# Script for fusing Google Mock and Google Test source files. +EXTRA_DIST += scripts/fuse_gmock_files.py + +# The Google Mock Generator tool from the cppclean project. +EXTRA_DIST += \ + scripts/generator/README \ + scripts/generator/README.cppclean \ + scripts/generator/cpp/__init__.py \ + scripts/generator/cpp/ast.py \ + scripts/generator/cpp/gmock_class.py \ + scripts/generator/cpp/keywords.py \ + scripts/generator/cpp/tokenize.py \ + scripts/generator/cpp/utils.py \ + scripts/generator/gmock_gen.py + +# CMake scripts. +EXTRA_DIST += \ + CMakeLists.txt + +# Death tests may produce core dumps in the build directory. In case +# this happens, clean them to keep distcleancheck happy. +CLEANFILES = core + +# Disables 'make install' as installing a compiled version of Google +# Mock can lead to undefined behavior due to violation of the +# One-Definition Rule. + +install-exec-local: + echo "'make install' is dangerous and not supported. Instead, see README for how to integrate Google Mock into your build system." + false + +install-data-local: + echo "'make install' is dangerous and not supported. Instead, see README for how to integrate Google Mock into your build system." + false diff --git a/gmock/configure.ac b/gmock/configure.ac new file mode 100644 index 0000000..8709fe2 --- /dev/null +++ b/gmock/configure.ac @@ -0,0 +1,113 @@ +AC_INIT([Google C++ Mocking Framework], + [1.7.0], + [googlemock@googlegroups.com], + [gmock]) + +# Provide various options to initialize the Autoconf and configure processes. +AC_PREREQ([2.59]) +AC_CONFIG_MACRO_DIR([m4]) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_HEADERS([build-aux/config.h]) +AC_CONFIG_FILES([Makefile]) +#AC_CONFIG_FILES([scripts/gmock-config], [chmod +x scripts/gmock-config]) + +# Initialize Automake with various options. We require at least v1.9, prevent +# pedantic complaints about package files, and enable various distribution +# targets. +AM_INIT_AUTOMAKE([1.9 dist-bzip2 dist-zip foreign subdir-objects]) + +# Check for programs used in building Google Test. +AC_PROG_CC +AC_PROG_CXX +AC_LANG([C++]) +AC_PROG_LIBTOOL + +PTHREAD_LIBS="" +AC_CHECK_LIB(pthread, pthread_create, [ + PTHREAD_LIBS="-lpthread" + have_pthreads="yes" +]) + +AM_CONDITIONAL([HAVE_PTHREADS],[test "x$have_pthreads" == "xyes"]) +AC_SUBST(PTHREAD_CFLAGS) +AC_SUBST(PTHREAD_LIBS) + +# GoogleMock currently has hard dependencies upon GoogleTest above and beyond +# running its own test suite, so we both provide our own version in +# a subdirectory and provide some logic to use a custom version or a system +# installed version. +AC_ARG_WITH([gtest], + [AS_HELP_STRING([--with-gtest], + [Specifies how to find the gtest package. If no + arguments are given, the default behavior, a + system installed gtest will be used if present, + and an internal version built otherwise. If a + path is provided, the gtest built or installed at + that prefix will be used.])], + [], + [with_gtest=yes]) +AC_ARG_ENABLE([external-gtest], + [AS_HELP_STRING([--disable-external-gtest], + [Disables any detection or use of a system + installed or user provided gtest. Any option to + '--with-gtest' is ignored. (Default is enabled.)]) + ], [], [enable_external_gtest=yes]) + +# Setup various GTEST variables. TODO(chandlerc@google.com): When these are +# used below, they should be used such that any pre-existing values always +# trump values we set them to, so that they can be used to selectively override +# details of the detection process. +AC_ARG_VAR([GTEST_CONFIG], + [The exact path of Google Test's 'gtest-config' script.]) +AC_ARG_VAR([GTEST_CPPFLAGS], + [C-like preprocessor flags for Google Test.]) +AC_ARG_VAR([GTEST_CXXFLAGS], + [C++ compile flags for Google Test.]) +AC_ARG_VAR([GTEST_LDFLAGS], + [Linker path and option flags for Google Test.]) +AC_ARG_VAR([GTEST_LIBS], + [Library linking flags for Google Test.]) +AC_ARG_VAR([GTEST_VERSION], + [The version of Google Test available.]) +HAVE_BUILT_GTEST="no" + +GTEST_MIN_VERSION="1.7.0" + +AS_IF([test "x${enable_external_gtest}" = "xyes"], + [# Begin filling in variables as we are able. + AS_IF([test "x${with_gtest}" != "xyes"], + [AS_IF([test -x "${with_gtest}/scripts/gtest-config"], + [GTEST_CONFIG="${with_gtest}/scripts/gtest-config"], + [GTEST_CONFIG="${with_gtest}/bin/gtest-config"]) + AS_IF([test -x "${GTEST_CONFIG}"], [], + [AC_MSG_ERROR([dnl +Unable to locate either a built or installed Google Test at '${with_gtest}'.]) + ])]) + + AS_IF([test -x "${GTEST_CONFIG}"], [], + [AC_PATH_PROG([GTEST_CONFIG], [gtest-config])]) + AS_IF([test -x "${GTEST_CONFIG}"], + [AC_MSG_CHECKING([for Google Test version >= ${GTEST_MIN_VERSION}]) + AS_IF([${GTEST_CONFIG} --min-version=${GTEST_MIN_VERSION}], + [AC_MSG_RESULT([yes]) + HAVE_BUILT_GTEST="yes"], + [AC_MSG_RESULT([no])])])]) + +AS_IF([test "x${HAVE_BUILT_GTEST}" = "xyes"], + [GTEST_CPPFLAGS=`${GTEST_CONFIG} --cppflags` + GTEST_CXXFLAGS=`${GTEST_CONFIG} --cxxflags` + GTEST_LDFLAGS=`${GTEST_CONFIG} --ldflags` + GTEST_LIBS=`${GTEST_CONFIG} --libs` + GTEST_VERSION=`${GTEST_CONFIG} --version`], + [AC_CONFIG_SUBDIRS([gtest]) + # GTEST_CONFIG needs to be executable both in a Makefile environmont and + # in a shell script environment, so resolve an absolute path for it here. + GTEST_CONFIG="`pwd -P`/gtest/scripts/gtest-config" + GTEST_CPPFLAGS='-I$(top_srcdir)/gtest/include' + GTEST_CXXFLAGS='-g' + GTEST_LDFLAGS='' + GTEST_LIBS='$(top_builddir)/gtest/lib/libgtest.la' + GTEST_VERSION="${GTEST_MIN_VERSION}"]) + +# Output the generated files. No further autoconf macros may be used. +AC_OUTPUT diff --git a/gmock/gtest/Makefile.am b/gmock/gtest/Makefile.am new file mode 100644 index 0000000..42e16b6 --- /dev/null +++ b/gmock/gtest/Makefile.am @@ -0,0 +1,246 @@ +# Automake file + +ACLOCAL_AMFLAGS = -I m4 + +# Nonstandard package files for distribution +EXTRA_DIST = \ + include/gtest/gtest-param-test.h.pump \ + include/gtest/internal/gtest-param-util-generated.h.pump \ + include/gtest/internal/gtest-tuple.h.pump \ + include/gtest/internal/gtest-type-util.h.pump \ + make/Makefile \ + scripts/fuse_gtest_files.py \ + scripts/gen_gtest_pred_impl.py \ + scripts/pump.py \ + scripts/test/Makefile + +# gtest source files that we don't compile directly. They are +# #included by gtest-all.cc. +GTEST_SRC = \ + src/gtest-death-test.cc \ + src/gtest-filepath.cc \ + src/gtest-internal-inl.h \ + src/gtest-port.cc \ + src/gtest-printers.cc \ + src/gtest-test-part.cc \ + src/gtest-typed-test.cc \ + src/gtest.cc + +EXTRA_DIST += $(GTEST_SRC) + +# Sample files that we don't compile. +EXTRA_DIST += \ + samples/prime_tables.h \ + samples/sample2_unittest.cc \ + samples/sample3_unittest.cc \ + samples/sample4_unittest.cc \ + samples/sample5_unittest.cc \ + samples/sample6_unittest.cc \ + samples/sample7_unittest.cc \ + samples/sample8_unittest.cc \ + samples/sample9_unittest.cc + +# C++ test files that we don't compile directly. +EXTRA_DIST += \ + test/gtest-death-test_ex_test.cc \ + test/gtest-death-test_test.cc \ + test/gtest-filepath_test.cc \ + test/gtest-linked_ptr_test.cc \ + test/gtest-listener_test.cc \ + test/gtest-message_test.cc \ + test/gtest-options_test.cc \ + test/gtest-param-test2_test.cc \ + test/gtest-param-test2_test.cc \ + test/gtest-param-test_test.cc \ + test/gtest-param-test_test.cc \ + test/gtest-param-test_test.h \ + test/gtest-port_test.cc \ + test/gtest_premature_exit_test.cc \ + test/gtest-printers_test.cc \ + test/gtest-test-part_test.cc \ + test/gtest-tuple_test.cc \ + test/gtest-typed-test2_test.cc \ + test/gtest-typed-test_test.cc \ + test/gtest-typed-test_test.h \ + test/gtest-unittest-api_test.cc \ + test/gtest_break_on_failure_unittest_.cc \ + test/gtest_catch_exceptions_test_.cc \ + test/gtest_color_test_.cc \ + test/gtest_env_var_test_.cc \ + test/gtest_environment_test.cc \ + test/gtest_filter_unittest_.cc \ + test/gtest_help_test_.cc \ + test/gtest_list_tests_unittest_.cc \ + test/gtest_main_unittest.cc \ + test/gtest_no_test_unittest.cc \ + test/gtest_output_test_.cc \ + test/gtest_pred_impl_unittest.cc \ + test/gtest_prod_test.cc \ + test/gtest_repeat_test.cc \ + test/gtest_shuffle_test_.cc \ + test/gtest_sole_header_test.cc \ + test/gtest_stress_test.cc \ + test/gtest_throw_on_failure_ex_test.cc \ + test/gtest_throw_on_failure_test_.cc \ + test/gtest_uninitialized_test_.cc \ + test/gtest_unittest.cc \ + test/gtest_unittest.cc \ + test/gtest_xml_outfile1_test_.cc \ + test/gtest_xml_outfile2_test_.cc \ + test/gtest_xml_output_unittest_.cc \ + test/production.cc \ + test/production.h + + +# CMake script +EXTRA_DIST += \ + CMakeLists.txt \ + cmake/internal_utils.cmake + +# xcode project files +EXTRA_DIST += \ + xcode/Config/DebugProject.xcconfig \ + xcode/Config/FrameworkTarget.xcconfig \ + xcode/Config/General.xcconfig \ + xcode/Config/ReleaseProject.xcconfig \ + xcode/Config/StaticLibraryTarget.xcconfig \ + xcode/Config/TestTarget.xcconfig \ + xcode/Resources/Info.plist \ + xcode/Scripts/runtests.sh \ + xcode/Scripts/versiongenerate.py \ + xcode/gtest.xcodeproj/project.pbxproj + +# xcode sample files +EXTRA_DIST += \ + xcode/Samples/FrameworkSample/Info.plist \ + xcode/Samples/FrameworkSample/WidgetFramework.xcodeproj/project.pbxproj \ + xcode/Samples/FrameworkSample/runtests.sh \ + xcode/Samples/FrameworkSample/widget.cc \ + xcode/Samples/FrameworkSample/widget.h \ + xcode/Samples/FrameworkSample/widget_test.cc + +# C++Builder project files +EXTRA_DIST += \ + codegear/gtest.cbproj \ + codegear/gtest.groupproj \ + codegear/gtest_all.cc \ + codegear/gtest_link.cc \ + codegear/gtest_main.cbproj \ + codegear/gtest_unittest.cbproj + +# Distribute and install M4 macro +m4datadir = $(datadir)/aclocal +m4data_DATA = m4/gtest.m4 +EXTRA_DIST += $(m4data_DATA) + +# We define the global AM_CPPFLAGS as everything we compile includes from these +# directories. +AM_CPPFLAGS = -I$(srcdir) -I$(srcdir)/include + +# Modifies compiler and linker flags for pthreads compatibility. +if HAVE_PTHREADS + AM_CXXFLAGS = @PTHREAD_CFLAGS@ -DGTEST_HAS_PTHREAD=1 + AM_LIBS = @PTHREAD_LIBS@ +else + AM_CXXFLAGS = -DGTEST_HAS_PTHREAD=0 +endif + +# Build rules for libraries. +lib_LTLIBRARIES = lib/libgtest.la lib/libgtest_main.la + +lib_libgtest_la_SOURCES = src/gtest-all.cc + +pkginclude_HEADERS = \ + /usr/include/gtest/gtest-death-test.h \ + /usr/include/gtest/gtest-message.h \ + /usr/include/gtest/gtest-param-test.h \ + /usr/include/gtest/gtest-printers.h \ + /usr/include/gtest/gtest-spi.h \ + /usr/include/gtest/gtest-test-part.h \ + /usr/include/gtest/gtest-typed-test.h \ + /usr/include/gtest/gtest.h \ + /usr/include/gtest/gtest_pred_impl.h \ + /usr/include/gtest/gtest_prod.h + +pkginclude_internaldir = $(pkgincludedir)/internal +pkginclude_internal_HEADERS = \ + /usr/include/gtest/internal/gtest-death-test-internal.h \ + /usr/include/gtest/internal/gtest-filepath.h \ + /usr/include/gtest/internal/gtest-internal.h \ + /usr/include/gtest/internal/gtest-linked_ptr.h \ + /usr/include/gtest/internal/gtest-param-util-generated.h \ + /usr/include/gtest/internal/gtest-param-util.h \ + /usr/include/gtest/internal/gtest-port.h \ + /usr/include/gtest/internal/gtest-string.h \ + /usr/include/gtest/internal/gtest-tuple.h \ + /usr/include/gtest/internal/gtest-type-util.h + +lib_libgtest_main_la_SOURCES = src/gtest_main.cc +lib_libgtest_main_la_LIBADD = lib/libgtest.la + +# Bulid rules for samples and tests. Automake's naming for some of +# these variables isn't terribly obvious, so this is a brief +# reference: +# +# TESTS -- Programs run automatically by "make check" +# check_PROGRAMS -- Programs built by "make check" but not necessarily run + +noinst_LTLIBRARIES = samples/libsamples.la + +samples_libsamples_la_SOURCES = \ + samples/sample1.cc \ + samples/sample1.h \ + samples/sample2.cc \ + samples/sample2.h \ + samples/sample3-inl.h \ + samples/sample4.cc \ + samples/sample4.h + +TESTS= +TESTS_ENVIRONMENT = GTEST_SOURCE_DIR="$(srcdir)/test" \ + GTEST_BUILD_DIR="$(top_builddir)/test" +check_PROGRAMS= + +# A simple sample on using gtest. +TESTS += samples/sample1_unittest +check_PROGRAMS += samples/sample1_unittest +samples_sample1_unittest_SOURCES = samples/sample1_unittest.cc +samples_sample1_unittest_LDADD = lib/libgtest_main.la \ + lib/libgtest.la \ + samples/libsamples.la + +# Another sample. It also verifies that libgtest works. +TESTS += samples/sample10_unittest +check_PROGRAMS += samples/sample10_unittest +samples_sample10_unittest_SOURCES = samples/sample10_unittest.cc +samples_sample10_unittest_LDADD = lib/libgtest.la + +# This tests most constructs of gtest and verifies that libgtest_main +# and libgtest work. +TESTS += test/gtest_all_test +check_PROGRAMS += test/gtest_all_test +test_gtest_all_test_SOURCES = test/gtest_all_test.cc +test_gtest_all_test_LDADD = lib/libgtest_main.la \ + lib/libgtest.la + +# Tests that fused gtest files compile and work. +FUSED_GTEST_SRC = \ + fused-src/gtest/gtest-all.cc \ + fused-src/gtest/gtest.h \ + fused-src/gtest/gtest_main.cc + +# Death tests may produce core dumps in the build directory. In case +# this happens, clean them to keep distcleancheck happy. +CLEANFILES = core + +# Disables 'make install' as installing a compiled version of Google +# Test can lead to undefined behavior due to violation of the +# One-Definition Rule. + +install-exec-local: + echo "'make install' is dangerous and not supported. Instead, see README for how to integrate Google Test into your build system." + false + +install-data-local: + echo "'make install' is dangerous and not supported. Instead, see README for how to integrate Google Test into your build system." + false diff --git a/gmock/gtest/configure.ac b/gmock/gtest/configure.ac new file mode 100644 index 0000000..39918fb --- /dev/null +++ b/gmock/gtest/configure.ac @@ -0,0 +1,35 @@ +AC_INIT([Google C++ Testing Framework], + [1.7.0], + [googletestframework@googlegroups.com], + [gtest]) + +# Provide various options to initialize the Autoconf and configure processes. +AC_PREREQ([2.59]) +AC_CONFIG_MACRO_DIR([m4]) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_HEADERS([build-aux/config.h]) +AC_CONFIG_FILES([Makefile]) + +# Initialize Automake with various options. We require at least v1.9, prevent +# pedantic complaints about package files, and enable various distribution +# targets. +AM_INIT_AUTOMAKE([1.9 dist-bzip2 dist-zip foreign subdir-objects]) + +# Check for programs used in building Google Test. +AC_PROG_CC +AC_PROG_CXX +AC_LANG([C++]) +AC_PROG_LIBTOOL + +PTHREAD_LIBS="" +AC_CHECK_LIB(pthread, pthread_create, [ + PTHREAD_LIBS="-lpthread" + have_pthreads="yes" +]) + +AM_CONDITIONAL([HAVE_PTHREADS],[test "x$have_pthreads" = "xyes"]) +AC_SUBST(PTHREAD_CFLAGS) +AC_SUBST(PTHREAD_LIBS) + +# Output the generated files. No further autoconf macros may be used. +AC_OUTPUT diff --git a/java-build.xml b/java-build.xml new file mode 100644 index 0000000..c8bc4d7 --- /dev/null +++ b/java-build.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/libprotobuf-dev.dirs b/libprotobuf-dev.dirs new file mode 100644 index 0000000..7276ecd --- /dev/null +++ b/libprotobuf-dev.dirs @@ -0,0 +1 @@ +usr/share/doc diff --git a/libprotobuf-dev.install b/libprotobuf-dev.install new file mode 100644 index 0000000..ad15927 --- /dev/null +++ b/libprotobuf-dev.install @@ -0,0 +1,6 @@ +usr/lib/*/libprotobuf.a +usr/lib/*/libprotobuf-lite.a +usr/lib/*/libprotobuf.so +usr/lib/*/libprotobuf-lite.so +usr/lib/*/pkgconfig/* +usr/include diff --git a/libprotobuf-java.poms b/libprotobuf-java.poms new file mode 100644 index 0000000..c13a2b2 --- /dev/null +++ b/libprotobuf-java.poms @@ -0,0 +1 @@ +java/core/pom.xml --artifact=java/core/target/protobuf.jar --java-lib --no-parent --usj-name=protobuf diff --git a/libprotobuf-lite17.install b/libprotobuf-lite17.install new file mode 100644 index 0000000..45e0054 --- /dev/null +++ b/libprotobuf-lite17.install @@ -0,0 +1 @@ +usr/lib/*/libprotobuf-lite.so.* diff --git a/libprotobuf17.install b/libprotobuf17.install new file mode 100644 index 0000000..9ac8d24 --- /dev/null +++ b/libprotobuf17.install @@ -0,0 +1 @@ +usr/lib/*/libprotobuf.so.* diff --git a/libprotoc-dev.dirs b/libprotoc-dev.dirs new file mode 100644 index 0000000..7276ecd --- /dev/null +++ b/libprotoc-dev.dirs @@ -0,0 +1 @@ +usr/share/doc diff --git a/libprotoc-dev.install b/libprotoc-dev.install new file mode 100644 index 0000000..c463a30 --- /dev/null +++ b/libprotoc-dev.install @@ -0,0 +1,3 @@ +usr/lib/*/libprotoc.a +usr/lib/*/libprotoc.so +usr/include/google/protobuf/compiler diff --git a/libprotoc17.install b/libprotoc17.install new file mode 100644 index 0000000..a280133 --- /dev/null +++ b/libprotoc17.install @@ -0,0 +1 @@ +usr/lib/*/libprotoc*.so.* diff --git a/patches/Add_Python_3.7_compatibility.patch b/patches/Add_Python_3.7_compatibility.patch new file mode 100644 index 0000000..a84fa69 --- /dev/null +++ b/patches/Add_Python_3.7_compatibility.patch @@ -0,0 +1,70 @@ +From 5c42943e75231b79f4ffcc37a22f0077a2fb0e7d Mon Sep 17 00:00:00 2001 +From: Ben Webb +Date: Tue, 3 Jul 2018 09:51:09 -0700 +Subject: [PATCH] Add Python 3.7 compatibility + +Compilation of Python wrappers fails with Python 3.7 because +the Python folks changed their C API such that +PyUnicode_AsUTF8AndSize() now returns a const char* rather +than a char*. Add a patch to work around. Relates #4086. +--- + python/google/protobuf/pyext/descriptor.cc | 2 +- + python/google/protobuf/pyext/descriptor_containers.cc | 2 +- + python/google/protobuf/pyext/descriptor_pool.cc | 2 +- + python/google/protobuf/pyext/extension_dict.cc | 2 +- + python/google/protobuf/pyext/message.cc | 4 ++-- + 5 files changed, 6 insertions(+), 6 deletions(-) + +--- a/python/google/protobuf/pyext/descriptor.cc ++++ b/python/google/protobuf/pyext/descriptor.cc +@@ -56,7 +56,7 @@ + #endif + #define PyString_AsStringAndSize(ob, charpp, sizep) \ + (PyUnicode_Check(ob)? \ +- ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \ ++ ((*(charpp) = const_cast(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \ + PyBytes_AsStringAndSize(ob, (charpp), (sizep))) + #endif + +--- a/python/google/protobuf/pyext/descriptor_containers.cc ++++ b/python/google/protobuf/pyext/descriptor_containers.cc +@@ -66,7 +66,7 @@ + #endif + #define PyString_AsStringAndSize(ob, charpp, sizep) \ + (PyUnicode_Check(ob)? \ +- ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \ ++ ((*(charpp) = const_cast(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \ + PyBytes_AsStringAndSize(ob, (charpp), (sizep))) + #endif + +--- a/python/google/protobuf/pyext/descriptor_pool.cc ++++ b/python/google/protobuf/pyext/descriptor_pool.cc +@@ -48,7 +48,7 @@ + #endif + #define PyString_AsStringAndSize(ob, charpp, sizep) \ + (PyUnicode_Check(ob)? \ +- ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \ ++ ((*(charpp) = const_cast(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \ + PyBytes_AsStringAndSize(ob, (charpp), (sizep))) + #endif + +--- a/python/google/protobuf/pyext/message.cc ++++ b/python/google/protobuf/pyext/message.cc +@@ -79,7 +79,7 @@ + (PyUnicode_Check(ob)? PyUnicode_AsUTF8(ob): PyBytes_AsString(ob)) + #define PyString_AsStringAndSize(ob, charpp, sizep) \ + (PyUnicode_Check(ob)? \ +- ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \ ++ ((*(charpp) = const_cast(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \ + PyBytes_AsStringAndSize(ob, (charpp), (sizep))) + #endif + #endif +@@ -1529,7 +1529,7 @@ + return NULL; + } + #else +- field_name = PyUnicode_AsUTF8AndSize(arg, &size); ++ field_name = const_cast(PyUnicode_AsUTF8AndSize(arg, &size)); + if (!field_name) { + return NULL; + } diff --git a/patches/disable_local_gmock.patch b/patches/disable_local_gmock.patch new file mode 100644 index 0000000..6c78e60 --- /dev/null +++ b/patches/disable_local_gmock.patch @@ -0,0 +1,81 @@ +Description: use packaged Google Test and Google Mock libraries + Link tests with the already compiled libraries. +Forwarded: not-needed +Author: Laszlo Boszormenyi (GCS) +Last-Update: 2018-05-29 + +--- + +--- a/Makefile.am ++++ b/Makefile.am +@@ -17,9 +17,9 @@ DIST_SUBDIRS = src conformance benchmark + # want "make install" to recurse into gmock since we don't want to overwrite + # the installed version of gmock if there is one. + check-local: +- @echo "Making lib/libgmock.a lib/libgmock_main.a in gmock" +- @cd third_party/googletest/googletest && $(MAKE) $(AM_MAKEFLAGS) lib/libgtest.la lib/libgtest_main.la +- @cd third_party/googletest/googlemock && $(MAKE) $(AM_MAKEFLAGS) lib/libgmock.la lib/libgmock_main.la ++ @echo "NOT making lib/libgmock.a lib/libgmock_main.a in gmock" ++# @cd third_party/googletest/googletest && $(MAKE) $(AM_MAKEFLAGS) lib/libgtest.la lib/libgtest_main.la ++# @cd third_party/googletest/googlemock && $(MAKE) $(AM_MAKEFLAGS) lib/libgmock.la lib/libgmock_main.la + + # We would like to clean gmock when "make clean" is invoked. But we have to + # be careful because clean-local is also invoked during "make distclean", but +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -718,10 +718,8 @@ GOOGLEMOCK_SRC_DIR=$(srcdir)/../third_pa + check_PROGRAMS = protoc protobuf-test protobuf-lazy-descriptor-test \ + protobuf-lite-test test_plugin protobuf-lite-arena-test \ + no-warning-test $(GZCHECKPROGRAMS) +-protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \ +- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ +- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ +- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la ++protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la -lgtest \ ++ -lgmock -lgmock_main + protobuf_test_CPPFLAGS = -I$(GOOGLETEST_SRC_DIR)/include \ + -I$(GOOGLEMOCK_SRC_DIR)/include + # Disable optimization for tests unless the user explicitly asked for it, +@@ -810,10 +808,7 @@ $(am_protobuf_test_OBJECTS): unittest_pr + + # Run cpp_unittest again with PROTOBUF_TEST_NO_DESCRIPTORS defined. + protobuf_lazy_descriptor_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la \ +- libprotoc.la \ +- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ +- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ +- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la ++ libprotoc.la -lgtest -lgmock -lgmock_main + protobuf_lazy_descriptor_test_CPPFLAGS = -I$(GOOGLEMOCK_SRC_DIR)/include \ + -I$(GOOGLETEST_SRC_DIR)/include \ + -DPROTOBUF_TEST_NO_DESCRIPTORS +@@ -837,9 +832,7 @@ COMMON_LITE_TEST_SOURCES = + # full runtime and we want to make sure this test builds without full + # runtime. + protobuf_lite_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \ +- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ +- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ +- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la ++ -lgtest -lgmock -lgmock_main + protobuf_lite_test_CPPFLAGS= -I$(GOOGLEMOCK_SRC_DIR)/include \ + -I$(GOOGLETEST_SRC_DIR)/include + protobuf_lite_test_CXXFLAGS = $(NO_OPT_CXXFLAGS) +@@ -853,9 +846,7 @@ $(am_protobuf_lite_test_OBJECTS): unitte + # gtest when building the test internally our memory sanitizer doesn't detect + # memory leaks (don't know why). + protobuf_lite_arena_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \ +- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ +- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ +- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la ++ -lgtest -lgmock -lgmock_main + protobuf_lite_arena_test_CPPFLAGS = -I$(GOOGLEMOCK_SRC_DIR)/include \ + -I$(GOOGLETEST_SRC_DIR)/include + protobuf_lite_arena_test_CXXFLAGS = $(NO_OPT_CXXFLAGS) +@@ -867,7 +858,7 @@ $(am_protobuf_lite_arena_test_OBJECTS): + + # Test plugin binary. + test_plugin_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \ +- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la ++ -lgtest + test_plugin_CPPFLAGS = -I$(GOOGLETEST_SRC_DIR)/include + test_plugin_SOURCES = \ + google/protobuf/compiler/mock_code_generator.cc \ diff --git a/patches/fix_google_test_link.patch b/patches/fix_google_test_link.patch new file mode 100644 index 0000000..e6aaaf1 --- /dev/null +++ b/patches/fix_google_test_link.patch @@ -0,0 +1,54 @@ +Description: fix linking with recent Google's C++ test framework + Need to link with libgtest_main.a as well. +Author: Laszlo Boszormenyi (GCS) +Last-Update: 2018-10-11 + +--- + +--- protobuf-3.6.1.orig/src/Makefile.am ++++ protobuf-3.6.1/src/Makefile.am +@@ -700,7 +700,7 @@ check_PROGRAMS = protoc protobuf-test pr + protobuf-lite-test test_plugin protobuf-lite-arena-test \ + no-warning-test $(GZCHECKPROGRAMS) + protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la -lgtest \ +- -lgmock -lgmock_main ++ -lgtest_main -lgmock -lgmock_main + protobuf_test_CPPFLAGS = -I$(GOOGLETEST_SRC_DIR)/include \ + -I$(GOOGLEMOCK_SRC_DIR)/include + # Disable optimization for tests unless the user explicitly asked for it, +@@ -789,7 +789,7 @@ $(am_protobuf_test_OBJECTS): unittest_pr + + # Run cpp_unittest again with PROTOBUF_TEST_NO_DESCRIPTORS defined. + protobuf_lazy_descriptor_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la \ +- libprotoc.la -lgtest -lgmock -lgmock_main ++ libprotoc.la -lgtest -lgtest_main -lgmock -lgmock_main + protobuf_lazy_descriptor_test_CPPFLAGS = -I$(GOOGLEMOCK_SRC_DIR)/include \ + -I$(GOOGLETEST_SRC_DIR)/include \ + -DPROTOBUF_TEST_NO_DESCRIPTORS +@@ -813,7 +813,7 @@ COMMON_LITE_TEST_SOURCES = + # full runtime and we want to make sure this test builds without full + # runtime. + protobuf_lite_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \ +- -lgtest -lgmock -lgmock_main ++ -lgtest -lgtest_main -lgmock -lgmock_main + protobuf_lite_test_CPPFLAGS= -I$(GOOGLEMOCK_SRC_DIR)/include \ + -I$(GOOGLETEST_SRC_DIR)/include + protobuf_lite_test_CXXFLAGS = $(NO_OPT_CXXFLAGS) +@@ -827,7 +827,7 @@ $(am_protobuf_lite_test_OBJECTS): unitte + # gtest when building the test internally our memory sanitizer doesn't detect + # memory leaks (don't know why). + protobuf_lite_arena_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \ +- -lgtest -lgmock -lgmock_main ++ -lgtest -lgtest_main -lgmock -lgmock_main + protobuf_lite_arena_test_CPPFLAGS = -I$(GOOGLEMOCK_SRC_DIR)/include \ + -I$(GOOGLETEST_SRC_DIR)/include + protobuf_lite_arena_test_CXXFLAGS = $(NO_OPT_CXXFLAGS) +@@ -839,7 +839,7 @@ $(am_protobuf_lite_arena_test_OBJECTS): + + # Test plugin binary. + test_plugin_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \ +- -lgtest ++ -lgtest -lgtest_main + test_plugin_CPPFLAGS = -I$(GOOGLETEST_SRC_DIR)/include + test_plugin_SOURCES = \ + google/protobuf/compiler/mock_code_generator.cc \ diff --git a/patches/hurd.patch b/patches/hurd.patch new file mode 100644 index 0000000..846089a --- /dev/null +++ b/patches/hurd.patch @@ -0,0 +1,18 @@ +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=835267 +Bug-Upstream: https://github.com/google/protobuf/issues/2000 +Description: Add support for GNU/Hurd which doesn't define PATH_MAX. +Author: Bas Couwenberg +Last-Update: 2018-05-29 + +--- a/src/google/protobuf/compiler/command_line_interface.cc ++++ b/src/google/protobuf/compiler/command_line_interface.cc +@@ -56,6 +56,9 @@ + #include + + #include //For PATH_MAX ++#if defined(__GNU__) ++#define PATH_MAX 4096 ++#endif + + #include + diff --git a/patches/java-test-scope.patch b/patches/java-test-scope.patch new file mode 100644 index 0000000..42a0493 --- /dev/null +++ b/patches/java-test-scope.patch @@ -0,0 +1,27 @@ +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=835514 +Bug-Upstream: https://github.com/google/protobuf/issues/2019 +From: Markus Koschany +Description: set scope of "junit" and "easymock" to "test". + +--- a/java/core/pom.xml ++++ b/java/core/pom.xml +@@ -21,16 +21,19 @@ + + + junit + junit ++ test + + + org.easymock + easymock ++ test + + + org.easymock + easymockclassextension ++ test + + + + diff --git a/patches/misleading-indentation.patch b/patches/misleading-indentation.patch new file mode 100644 index 0000000..1ee4294 --- /dev/null +++ b/patches/misleading-indentation.patch @@ -0,0 +1,43 @@ +Last-Update: 2016-08-24 +Forwarded: no +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=835266 +Bug-Upstream: https://github.com/google/protobuf/issues/1797 +Bug-Upstream: https://github.com/google/protobuf/issues/1698 +Author: Bas Couwenberg +Description: Don't treat misleading-indentation warning as error, causes FTBFS. + +--- a/more_tests/Makefile ++++ b/more_tests/Makefile +@@ -36,6 +36,6 @@ + + header_warning_test: header_warning_test.cc + # TODO(kenton): Consider adding -pedantic and -Weffc++. Currently these + # produce tons of extra warnings so we'll need to do some work first. +- g++ -Itarget/include -Wall -Werror -Wsign-compare -O2 -c header_warning_test.cc ++ g++ -Itarget/include -Wall -Werror -Wno-error=misleading-indentation -Wsign-compare -O2 -c header_warning_test.cc + touch header_warning_test +--- a/python/setup.py ++++ b/python/setup.py +@@ -189,8 +189,9 @@ + extra_compile_args.append('-Wno-shorten-64-to-32') + + if warnings_as_errors in sys.argv: + extra_compile_args.append('-Werror') ++ extra_compile_args.append('-Wno-error=misleading-indentation') + sys.argv.remove(warnings_as_errors) + + # C++ implementation extension + ext_module_list.extend([ +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -851,9 +851,9 @@ + ../gmock/gtest/lib/libgtest.la \ + ../gmock/gtest/lib/libgtest_main.la + no_warning_test_CPPFLAGS = -I$(srcdir)/../gmock/gtest/include + no_warning_test_CXXFLAGS = $(PTHREAD_CFLAGS) $(PTHREAD_DEF) $(ZLIB_DEF) \ +- -Wall -Werror ++ -Wall -Werror -Wno-error=misleading-indentation + nodist_no_warning_test_SOURCES = no_warning_test.cc $(protoc_outputs) + + TESTS = protobuf-test protobuf-lazy-descriptor-test protobuf-lite-test \ + google/protobuf/compiler/zip_output_unittest.sh $(GZTESTS) \ diff --git a/patches/more_Python_3.7_compatibility.patch b/patches/more_Python_3.7_compatibility.patch new file mode 100644 index 0000000..03a7ee6 --- /dev/null +++ b/patches/more_Python_3.7_compatibility.patch @@ -0,0 +1,18 @@ +Description: more typecast fix for Python 3.7 + Add explicit typecast. +Author: Laszlo Boszormenyi (GCS) +Last-Update: 2018-08-14 + +--- + +--- protobuf-3.6.1.orig/python/google/protobuf/pyext/extension_dict.cc ++++ protobuf-3.6.1/python/google/protobuf/pyext/extension_dict.cc +@@ -53,7 +53,7 @@ + #endif + #define PyString_AsStringAndSize(ob, charpp, sizep) \ + (PyUnicode_Check(ob)? \ +- ((*(charpp) = PyUnicode_AsUTF8AndSize(ob, (sizep))) == NULL? -1: 0): \ ++ ((*(charpp) = const_cast(PyUnicode_AsUTF8AndSize(ob, (sizep)))) == NULL? -1: 0): \ + PyBytes_AsStringAndSize(ob, (charpp), (sizep))) + #endif + diff --git a/patches/s390x.patch b/patches/s390x.patch new file mode 100644 index 0000000..6f4dc3a --- /dev/null +++ b/patches/s390x.patch @@ -0,0 +1,25 @@ +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=835302 +Bug-Upstream: https://github.com/google/protobuf/issues/2002 +Origin: https://github.com/ibmruntimes/v8z +Author: Sebastiaan Couwenberg +Description: Add support for s390x architecture. + Based on port of Google V8 JavaScript engine to z Systems + +--- a/src/google/protobuf/stubs/platform_macros.h ++++ b/src/google/protobuf/stubs/platform_macros.h +@@ -78,8 +78,15 @@ + #define GOOGLE_PROTOBUF_ARCH_64_BIT 1 + #elif defined(__PPC__) + #define GOOGLE_PROTOBUF_ARCH_PPC 1 + #define GOOGLE_PROTOBUF_ARCH_32_BIT 1 ++#elif defined(__s390__) || defined(__s390x__) ++#define GOOGLE_PROTOBUF_ARCH_S390 1 ++#if defined(__s390x__) ++#define GOOGLE_PROTOBUF_ARCH_64_BIT 1 ++#else ++#define GOOGLE_PROTOBUF_ARCH_32_BIT 1 ++#endif + #elif defined(__GNUC__) + # if (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4)) + // We fallback to the generic Clang/GCC >= 4.7 implementation in atomicops.h + # elif defined(__clang__) diff --git a/patches/series b/patches/series new file mode 100644 index 0000000..06c051c --- /dev/null +++ b/patches/series @@ -0,0 +1,8 @@ +hurd.patch +#java-test-scope.patch +#misleading-indentation.patch +s390x.patch +disable_local_gmock.patch +Add_Python_3.7_compatibility.patch +more_Python_3.7_compatibility.patch +fix_google_test_link.patch diff --git a/protobuf-compiler.docs b/protobuf-compiler.docs new file mode 100644 index 0000000..d1a27a3 --- /dev/null +++ b/protobuf-compiler.docs @@ -0,0 +1,4 @@ +CONTRIBUTORS.txt +README.md +editors +examples diff --git a/protobuf-compiler.install b/protobuf-compiler.install new file mode 100644 index 0000000..e772481 --- /dev/null +++ b/protobuf-compiler.install @@ -0,0 +1 @@ +usr/bin diff --git a/protobuf-compiler.manpages b/protobuf-compiler.manpages new file mode 100644 index 0000000..f723754 --- /dev/null +++ b/protobuf-compiler.manpages @@ -0,0 +1 @@ +protoc.1 diff --git a/protoc.xml b/protoc.xml new file mode 100644 index 0000000..b9124a6 --- /dev/null +++ b/protoc.xml @@ -0,0 +1,223 @@ + +.
will be generated. You may view the +manual page with: nroff -man .
| less'. A typical entry +in a Makefile or Makefile.am is: + +DB2MAN = /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl +XP = xsltproc -nonet -param man.charmap.use.subset "0" + +manpage.1: manpage.xml + $(XP) $(DB2MAN) $< + +The xsltproc binary is found in the xsltproc package. The XSL files are in +docbook-xsl. A description of the parameters you can use can be found in the +docbook-xsl-doc-* packages. Please remember that if you create the nroff +version in one of the debian/rules file targets (such as build), you will need +to include xsltproc and docbook-xsl in your Build-Depends control field. +Alternatively use the xmlto command/package. That will also automatically +pull in xsltproc and docbook-xsl. + +Notes for using docbook2x: docbook2x-man does not automatically create the +AUTHOR(S) and COPYRIGHT sections. In this case, please add them manually as + ... . + +To disable the automatic creation of the AUTHOR(S) and COPYRIGHT sections +read /usr/share/doc/docbook-xsl/doc/manpages/authors.html. This file can be +found in the docbook-xsl-doc-html package. + +Validation can be done using: `xmllint -noout -valid manpage.xml` + +General documentation about man-pages and man-page-formatting: +man(1), man(7), http://www.tldp.org/HOWTO/Man-Page/ + +--> + + + + + + + + + + + + + +]> + + + + &dhtitle; + &dhucpackage; + + + &dhfirstname; + &dhsurname; + Wrote this manpage for the Debian system. +
+ &dhemail; +
+
+
+ + 2007 + &dhusername; + + + This manual page was written for the Debian system + (but may be used by others). + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU General Public License, + Version 2 or (at your option) any later version published by + the Free Software Foundation. + On Debian systems, the complete text of the GNU General Public + License can be found in + /usr/share/common-licenses/GPL. + + 2008-10-04 +
+ + &dhpackage; + &dhsection; + 2.0.2 + + + &dhpackage; + compile protocol buffer description files + + + + &dhpackage; + + + + + + + + + + + + PROTO_FILE + + + + &dhpackage; + + + + + + + &dhpackage; + + + + + DESCRIPTION + + &dhpackage; is a compiler for protocol + buffers definitions files. It can can generate C++, Java and + Python source code for the classes defined in + PROTO_FILE. + + + + + OPTIONS + + + + + + + Specify the directory in which to search for imports. + May be specified multiple times; directories will be + searched in order. If not given, the current working + directory is used. + + + + + + Enable generation of C++ bindings and store them in + OUT_DIR. + + + + + + Enable generation of Java bindings and store them + in OUT_DIR. + + + + + + Enable generation of Python bindings and store them + in OUT_DIR. + + + + + + + Show summary of options. + + + + + + Show version of program. + + + + + Note that at least one of the , + and + options must be given (otherwise the program has nothing to + do). It's also possible to specify more than one. + + + + + BUGS + + The program currently exits with code 255 for all errors, + which makes it hard to differentiante from scripts the actual + error. + + The upstreams BTS can be found at . + + + + SEE ALSO + + More documentation about protocol buffers syntax and APIs is + available online at . + + + +
diff --git a/python-protobuf.README.Debian b/python-protobuf.README.Debian new file mode 100644 index 0000000..61d0c1b --- /dev/null +++ b/python-protobuf.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 Thu, 28 Aug 2014 21:10:30 -0700 diff --git a/python-protobuf3.README.Debian b/python-protobuf3.README.Debian new file mode 100644 index 0000000..61d0c1b --- /dev/null +++ b/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 Thu, 28 Aug 2014 21:10:30 -0700 diff --git a/ruby-google-protobuf.docs b/ruby-google-protobuf.docs new file mode 100644 index 0000000..10ecf03 --- /dev/null +++ b/ruby-google-protobuf.docs @@ -0,0 +1 @@ +ruby/README.md diff --git a/rules b/rules new file mode 100755 index 0000000..3badb3c --- /dev/null +++ b/rules @@ -0,0 +1,164 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +include /usr/share/dpkg/architecture.mk +ifeq ($(origin CXX),default) +CXX := $(DEB_HOST_GNU_TYPE)-g++ +endif + +export DH_RUBY = --gem-install +export DH_RUBY_USE_DH_AUTO_INSTALL_DESTDIR = debian/ruby-google-protobuf +export GEM2DEB_TEST_RUNNER = --check-dependencies + +ifneq (,$(findstring $(DEB_BUILD_ARCH), armel m68k mips mipsel powerpc powerpcspe sh4)) +export DEB_LDFLAGS_MAINT_APPEND = -latomic +endif + +%: + dh $@ --with autoreconf,python2,python3 + +ifneq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) +override_dh_auto_configure: + # build for the native (i.e. build) architecture, as we need + # the protoc compiler for the native arch. + dh_auto_configure -- --host=$(DEB_BUILD_GNU_TYPE) + +PYTHON_CROSS_VARS += PROTOC=$(CURDIR)/debian/run_protoc +PYTHON_CROSS_VARS += PYTHONPATH=/usr/lib/python$$pv/plat-$(DEB_HOST_MULTIARCH) +PYTHON_CROSS_VARS += _PYTHON_HOST_PLATFORM=$(DEB_HOST_ARCH_OS)-$(DEB_HOST_GNU_CPU) +PYTHON_CROSS_VARS += CC=$(CXX) +PYTHON_CROSS_VARS += CXX=$(CXX) +endif + +override_dh_auto_build-arch: +## Chicken<->Egg problem: protobuf requires self-generated .pb.go files to +## be built. First we build it normally; then "generate_descriptor_proto.sh" +## generates .pb.go files and replaces 'em if they are different as well as +## invokes "make protoc" which re-builds "src/protoc" if required. + dh_auto_build --arch + bash -x ./generate_descriptor_proto.sh + +ifneq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) + # save the native compiler + cp -Rv src/.libs debian/native_protoc + # clean everything but regenerated .pb.{cc,go} files + $(MAKE) clean + # cross build + dh_auto_configure -- --with-protoc=$(CURDIR)/debian/run_protoc + dh_auto_build --arch +endif + + # Generate the manpage. + xmlto man debian/protoc.xml + + # Python and Python3 build. + cp -rv python python3 + set -e; cd python && for pv in $(shell pyversions -vr); do \ + $(PYTHON_CROSS_VARS) python$$pv setup.py build --cpp_implementation; \ + done + set -e; cd python3 && for pv in $(shell py3versions -vr); do \ + $(PYTHON_CROSS_VARS) python$$pv setup.py build --cpp_implementation; \ + done + + # Ruby build + cd ruby && rake package genproto + +override_dh_auto_build-indep: + dh_auto_build --indep + + # Java build. + ant -f debian/java-build.xml jar + +override_dh_clean: + $(RM) -rv gmock + cd ruby && rake clobber + dh_clean + $(RM) -f config.h config.log config.status + $(RM) -f *.pc + $(RM) -f google-protobuf.gemspec + $(RM) -f libtool stamp-h1 + find $(CURDIR) -name Makefile -delete + +override_dh_auto_test-arch: + dh_auto_test --arch + +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; \ + 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 + +override_dh_auto_test-indep: + : + +override_dh_auto_clean-arch: + dh_auto_clean --arch + + # Python clean. + set -e; \ + cd python && for python in $(shell pyversions -r); do \ + $$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 + + # Java clean. + ant -f debian/java-build.xml clean || true + mh_clean || true + +override_dh_auto_install-arch: + dh_auto_install --arch + + # Python install. + set -e; \ + cd python && for pv in $(shell pyversions -vr); do \ + $(PYTHON_CROSS_VARS) python$$pv setup.py install --cpp_implementation \ + --install-layout=deb --no-compile \ + --root=$(CURDIR)/debian/python-protobuf; \ + done + find $(CURDIR)/debian/python-protobuf -name 'protobuf-*-nspkg.pth' -delete + + # Python3 install. + set -e; \ + cd python3 && for pv in $(shell py3versions -vr); do \ + $(PYTHON_CROSS_VARS) python$$pv 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 + + # Ruby install + sed 's|ext/|ruby/ext/|' $(CURDIR)/ruby/google-protobuf.gemspec \ + >$(CURDIR)/google-protobuf.gemspec + dh_auto_install -O--buildsystem=ruby -O--package=ruby-google-protobuf --destdir=debian/ruby-google-protobuf + +override_dh_auto_install-indep: + dh_auto_install --indep + + # Java install. + mh_install + +override_dh_install-arch: + dh_install --arch + + # Convert doc dir to symlink for the -dev packages. + rm -rf $(CURDIR)/debian/libprotobuf-dev/usr/share/doc/libprotobuf-dev + ln -s libprotobuf17 $(CURDIR)/debian/libprotobuf-dev/usr/share/doc/libprotobuf-dev + rm -rf $(CURDIR)/debian/libprotoc-dev/usr/share/doc/libprotoc-dev + ln -s libprotoc17 $(CURDIR)/debian/libprotoc-dev/usr/share/doc/libprotoc-dev + + # Remove compiler headers from libprotobuf-dev. + rm -rf $(CURDIR)/debian/libprotobuf-dev/usr/include/google/protobuf/compiler diff --git a/run_protoc b/run_protoc new file mode 100755 index 0000000..c559a40 --- /dev/null +++ b/run_protoc @@ -0,0 +1,5 @@ +#!/bin/sh +# see debian/rules for how debian/native_protoc gets populated during cross builds +location=$(dirname "$0") +export LD_LIBRARY_PATH="$location/native_protoc${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" +exec "$location/native_protoc/protoc" "$@" diff --git a/source/format b/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/tests/control b/tests/control new file mode 100644 index 0000000..c253274 --- /dev/null +++ b/tests/control @@ -0,0 +1,3 @@ +Tests: simple +Depends: @, make, python, pkg-config, zlib1g-dev, build-essential, default-jdk +Restrictions: allow-stderr diff --git a/tests/simple b/tests/simple new file mode 100755 index 0000000..5506ce8 --- /dev/null +++ b/tests/simple @@ -0,0 +1,60 @@ +#!/bin/sh + +# Script to automate running the provided example programs to test all +# language binding (cpp, python, java) + +set -e + +cp -a examples $ADTTMP + +cd $ADTTMP/examples + +export CLASSPATH=/usr/share/java/protobuf.jar + +echo "*** Building example programs" + +make + +echo "*** Adding via cpp" +./add_person_cpp TEST_FILE << EOF +1 +Person One + + +EOF + +echo "*** Adding via python" + +./add_person_python TEST_FILE << EOF +2 +Person Two +two@example.net + +EOF + +echo "*** Adding via java" + +./add_person_java TEST_FILE << EOF +3 +Person Three + +555-1234 +work + +EOF + + + +for kind in cpp python java; do + echo "*** Listing via $kind" + ./list_people_$kind TEST_FILE +done + +for kind in cpp python java; do + echo "*** Checking listing via $kind" + ./list_people_$kind TEST_FILE|grep "Name: Person One" + ./list_people_$kind TEST_FILE|grep "Name: Person Two" + ./list_people_$kind TEST_FILE|grep "E-mail address: two@example.net" + ./list_people_$kind TEST_FILE|grep "Name: Person Three" + ./list_people_$kind TEST_FILE|grep "Work phone #: 555-1234" +done diff --git a/watch b/watch new file mode 100644 index 0000000..16f0698 --- /dev/null +++ b/watch @@ -0,0 +1,4 @@ +version=4 +opts=uversionmangle=s/-?(beta)-?/~$1/;s/-?(alpha)-?/~$1/;s/-?(rc)-?/~rc/ \ +https://github.com/google/protobuf/releases \ +.*[^n]/(?:|v|version-|version|release-|r|REL_|rel-|protobuf(?:_|-))(\d[^\s/]*)\.(?:tar\.xz|txz|tar\.bz2|tbz2|tar\.gz|tgz)