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

Re: Overlaps between bo and hamm



Dale Scheetz wrote:
> On Sun, 25 Jan 1998, Oliver Elphick wrote:
> > The control file has:
> > Package: bible-kjv-text
> > Architecture: any
> > Depends: ${shlibs:Depends},bible-kjv
> > Conflicts: (bible-kjv << 4.00-5)
> > 
> > but I agree that dselect doesn't report this conflict.  I don't know
> > why not.

There's a syntax error in the conflicts line, the parentheses should be
like this:

Conflicts: bible-kjv (<< 4.00-5)

> I believe this is because dpkg sees conflicts as a dependency and can't
> lump the two together. Besides, the proper way to write this is as a
> single dependency:
> 
> 	Depends: ${shlibs:Depends}, bible-kjv >= 4.00-5
> 
> This satisfies the depends and the conflicts both in one blow, leaving
> dpkg with the number of actions that it can take from this state ... (1).

I'm afraid that won't work.  dpkg encounters the overlaps when it
unpacks the package, and it does not check dependencies until later.

So if someone has bible-kjv 4.00-1 installed, and upgrades to
bible-kjv 4.00-5 and bible-kjv-text 4.00-5 in one dpkg run, it is
possible for dpkg to try to unpack bible-kjv-text first, while
bible-kjv 4.00-1 is still installed.

(Note that I have never seen this happen; I base this reasoning on the
information in chapters 6 and 8 of the packaging manual.)

Since dpkg does check conflicts before unpacking, those can be used to
avoid problems with overlaps.  Another header that can be used is
Replaces, which tells dpkg that a particular overlap is safe and
proper.  In the case of bible-kjv, I think Replaces should be used.

This is also why postgresql-dev should conflict directly with postgres95,
rather than via its dependencies.

Richard Braakman


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-request@lists.debian.org . 
Trouble?  e-mail to templin@bucknell.edu .


Reply to: