[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: