On May 11, 2016 06:08:37 PM Joachim Wuttke wrote: > The way Boost is currently packaged in Debian is non-standard, and > inconvenient.
I agree it is a bit unusual. I am sorry that you find it inconvenient.
> Standard is that -dev packages contain header files. This is violated by
> packages like libboost-date-time1.58-dev that contain no headers, but
> binary libraries.
>
> These libraries should go to libboost-date-time1.58.0.
This is incorrect. Debian's -dev packages always contain the link-time
libraries (.a and .so). Please see Section 8.4 of the Policy Manual [1]
> libboost-date-time1.58-dev should contain /usr/include/boost/date_time.hpp.
What the Policy Manual says is:
Installing the development package must result in installation of all
the
development files necessary for compiling programs against that shared
library.
This is true of libboost-date-time1.58-dev. No policy is violated.
Now, of course, your complaint is that it installs *more* than strictly
necessary and that is unusual; it is true. Years ago, boost was split as you
describe. I tried partitioning the boost headers into the various -dev
packages. But Boost was not very good at encapsulation so it happened that
Boost.X would be using headers that normally "belong" to Boost.Y. This
resulted in bug reports including #548503, #553281, #550006. I did fix some
such using inter-component dependencies (i.e. boostX-dev depends on boostY-
dev) but then I would get bugs rightly complaining that there should be no
such dependency. The best compromise I came up with was to put all *headers*
in one place and have all -dev packages depend on that.
I have had essentially no complaint (before yours) about this practice in the
intervening 6.5 years.
> libboost1.58-dev currently contains header files for _all_ components of
> Boost, which precludes selective (de)installation. It should become a
> dependency package, and leave it to packages like
> libboost-date-time1.58-dev to actually contain specific headers.
If we are going to return to this practice, we should be convinced that (a)
Boost is now better at encapsulation and (b) provides a mechanism to produce
the required partition of header files.
Best,
-Steve
[1] https://www.debian.org/doc/debian-policy/ch-sharedlibs.html
signature.asc
Description: This is a digitally signed message part.

