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

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: