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

Re: Exact dependencies and Architecture: all packages



On Wed, Jan 21, 2004 at 08:03:30PM -0500, Branden Robinson wrote:
> On Wed, Jan 21, 2004 at 11:47:02AM +0000, Colin Watson wrote:
> > I think that we should recommend against using (= ${Source-Version})
> > dependencies from Architecture: all to Architecture: any packages or
> > vice versa. They're OK between architecture-independent packages and
> > between architecture-dependent packages, but mixing those causes
> > trouble.
> > 
> > I can't immediately think of an easy way to scan the archive for this
> > problem, unfortunately.
> 
> Hmm, I do this in precisely one place in XFree86 4.3.0:
> 
> Package: xlibs-static-dev
> Section: libdevel
> Architecture: any
> Depends: xlibs (= ${Source-Version}), x-dev, libxext-dev, libxv-dev, libx11-dev, zlib1g-dev | libz-dev, libc6-dev | libc-dev
> Suggests: xspecs
> Conflicts: xdevel, xlib6g-dev, xlib6g-static, xpm4g-dev, xmanpages, libxfont-xtt-dev
> Replaces: xbase (<< 3.3.2.3a-2), xdevel, xpm4g-dev, xmanpages, xlib6g-dev, xlib6g-static, libxfont-xtt-dev, xfs-xtt (<< 1:1.3.0.1-15)
> Provides: libxpm4-dev, xmanpages
> Description: X Window System client library development files
> 
> Package: xlibs
> Section: libs
> Architecture: all
> Depends: libice6, libsm6, libx11-6, libxext6, libxft1, libxi6, libxmu6, libxmuu1, libxp6, libxpm4, libxrandr2, libxt6, libxtrap6, libxtst6, xlibs-data, ${misc:Depends}
> Conflicts: xbase, xlib, xlib6, xlib6g, xlib6g-dev, xpm4g, fvwm-common, qcad (<< 1.4.6-1), xbase-clients (<< 4.0), xcontrib (<< 4.0), xsm (<< 4.0)
> Replaces: xbase, xlib, xlib6, xlib6g, xlib6g-dev, xpm4g, fvwm-common, qcad (<< 1.4.6-1), xbase-clients (<< 4.0), xcontrib (<< 4.0), xsm (<< 4.0)
> Description: X Window System client libraries metapackage and XKB data

If the tight binding is necessary, an alternative would be:

  Package: xlibs-static-dev
  Depends: xlibs (>= ${Source-Version}), xlibs (<< ${Next-Source-Version})

... where Next-Source-Version (or whatever) is a substvar set to the
hypothetical version of the next possible sourceful upload (so 4.3.0-1
=> 4.3.0-1.1; 4.3.0-1.1 => 4.3.0-1.2). I haven't tried writing the code
to see how hard such a substvar would be to generate automatically.

> I'm tempted to support your proposal, however.

Thanks, I appreciate knowing that I'm not off the rails here. :) I'd
like there to be some example implementations of automatically
generating dependencies like the above before turning this into a formal
policy proposal.

Cheers,

-- 
Colin Watson                                  [cjwatson@flatline.org.uk]



Reply to: