Bug#755212: transition: protobuf-c
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:
* 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.
--
|8]
Reply to: