On Wed, Mar 30, 2005 at 12:01:59PM +0200, Domenico Andreoli wrote:
> tags 301449 + sarge
> thanks
> 
> hi :)
> 
> On Sat, Mar 26, 2005 at 05:13:22PM -0800, Ross Boylan wrote:
> > 
> > Unfortunately, this is to confirm that the problem still exists with
> > the latest libboost.  So apparently it was the 2 upgrades that fixed
> > it.
> > 
> > I just upgraded another system from 1.31.0-9 directly to 1.32.0-4.
> > Once again, there are missing files, including at least the 2 I
> > mentioned previously.
> 
> this bug is due to the broken way /usr/share/doc/libboost-doc/HTML/boost
> was created on the filesystem. it has been fixed in package 1.32.0-4,
> bug #290333 and others merged with it. please read those bug reports
> for the complete story.

"fixed" is a little strong, as my experience and the details you give
below confirm.  People with boost 1.31 installed willl experience this
problem when upgrading to 1.32.0-4.  It is fixed, apparently, in the
sense that people upgrading from 1.32.0-4 will not experience a
problem.

I have a few ideas below about how to solve the problem for upgraders.

I thought 290333 was closed because of the judgement the necessary
files were in the wrong package, but I guess the doc symlink is the
root of both problems (this one and 290333).

> 
> 
> bug explanation
> ~~~~~~~~~~~~~~~~
> package libboost-doc used to install some stuff under $DOC/HTML/boost/ [0].
> dpkg then known this stuff in dir $DOC/HTML/boost/ was of package
> libboost-doc.
> 

I can confirm that I have libboost-doc installed.  I believe that on
both systems I upgraded libboost-doc after upgrading libboost-dev.

> problem was that libboost-doc postinst script removed $DOC/HTML/boost/
> and made it a symlink to /usr/include/boost.
> 
I am not intimately familiar with Debian packaging, but perhaps
something in libboost-doc's preremove script could fix this?
(probably not, if the old preremove script is the one that is run).

Failing that, maybe there's an ugly solution like libboost-doc's
postinst checking for all installed libboost-dev* packages and
reinstalling all of them.

> now, when dpkg removed libboost-doc's files to replace them with the
> new ones, it instead removed those in /usr/include/boost, owned by some
> other boost package. if that package was not going to be re-installed,
> they were then definitively removed and resulted missing.  please note
> that which files and which packages were involved depended by the order
> of package upgrade!
> 
> since 1.32.0-4 the symlink is created in the correct way. this guarantees
> the upgrade bug is not present in *future* (>= 1.32.0-4) version upgrades
> but nothing can be done for the past versions ones.
> 
> this explanation does not explain why the bug is seen only between
> 1.31.0 <-> 1.32.0 transition and why reinstalling the same version
> packages works around it. i suppose only to not know all the details
> required to explain them.

The explanation makes sense to me, though it's a little surprising so
many files are affected.  As I understand it, the problem is that
removing old versions of libboost-doc will remove many of the files in
/usr/include/boost.   Reinstalling the affected packages puts the
right files back.

Thanks for tracking this mystery down.

> 
> cheers
> domenico
> 
> [0] $DOC is /usr/share/doc/libboost-doc/
> 
> -----[ Domenico Andreoli, aka cavok
>  --[ http://people.debian.org/~cavok/gpgkey.asc
>    ---[ 3A0F 2F80 F79C 678A 8936  4FEE 0677 9033 A20E BC50
> 


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to