Bug#755212: transition: protobuf-c
On 27/07/14 10:44, Gergely Nagy wrote:
> Robert Edmonds <edmonds@debian.org> writes:
>
>> Emilio Pozuelo Monfort wrote:
>>> On 18/07/14 22:19, Robert Edmonds wrote:
>>>> * The header file (protobuf-c.h) which compiled .pb-c.h files must
>>>> include. This is shipped in the libprotobuf-c0-dev package
>>>> (protobuf-c < 1.0.0), or the libprotobuf-c-dev package (protobuf-c
>>>> >= 1.0.0). (libprotobuf-c-dev Provides: libprotobuf-c0-dev, which
>>>> smoothes the transition for packages with an unversioned
>>>> build-dependency on libprotobuf-c0-dev.)
>>>
>>> I just realized that that's not going to work, because the old
>>> libprotobuf-c0-dev is still available, and so packages that build-depend on that
>>> will get libprotobuf-c0-dev. So they'll need sourceful uploads to build-depend
>>> on the new (unversioned) libprotobuf-c-dev.
>>
>> Hi, Emilio:
>>
>> Are you sure about that? protobuf-c-compiler has:
>>
>> Depends: ${shlibs:Depends}, ${misc:Depends}, libprotobuf-c-dev (= ${binary:Version})
>>
>
> I believe the problem arises when you (build-)depend on
> libprotobuf-c0-dev, without protobuf-c-compiler. That happened with
> riemann-c-client:
Yes, that's where it would happen. I didn't think about protobuf-c-compiler,
indeed packages that build-depend on it should be fine.
> * I changed the build-dependency to libprotobuf-c-dev |
> libprotobuf-c0-dev + protobuf-c-compiler.
> * On unstable, that correctly pulled in libprotobuf-c-dev
> * Headers were generated using the new protobuf-c-compiler
> * The libriemann-client-dev package still had a dependency on
> libprotobuf-c0-dev, though.
> * syslog-ng-incubator build-depends on libriemann-client-dev, which
> pulled in libprotobuf-c0-dev and libprotobuf-c1!
> * syslog-ng-incubator FTBFS'd because of the generated header
> conflicted.
>
> I ended up changing the libriemann-client-dev dependency to
> libprotobuf-c-dev, and all is well.
>
> So another thing to pay attention to is transitive build-dependency, as
> that can - and will - break if one's not forcing libprotobuf-c-dev onto
> the system.
>
>> I think all of the packages I listed in my original email had a
>> build-dep on either protobuf-c-compiler only, or protobuf-c-compiler and
>> libprotobuf-c0-dev. (I don't think there are any with just
>> libprotobuf-c0-dev.)
>
> Not directly, but transitively, syslog-ng-incubator build-depends on
> libriemann-client-dev, which depended on libprotobuf-c0-dev only,
> without protobuf-c-compiler. I'm not sure if there are other packages
> like this, but the riemann-c-client + syslog-ng-incubator combo has been
> taken care of.
I have binNMUed collectd and criu. Let me know if there's anything else that
needs binNMUs.
Emilio
Reply to: