Import protobuf_3.6.1-4.debian.tar.xz
authorLaszlo Boszormenyi (GCS) <gcs@debian.org>
Tue, 23 Oct 2018 14:33:32 +0000 (15:33 +0100)
committerLaszlo Boszormenyi (GCS) <gcs@debian.org>
Tue, 23 Oct 2018 14:33:32 +0000 (15:33 +0100)
[dgit import tarball protobuf 3.6.1-4 protobuf_3.6.1-4.debian.tar.xz]

41 files changed:
changelog [new file with mode: 0644]
clean [new file with mode: 0644]
compat [new file with mode: 0644]
control [new file with mode: 0644]
copyright [new file with mode: 0644]
gbp.conf [new file with mode: 0644]
gmock/Makefile.am [new file with mode: 0644]
gmock/configure.ac [new file with mode: 0644]
gmock/gtest/Makefile.am [new file with mode: 0644]
gmock/gtest/configure.ac [new file with mode: 0644]
java-build.xml [new file with mode: 0644]
libprotobuf-dev.dirs [new file with mode: 0644]
libprotobuf-dev.install [new file with mode: 0644]
libprotobuf-java.poms [new file with mode: 0644]
libprotobuf-lite17.install [new file with mode: 0644]
libprotobuf17.install [new file with mode: 0644]
libprotoc-dev.dirs [new file with mode: 0644]
libprotoc-dev.install [new file with mode: 0644]
libprotoc17.install [new file with mode: 0644]
patches/Add_Python_3.7_compatibility.patch [new file with mode: 0644]
patches/disable_local_gmock.patch [new file with mode: 0644]
patches/fix_google_test_link.patch [new file with mode: 0644]
patches/hurd.patch [new file with mode: 0644]
patches/java-test-scope.patch [new file with mode: 0644]
patches/misleading-indentation.patch [new file with mode: 0644]
patches/more_Python_3.7_compatibility.patch [new file with mode: 0644]
patches/s390x.patch [new file with mode: 0644]
patches/series [new file with mode: 0644]
protobuf-compiler.docs [new file with mode: 0644]
protobuf-compiler.install [new file with mode: 0644]
protobuf-compiler.manpages [new file with mode: 0644]
protoc.xml [new file with mode: 0644]
python-protobuf.README.Debian [new file with mode: 0644]
python-protobuf3.README.Debian [new file with mode: 0644]
ruby-google-protobuf.docs [new file with mode: 0644]
rules [new file with mode: 0755]
run_protoc [new file with mode: 0755]
source/format [new file with mode: 0644]
tests/control [new file with mode: 0644]
tests/simple [new file with mode: 0755]
watch [new file with mode: 0644]

