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

Re: ${misc:Depends} injects broken versioned depends (Was: Bug#676455: gnumed-doc: uninstallable in sid: depends on outdated libjs-jquery-livequery)



Hi,

On Thu, 07 Jun 2012, Peter Samuelson wrote:
> [Raphael Hertzog]
> > It the next upstream version of your javascript library provides new
> > files, they will not be in the symlink tree that you built in your
> > package. So at runtime, it will fail because of the missing file.
> 
> Forgive me if I'm missing something basic here, but this sounds like a
> job for a dpkg trigger.

Well, files created in a trigger are not managed by dpkg, so it requires
more than that (for instance to ensure that they are properly removed).
And you loose the file conflict handling done by dpkg on those files, etc.

It's obviously possible to create the symlink tree at installation time in
the case where you want to have an exact copy of whatever the current
version is... but then you'd be better served by a symlink on the top
level directory.

The point of the symlink tree is that you can easily switch between
using the embedded version (when the packaged version is incompatible)
and the packaged version (through the symlink tree). If you used a
top-level symlink, you would have to constantly add code in
preinst/postinst to replace the symlink by a real dir and vice-versa.

dh-linktree has been created to respond to this need and it's thus logical
that it puts strong dependencies forcing you to re-evaluate the
compatibility for each new upstream version of your dependency.

I hope it's clearer now.

Cheers,
-- 
Raphaël Hertzog ◈ Debian Developer

Get the Debian Administrator's Handbook:
→ http://debian-handbook.info/get/


Reply to: