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.