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

Re: architecture-specific dependencies on virtual packages



On Mon, Jul 09, 2012 at 02:00:14PM +0200, David Kalnischkies wrote:
> Hi,
> 
> while playing around with the APT code regarding architecture-specific
> dependencies I stumbled over the handling of Provides in that context:
> 
> Package: pkga
> Status: install ok installed
> Architecture: i386
> Provides: foo
> 
> Package pkgb
> Architecture: amd64
> Conflicts: foo:amd64
> 
> 
> The result with dpkg (1.16.7):
> dpkg: regarding .../pool/pkgb_1_amd64.deb containing pkgb:
>  pkgb conflicts with foo:amd64
>   pkga provides foo and is present and installed.
> 
> 
> Even more interesting, if I change this conflict to a depends dpkg happily
> installs the package and dpkg --audit gives no indication that a dependency
> is unsatisfied (same problem with depends if no architecture is specified).
> 
> Shouldn't provides be limited by the architecture their provider can work on?
> Or did I miss something here?
> 
> 
> Best regards
> 
> David Kalnischkies

Imho a Povides creates an alias for the package. So

Package: pkga
Status: install ok installed
Architecture: i386
Provides: foo

should behave identical to

Package: foo
Status: install ok installed
Architecture: i386


Note that the behaviour of a real package changes depending on the
Multi-Arch setting and the same should be true for a provided package.

The only difference with a provides should be that provides don't have
a version.

MfG
	Goswin


Reply to: