The Debian NEW review of protobuf 36.2-1 has been completed.

Decision: ACCEPTED
Reviewer: Andrew McMillan

Review comment:

Two minor debian/copyright nits (not DFSG blockers):

- Files: * → BSD-3-Clause at debian/copyright:8-10 over-declares the whole 
tree, but the separate utf8_range stanza covers the one divergent case, so it's 
acceptable.

- The Public-Domain license block (debian/copyright:71-74) is defined but never 
referenced by any Files: stanza — a dead entry.


Other Packaging quality issues
==============================

1. ruby_debug.patch ships leftover debug code (applied in build).

debian/patches/ruby_debug.patch:10 inserts puts "DEBUG GEM SPEC IS: 
#{spec.inspect}" into the Ruby build. It also differs from every other patch in 
form (no Description/Forwarded/Last-Update header) and silently drops the 
:clean prerequisite from the :build rake task while adding tests/**/* to the 
gem (ruby_debug.patch:27-40). It's active (in .pc/applied-patches and the 
series), so this debug print runs during the Debian build.

2. libprotobuf-dev is missing a libutf8-range-dev dependency.

external_utf8_range.patch switches to the system utf8-range 
(debian/patches/external_utf8_range.patch:15). The installed 
protobuf.pc/protobuf-lite.pc now emit Requires: … utf8_range 
(cmake/install.cmake:10, cmake/protobuf.pc.cmake), and the exported CMake 
config does find_package(utf8_range CONFIG) (cmake/utf8_range.cmake:15). But 
debian/control:113-114 lists only zlib1g-dev, libabsl-dev in libprotobuf-dev's 
Depends. Downstream consumers using pkg-config/CMake will fail to resolve 
utf8_range unless they also pull libutf8-range-dev themselves.

3. ffi.rake_path.patch uses a brittle 12-level relative path.

debian/patches/ffi.rake_path.patch:11 rewrites the import to 
'../../../../../../../../../../../../ruby/lib/google/tasks/ffi.rake', which 
depends on the exact in-tree nesting depth.

4. Contradictory/confusing Python test block in debian/rules:156-164.

It runs $$PYTHON setup.py test for each interpreter but then unconditionally 
emits @echo Python testing is gone..., and the whole block is flagged 
off-and-on. The message contradicts the code above it.

5. Multi-arch path inconsistency in debian/rules.

The Ruby GEM_DEST_DIR uses $(DEB_HOST_MULTIARCH) (debian/rules:207) while the 
.so install uses $(DEB_BUILD_MULTIARCH) (debian/rules:236). These differ under 
cross-building.

6. no_javax.patch/no_errorprone.patch disable code via commented-out imports.

They leave //import javax.annotation.Nullable;-style lines in place and strip 
annotations (e.g. no_javax.patch:25) rather than cleanly removing them — 
cosmetic, but leaves dead commented code in the shipped Java source.

I hope this is useful!

Thanks.

Full review details: https://dfsg-new-queue.debian.org/reviews/protobuf

Reply via email to