[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 11:47:02AM +0000, Colin Watson wrote:
> I just found myself unable to do a binary-only NMU because an
> Architecture: all binary package from that source package had an exact
> dependency, generated with (= ${Source-Version}), on an Architecture:
> any binary package from the same source package. Whatever way I did the
> upload, it would either break the architecture I was planning to upload
> on or else all other architectures. As a result, a sourceful upload will
> be required. See #227618.
> 
> 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.

This doesn't really solve the real problem. It just skirts around the
issue. Take qt-x11-free for example...

libqt3-mt-dev
Architecture: any
Depends: libqt3c102-mt (= ${Source-Version}), libqt3-headers (= ${Source-Version}), qt3-dev-tools (= ${Source-Version})

libqt3c102-mt
Architecture: any

libqt3-headers
Architecture: all	<- Problem
Depends:

qt3-dev-tools
Architecture: any

Because libqt3-mt-dev is Arch: any and depends on libqt3-headers which
is Arch: all any arch that hasn't built a new version of the package in
the archive will then fail to build anything that Build-Depends on it.
This is a major problem particularly with Qt/KDE on m68k. What needs to
happen is a combination of relaxing the dependency, perhaps like
dh_makeshlibs -V does already (strips the debian version) and tracking
Arch: all packages per Arch, so that packages are never uninstallable
(IMHO). Or as a second possible solution make w-b check whether packages
Build-Depends are actually satisified and setting them to Dep-Wait if
not. This of course does have a negative possible side-effect of someone
typoing a Build-Depends that is then never able to be satisified.

Chris

Attachment: signature.asc
Description: Digital signature


Reply to: