[Pkg-protobuf-devel] RFH: protobuf packaging team formed

Robert Edmonds edmonds at debian.org
Mon Sep 14 00:18:54 UTC 2015


Hi,

I'm announcing the formation of the Debian protobuf packaging team that
will be responsible for packaging the src:protobuf package.  (And maybe
closely related packages like src:grpc, if the maintainers are
interested.)

Iustin Pop has maintained src:protobuf in the past, and I've maintained
it through the 2.5.x and 2.6.x upstream releases, but I don't have much
time to devote to it in the near future, so after receiving mail from
several developers interested in helping package the upcoming 3.x
release I'm turning it over to a team.  Anyone interested in helping to
package the upcoming upstream 3.x releases is welcome to join the Alioth
group and mailing list:

    https://alioth.debian.org/projects/pkg-protobuf/

    https://lists.alioth.debian.org/mailman/listinfo/pkg-protobuf-devel

The upcoming 3.x release has gotten more complicated to package, mostly
through the addition of new language bindings.  It also introduces a new
backwards-incompatible language syntax "proto3", while still supporting
the deprecated "proto2" syntax.  Upstream says the following about
proto3 vs proto2:

    We recommend that new Protocol Buffers users use proto3. However, we
    do not generally recommend that existing users migrate from proto2
    from proto3 due to API incompatibility, and we will continue to
    support proto2 for a long time.

Upstream doesn't specify exactly how long proto2 will be supported, but
if proto2 language support is removed from a future protobuf version, it
may cause problems for some of the packages listed below.

The TODO list is:

 - Ack the src:protobuf NMUs (2.6.1-1.1, -1.2, -1.3) by committing them
   to the repo.

 - Figure out what to do about the semi-embedded gmock/gtest build
   dependency.  Related upstream issues:

    https://github.com/google/protobuf/issues/302

    https://github.com/google/protobuf/issues/808

 - Figure out how to package the new language bindings in protobuf 3.

protobuf has a number of reverse dependencies in the archive, including:

  anfo
  bitcoin-qt
  clementine
  cubemap
  emacs-mozc-bin
  fcitx-mozc
  gazebo5
  gazebo5-plugin-base
  ibus-mozc
  libanfo0
  libgazebo5
  libignition-transport0
  libola1
  libphonenumber6
  libshogun16
  litecoin-qt
  mahimahi
  monav-preprocessor
  mosh
  mozc-server
  mozc-utils-gui
  mumble
  mumble-server
  ola
  osrm
  ostinato
  php5-pinba
  pink-pony
  pokerth
  pokerth-server
  protobuf-c-compiler
  python-imposm
  python-imposm-parser
  python-protobuf
  shogun-cmdline-static
  uim-mozc
  zbackup

(This is just a list of rdeps on libprotobuf9 or libprotobuf9v5, IIRC
there are some source packages that have build-deps on protobuf that
don't appear as binary deps.)

protobuf is implemented in C++ and has frequent ABI bumps.  The
transitions tend to be fairly involved, see the bug logs for the last
two transitions for details:

    https://bugs.debian.org/726165

    https://bugs.debian.org/760343

There are some interesting projects that depend on Protocol Buffers,
such as Canonical's Mir and Google's gRPC.  The OpenStreetMap project
also has a binary "PBF" format that uses protobufs.  (IIRC, protobufs
are also used in some of Canonical's web services.)  If you are involved
in packaging those projects, you might want to look into helping out
with packaging src:protobuf.

Thanks!

-- 
Robert Edmonds
edmonds at debian.org



More information about the Pkg-protobuf-devel mailing list