Package Details: protobuf-21 21.12-3

Git Clone URL: https://aur.archlinux.org/protobuf-21.git (read-only, click to copy)
Package Base: protobuf-21
Description: Protocol Buffers (legacy)
Upstream URL: https://developers.google.com/protocol-buffers/
Licenses: BSD-3-Clause
Provides: libprotobuf-lite.so, libprotobuf.so, libprotoc.so
Submitter: osamc
Maintainer: osamc
Last Packager: osamc
Votes: 0
Popularity: 0.000000
First Submitted: 2023-12-15 21:55 (UTC)
Last Updated: 2024-07-09 09:46 (UTC)

Required by (11)

Sources (3)

Pinned Comments

osamc commented on 2023-12-24 21:09 (UTC)

This AUR package is a mirror and automatically updated from the proaudio binary repo project at https://github.com/osam-cologne/archlinux-proaudio

If possible, open a GitHub issue or PR instead of commenting here, thanks!

Latest Comments

cbix commented on 2023-12-24 23:43 (UTC)

@FabioLolix thanks for the context and compliments, I'll try to explain the reasoning. It is a drop-in replacement for applications that dynamically link to libprotobuf.so=32 and therefore (rightfully) have that dependency. That could be anything built from source using an old protobuf version or this package with the right build flags or even a binary downloaded from somewhere.

In order to make sure the right dependencies are considered when either building or installing a package (both of which happens in the AUR scenario) we differentiate between makedepends and depends. makedepends should have the package name (either protobuf or protobuf-21) and depends is filled only at packaging time with sonames. During packaging with a soname dependency, makepkg inserts the version automatically so a confusion between incompatible versions is impossible.

What aurweb displays is a different story and doesn't affect makepkg/pacman behavior. After all, the SRCINFO used by aurweb can't really know the soname version unless we manually add that (to both the library package + those depending on it), increasing maintenance work.

Anyway, if there's a specific bug that occurs for you when building/installing this package or anything depending on it, feel free to post logs and I'll try to help :)

FabioLolix commented on 2023-12-24 22:37 (UTC)

could you better describe the issue this is causing?

  • protobuf-21 isn't a drop-in replacement to protobuf so don't have to provide protobuf stuff, packages that need it need to depends directly on it
  • Here on AURweb we can see Required by (10) while only 1 (split) package should depend on it

I'm not using AUR helpers but some could be confused by provides libprotobuf.so

I use, browse and check stuff a lot on AUR and I find annoying seeing something like strawberry-lite (requires libprotobuf.so) here when protobuf-21 can't be a depends for strawberry-lite, and the reverse on strawberry-lite

built package should have the correct versioned soname dependency

The builded package yes but here is annoying to see


I see you are doing a good work with packages :)

cbix commented on 2023-12-24 22:01 (UTC)

@FabioLolix: could you better describe the issue this is causing? ola has protobuf-21 as a makedepends and the built package should have the correct versioned soname dependency. Which AUR helper are you using and what's the output/dependencies pulled in when building?

FabioLolix commented on 2023-12-24 21:43 (UTC)

@cbix please remove all provides from this pkgbuild and update ola to depends directly on protobuf-21, for the same reason stated by MarsSeed

cbix commented on 2023-12-24 21:33 (UTC)

@MarsSeed: Hmm, I see. Was hoping the versioned provides entry would make that clear and packages linking to libprotobuf should anyway depend on the soname which is correctly versioned. Should be fixed now :)

osamc commented on 2023-12-24 21:09 (UTC)

This AUR package is a mirror and automatically updated from the proaudio binary repo project at https://github.com/osam-cologne/archlinux-proaudio

If possible, open a GitHub issue or PR instead of commenting here, thanks!

MarsSeed commented on 2023-12-24 19:57 (UTC)

Hi,

Please kindly remove provides=protobuf. This package is not a drop-in replacement for repo's protobuf (currently v25).

And unfortunately pacman only understands this provides field as if it was a drop-in replacement.

(And AUR itself, AURweb, and its RPC webcall interface also do not handle this situation well - and most AUR helper tools get confused by this).