diff --git a/changelog b/changelog
new file mode 100644 (file)
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) <gcs@debian.org>  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) <gcs@debian.org>  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) <gcs@debian.org>  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 <michael.hudson@canonical.com> ]
+  * Backport patch to fix FTBFS with Python 3.7 (closes: #902597).
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  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) <gcs@debian.org>  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) <gcs@debian.org>  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) <gcs@debian.org>  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) <gcs@debian.org>  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) <gcs@debian.org>  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) <gcs@debian.org>  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 <mattia@debian.org>  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) <gcs@debian.org>  Fri, 25 Nov 2016 16:11:01 +0000
+
+protobuf (3.0.0-8) unstable; urgency=medium
+
+  [ Zhou Mo <cdluminate@gmail.com> ]
+  * 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 <bartm@debian.org> ]
+  * Generalize watch file.
+
+ -- Laszlo Boszormenyi (GCS) <gcs@debian.org>  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 <onlyjob@debian.org>  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 <onlyjob@debian.org>  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 <onlyjob@debian.org>  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 <onlyjob@debian.org>  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 <onlyjob@debian.org>  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 <onlyjob@debian.org>  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 <onlyjob@debian.org>  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 <iustin@debian.org>  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 <smcv@debian.org>  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 <doko@debian.org>  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 <doko@debian.org>  Tue, 04 Aug 2015 20:33:36 +0200
+
+protobuf (2.6.1-1) unstable; urgency=medium
+
+  * New upstream release.
+
+ -- Robert Edmonds <edmonds@debian.org>  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 <edmonds@debian.org>  Mon, 22 Sep 2014 16:52:50 -0400
+
+protobuf (2.6.0-3) unstable; urgency=medium
+
+  * Upload to unstable.
+
+ -- Robert S. Edmonds <edmonds@debian.org>  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 <edmonds@debian.org>  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 <edmonds@debian.org>  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 <edmonds@debian.org>  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 <edmonds@debian.org>  Mon, 03 Feb 2014 19:42:23 -0500
+
+protobuf (2.5.0-7) unstable; urgency=medium
+
+  * Upload to unstable.
+  * Closes: #736801.
+
+ -- Robert S. Edmonds <edmonds@debian.org>  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 <edmonds@debian.org>  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 <edmonds@debian.org>  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 <edmonds@debian.org>  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 <edmonds@debian.org>  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 <edmonds@debian.org>  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 <edmonds@debian.org>  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 <iustin@debian.org>  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 <iustin@debian.org>  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 <iustin@debian.org>  Tue, 08 Nov 2011 07:56:58 +0900
+
+protobuf (2.4.0a-2) unstable; urgency=low
+
+  * Re-upload to unstable
+
+ -- Iustin Pop <iustin@debian.org>  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 <iustin@debian.org>  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 <iustin@debian.org>  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 <iustin@debian.org>  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 <iuculano@debian.org>  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 <iustin@debian.org>  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 <edmonds@debian.org>  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 <iusty@k1024.org>  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 <edd@debian.org>  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 <edd@debian.org>  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 <iusty@k1024.org>  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 <jcristau@debian.org>  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 <jcristau@debian.org>  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 <iusty@k1024.org>  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 <twerner@debian.org> (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 <iusty@k1024.org>  Thu, 09 Apr 2009 15:01:36 +0200
+
+protobuf (2.0.2-1) unstable; urgency=low
+
+  * New Upstream Version (Closes: #501349)
+
+ -- Iustin Pop <iusty@k1024.org>  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 <iusty@k1024.org>  Sat, 04 Oct 2008 17:05:01 +0200
+
+protobuf (2.0.1-1) unstable; urgency=low
+
+  * New Upstream Version (Closes: #499925)
+
+ -- Iustin Pop <iusty@k1024.org>  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 <iusty@k1024.org>  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
+    <bernat@debian.org>
+  * Cleanup debian/rules (removed commented out debhelper lines)
+  * Improve the java build process, as suggested by Matthew Johnson
+    <mjj29@debian.org>
+
+ -- Iustin Pop <iusty@k1024.org>  Sat, 02 Aug 2008 14:12:59 +0200
+
+protobuf (2.0.0~b-1) unstable; urgency=low
+
+  * Initial release (Closes: #489842)
+
+ -- Iustin Pop <iusty@k1024.org>  Tue, 08 Jul 2008 20:03:51 +0200
diff --git a/clean b/clean
new file mode 100644 (file)
index 0000000..f723754
--- /dev/null
+++ b/clean
@@ -0,0 +1 @@
+protoc.1
diff --git a/compat b/compat
new file mode 100644 (file)
index 0000000..b4de394
--- /dev/null
+++ b/compat
@@ -0,0 +1 @@
+11
diff --git a/control b/control
new file mode 100644 (file)
index 0000000..82d123f
--- /dev/null
+++ b/control
@@ -0,0 +1,253 @@
+Source: protobuf
+Section: devel
+Priority: optional
+Maintainer: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+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 (file)
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 <iusty@k1024.org>
+ 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 <stevenj@alum.mit.edu>
+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 <edd@debian.org>
+    2016      Dmitry Smirnov <onlyjob@debian.org>
+    2009      Julien Cristau <jcristau@debian.org>
+    2013-2014 Robert Edmonds <edmonds@debian.org>
+    2008,2009,2010 Iustin Pop <iusty@k1024.org>
+    2016-     Laszlo Boszormenyi (GCS) <gcs@debian.org>
+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 (file)
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 (file)
index 0000000..3639543
--- /dev/null
@@ -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 (file)
index 0000000..8709fe2
--- /dev/null
@@ -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 (file)
index 0000000..42e16b6
--- /dev/null
@@ -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 (file)
index 0000000..39918fb
--- /dev/null
@@ -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 (file)
index 0000000..c8bc4d7
--- /dev/null
@@ -0,0 +1,44 @@
+<project name="protobuf-java" default="jar" basedir="..">
+    <property name="srcdir" value="src" />
+    <property name="javadir" value="java/core" />
+    <property name="javasrcdir" value="${javadir}/src" />
+    <property name="targetdir" value="${javadir}/target" />
+    <property name="classesdir" value="${targetdir}/classes" />
+    <property name="generateddir" value="${targetdir}/generated-sources" />
+
+    <target name="clean">
+        <delete dir="${targetdir}"/>
+    </target>
+
+    <target name="generate">
+        <mkdir dir="${generateddir}" />
+        <echo message="${srcdir}" />
+        <exec executable="${srcdir}/protoc">
+            <arg value="--java_out=${generateddir}" />
+            <arg value="--proto_path=${srcdir}" />
+            <arg value="${srcdir}/google/protobuf/any.proto" />
+            <arg value="${srcdir}/google/protobuf/api.proto" />
+            <arg value="${srcdir}/google/protobuf/descriptor.proto" />
+            <arg value="${srcdir}/google/protobuf/duration.proto" />
+            <arg value="${srcdir}/google/protobuf/empty.proto" />
+            <arg value="${srcdir}/google/protobuf/field_mask.proto" />
+            <arg value="${srcdir}/google/protobuf/source_context.proto" />
+            <arg value="${srcdir}/google/protobuf/struct.proto" />
+            <arg value="${srcdir}/google/protobuf/timestamp.proto" />
+            <arg value="${srcdir}/google/protobuf/type.proto" />
+            <arg value="${srcdir}/google/protobuf/wrappers.proto" />
+           <arg value="${srcdir}/google/protobuf/compiler/plugin.proto" />
+        </exec>
+    </target>
+
+    <target name="compile" depends="generate">
+        <mkdir dir="${classesdir}"/>
+        <javac srcdir="${generateddir}:${javasrcdir}/main/java"
+               destdir="${classesdir}" source="1.5" target="1.5"
+               includeantruntime="false" />
+    </target>
+
+    <target name="jar" depends="compile">
+        <jar destfile="${targetdir}/protobuf.jar" basedir="${classesdir}" />
+    </target>
+</project>
diff --git a/libprotobuf-dev.dirs b/libprotobuf-dev.dirs
new file mode 100644 (file)
index 0000000..7276ecd
--- /dev/null
@@ -0,0 +1 @@
+usr/share/doc
diff --git a/libprotobuf-dev.install b/libprotobuf-dev.install
new file mode 100644 (file)
index 0000000..ad15927
--- /dev/null
@@ -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 (file)
index 0000000..c13a2b2
--- /dev/null
@@ -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 (file)
index 0000000..45e0054
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libprotobuf-lite.so.*
diff --git a/libprotobuf17.install b/libprotobuf17.install
new file mode 100644 (file)
index 0000000..9ac8d24
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libprotobuf.so.*
diff --git a/libprotoc-dev.dirs b/libprotoc-dev.dirs
new file mode 100644 (file)
index 0000000..7276ecd
--- /dev/null
@@ -0,0 +1 @@
+usr/share/doc
diff --git a/libprotoc-dev.install b/libprotoc-dev.install
new file mode 100644 (file)
index 0000000..c463a30
--- /dev/null
@@ -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 (file)
index 0000000..a280133
--- /dev/null
@@ -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 (file)
index 0000000..a84fa69
--- /dev/null
@@ -0,0 +1,70 @@
+From 5c42943e75231b79f4ffcc37a22f0077a2fb0e7d Mon Sep 17 00:00:00 2001
+From: Ben Webb <ben@salilab.org>
+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<char*>(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<char*>(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<char*>(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<char*>(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<char*>(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 (file)
index 0000000..6c78e60
--- /dev/null
@@ -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) <gcs@debian.org>
+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 (file)
index 0000000..e6aaaf1
--- /dev/null
@@ -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) <gcs@debian.org>
+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 (file)
index 0000000..846089a
--- /dev/null
@@ -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 <sebastic@debian.org>
+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 <ctype.h>
+ #include <limits.h> //For PATH_MAX
++#if defined(__GNU__)
++#define PATH_MAX 4096
++#endif
+ #include <memory>
diff --git a/patches/java-test-scope.patch b/patches/java-test-scope.patch
new file mode 100644 (file)
index 0000000..42a0493
--- /dev/null
@@ -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 <apo@debian.org>
+Description: set scope of "junit" and "easymock" to "test".
+
+--- a/java/core/pom.xml
++++ b/java/core/pom.xml
+@@ -21,16 +21,19 @@
+   <dependencies>
+     <dependency>
+       <groupId>junit</groupId>
+       <artifactId>junit</artifactId>
++      <scope>test</scope>
+     </dependency>
+     <dependency>
+       <groupId>org.easymock</groupId>
+       <artifactId>easymock</artifactId>
++      <scope>test</scope>
+     </dependency>
+     <dependency>
+       <groupId>org.easymock</groupId>
+       <artifactId>easymockclassextension</artifactId>
++      <scope>test</scope>
+     </dependency>
+   </dependencies>
+   <build>
diff --git a/patches/misleading-indentation.patch b/patches/misleading-indentation.patch
new file mode 100644 (file)
index 0000000..1ee4294
--- /dev/null
@@ -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 <sebastic@debian.org>
+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 (file)
index 0000000..03a7ee6
--- /dev/null
@@ -0,0 +1,18 @@
+Description: more typecast fix for Python 3.7
+ Add explicit typecast.
+Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
+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<char*>(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 (file)
index 0000000..6f4dc3a
--- /dev/null
@@ -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 <sebastic@xs4all.nl>
+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 (file)
index 0000000..06c051c
--- /dev/null
@@ -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 (file)
index 0000000..d1a27a3
--- /dev/null
@@ -0,0 +1,4 @@
+CONTRIBUTORS.txt
+README.md
+editors
+examples
diff --git a/protobuf-compiler.install b/protobuf-compiler.install
new file mode 100644 (file)
index 0000000..e772481
--- /dev/null
@@ -0,0 +1 @@
+usr/bin
diff --git a/protobuf-compiler.manpages b/protobuf-compiler.manpages
new file mode 100644 (file)
index 0000000..f723754
--- /dev/null
@@ -0,0 +1 @@
+protoc.1
diff --git a/protoc.xml b/protoc.xml
new file mode 100644 (file)
index 0000000..b9124a6
--- /dev/null
@@ -0,0 +1,223 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+
+<!--
+
+`xsltproc -nonet \
+          -param man.charmap.use.subset "0" \
+          -param make.year.ranges "1" \
+          -param make.single.year.ranges "1" \
+          /usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl \
+          manpage.xml'
+
+A manual page <package>.<section> will be generated. You may view the
+manual page with: nroff -man <package>.<section> | 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
+<refsect1> ... </refsect1>.
+
+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/
+
+-->
+
+  <!-- Fill in your name for FIRSTNAME and SURNAME. -->
+  <!ENTITY dhfirstname "Iustin">
+  <!ENTITY dhsurname   "Pop">
+  <!-- dhusername could also be set to "&firstname; &surname;". -->
+  <!ENTITY dhusername  "&dhfirstname; &dhsurname;">
+  <!ENTITY dhemail     "iustin@debian.org">
+  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
+       allowed: see man(7), man(1) and
+       http://www.tldp.org/HOWTO/Man-Page/q2.html. -->
+  <!ENTITY dhsection   "1">
+  <!-- TITLE should be something like "User commands" or similar (see
+       http://www.tldp.org/HOWTO/Man-Page/q2.html). -->
+  <!ENTITY dhtitle     "protocol buffer compiler">
+  <!ENTITY dhucpackage "protobuf">
+  <!ENTITY dhpackage   "protoc">
+]>
+
+<refentry>
+  <refentryinfo>
+    <title>&dhtitle;</title>
+    <productname>&dhucpackage;</productname>
+    <authorgroup>
+      <author>
+       <firstname>&dhfirstname;</firstname>
+        <surname>&dhsurname;</surname>
+        <contrib>Wrote this manpage for the Debian system.</contrib>
+        <address>
+          <email>&dhemail;</email>
+        </address>
+      </author>
+    </authorgroup>
+    <copyright>
+      <year>2007</year>
+      <holder>&dhusername;</holder>
+    </copyright>
+    <legalnotice>
+      <para>This manual page was written for the Debian system
+        (but may be used by others).</para>
+      <para>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.</para>
+      <para>On Debian systems, the complete text of the GNU General Public
+        License can be found in
+        <filename>/usr/share/common-licenses/GPL</filename>.</para>
+    </legalnotice>
+    <date>2008-10-04</date>
+  </refentryinfo>
+  <refmeta>
+    <refentrytitle>&dhpackage;</refentrytitle>
+    <manvolnum>&dhsection;</manvolnum>
+    <refmiscinfo class="version">2.0.2</refmiscinfo>
+  </refmeta>
+  <refnamediv>
+    <refname>&dhpackage;</refname>
+    <refpurpose>compile protocol buffer description files</refpurpose>
+  </refnamediv>
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      <command>&dhpackage;</command>
+      <!-- These are several examples, how syntaxes could look -->
+      <arg choice="opt"><option>--cpp_out=<replaceable>OUT_DIR</replaceable></option></arg>
+      <arg choice="opt"><option>--java_out=<replaceable>OUT_DIR</replaceable></option></arg>
+      <arg choice="opt"><option>--python_out=<replaceable>OUT_DIR</replaceable></option></arg>
+
+      <arg choice="opt">
+        <group choice="plain">
+          <arg choice="plain"><option>-I<replaceable>PATH</replaceable></option></arg>
+          <arg choice="plain"><option>--proto_path=<replaceable>PATH</replaceable></option></arg>
+        </group>
+      </arg>
+      <arg choice="plain"><replaceable>PROTO_FILE</replaceable></arg>
+    </cmdsynopsis>
+    <!-- Normally the help and version options make the programs stop
+         right after outputting the requested information. -->
+    <cmdsynopsis>
+      <command>&dhpackage;</command>
+      <group choice="req">
+        <arg choice="plain"><option>-h</option></arg>
+        <arg choice="plain"><option>--help</option></arg>
+      </group>
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>&dhpackage;</command>
+      <arg choice="plain"><option>--version</option></arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+  <refsect1 id="description">
+    <title>DESCRIPTION</title>
+
+    <para><command>&dhpackage;</command> is a compiler for protocol
+    buffers definitions files. It can can generate C++, Java and
+    Python source code for the classes defined in
+    <replaceable>PROTO_FILE</replaceable>.</para>
+
+  </refsect1>
+
+  <refsect1 id="options">
+    <title>OPTIONS</title>
+    <variablelist>
+      <!-- Use the variablelist.term.separator and the
+           variablelist.term.break.after parameters to
+           control the term elements. -->
+      <varlistentry>
+        <term><option>-I<replaceable>PATH</replaceable></option></term>
+        <term><option>--proto_path=<replaceable>PATH</replaceable></option></term>
+        <listitem>
+          <para>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.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--cpp_out=<replaceable>OUT_DIR</replaceable></option></term>
+        <listitem>
+          <simpara>Enable generation of C++ bindings and store them in
+          <replaceable>OUT_DIR</replaceable>.</simpara>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--java_out=<replaceable>OUT_DIR</replaceable></option></term>
+        <listitem>
+          <simpara>Enable generation of Java bindings and store them
+          in <replaceable>OUT_DIR</replaceable>.</simpara>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--python_out=<replaceable>OUT_DIR</replaceable></option></term>
+        <listitem>
+          <simpara>Enable generation of Python bindings and store them
+          in <replaceable>OUT_DIR</replaceable>.</simpara>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-h</option></term>
+        <term><option>--help</option></term>
+        <listitem>
+          <para>Show summary of options.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>--version</option></term>
+        <listitem>
+          <para>Show version of program.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+
+    <para>Note that at least one of the <option>--cpp_out</option>,
+    <option>--java_out</option> and <option>--python_out</option>
+    options must be given (otherwise the program has nothing to
+    do). It's also possible to specify more than one.</para>
+
+  </refsect1>
+  <refsect1 id="bugs">
+    <!-- Or use this section to tell about upstream BTS. -->
+    <title>BUGS</title>
+
+    <para>The program currently exits with code 255 for all errors,
+    which makes it hard to differentiante from scripts the actual
+    error.</para>
+
+    <para>The upstreams <acronym>BTS</acronym> can be found at <ulink
+    url="http://code.google.com/p/protobuf/issues/list"/>.</para>
+
+  </refsect1>
+  <refsect1 id="see_also">
+    <title>SEE ALSO</title>
+
+    <para>More documentation about protocol buffers syntax and APIs is
+    available online at <ulink
+    url="http://code.google.com/apis/protocolbuffers/docs/overview.html"></ulink>.</para>
+
+
+  </refsect1>
+</refentry>
diff --git a/python-protobuf.README.Debian b/python-protobuf.README.Debian
new file mode 100644 (file)
index 0000000..61d0c1b
--- /dev/null
@@ -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/python-protobuf3.README.Debian b/python-protobuf3.README.Debian
new file mode 100644 (file)
index 0000000..61d0c1b
--- /dev/null
@@ -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/ruby-google-protobuf.docs b/ruby-google-protobuf.docs
new file mode 100644 (file)
index 0000000..10ecf03
--- /dev/null
@@ -0,0 +1 @@
+ruby/README.md
diff --git a/rules b/rules
new file mode 100755 (executable)
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 (executable)
index 0000000..c559a40
--- /dev/null
@@ -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 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/tests/control b/tests/control
new file mode 100644 (file)
index 0000000..c253274
--- /dev/null
@@ -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 (executable)
index 0000000..5506ce8
--- /dev/null
@@ -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 (file)
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)