Opened 6 years ago

Last modified 10 months ago

#56135 assigned enhancement

protobuf-cpp in conflict with protobuf3-cpp — at Version 8

Reported by: btywoniuk (Bart) Owned by: blair (Blair Zajac)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: protobuf-cpp protobuf3-cpp protobuf-java protobuf3-java py-protobuf py-protobuf3

Description (last modified by ryandesign (Ryan Carsten Schmidt))

Can't install protobuf-cpp because conflicting ports are active: protobuf3-cpp

Error: Can't install protobuf-cpp because conflicting ports are active: protobuf3-cpp
Error: Problem while installing protobuf-cpp
Error: rev-upgrade failed: Error rebuilding mosh

Change History (8)

comment:1 Changed 6 years ago by raimue (Rainer Müller)

Keywords: mosh protobuf-cpp protobuf3-cpp removed
Milestone: MacPorts 2.6.0
Owner: set to blair
Port: protobuf-cpp protobuf3-cpp added; mosh removed
Status: newassigned
Type: defectenhancement

comment:2 Changed 6 years ago by raimue (Rainer Müller)

Here is a look at what other distributions are going, because they must have figured this out already. Most seem to provide protobuf with version 2.6.x or 3.5.x (the C++ library) and also protobuf-c at 1.2.x or 1.3.x (a wrapper around the C++ code for pure C).

protobuf-cpp and protobuf3-cpp do not exist anywhere else but in MacPorts. I assume this is where all our problems come from, it is not supposed to be packaged like this in parallel.

Blair, any comments on why you chose to package it this way? Is there any reason to keep protobuf 2.x around?

I propose to get rid of protobuf 2.x and simplify this:

  1. move protobuf3-cpp to protobuf
  2. mark protobuf3-cpp and protobuf-cpp as replaced_by protobuf
  3. move protobuf3-java to protobuf-java
  4. move py-protobuf3 to py-protobuf
  5. mark py-protobuf3 as replaced_by py-protobuf

This would match what everybody else seems to be doing.

comment:3 Changed 6 years ago by raimue (Rainer Müller)

Port: protobuf protobuf-java protobuf3-java py-protobuf py-protobuf3 added

comment:4 Changed 6 years ago by pmetzger (Perry E. Metzger)

Rainer, this seems good to me. It will reduce the mess a lot. It will probably require upgrading a couple of the ports but there aren't that many involved.

comment:5 Changed 6 years ago by pmetzger (Perry E. Metzger)

I have a pull request in now to update protobuf-c to a version that is compatible with the latest protobuf implementation. That should be committed soon. I believe the other ports that might not work with the latest protobuf can also be easily updated.

comment:6 Changed 6 years ago by pmetzger (Perry E. Metzger)

Okay, after speaking with Rainer, I'm more or less executing his suggestion.

comment:7 Changed 6 years ago by blair (Blair Zajac)

The original naming was after zeroc's ice. The plan looks good to me, although it doesn't leave space for protobuf 4 if it ever comes out. But we can worry about that problem in the future.

comment:8 in reply to:  7 Changed 6 years ago by ryandesign (Ryan Carsten Schmidt)

Description: modified (diff)

Replying to blair:

The plan looks good to me, although it doesn't leave space for protobuf 4 if it ever comes out. But we can worry about that problem in the future.

Wouldn't all the ports simply be updated to version 4 at that time? Why keep version 3 around then?

Note: See TracTickets for help on using tickets.