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

Re: arch all package's missing dependency on i386 prevents testing migration



Neil Williams <codehelp@debian.org> writes:
> On Tue, 29 Mar 2016 21:25:26 -0700
> Afif Elghraoui <afif@ghraoui.name> wrote:
>> The package in question, circlator, depends on two
>> architecture-dependent packages that can only build on amd64 and
>> kfreebsd-amd64 currently. The package cannot migrate to testing
>> because those dependencies are not available for i386 [1].
>>
>> I am hoping there is a better solution to this problem than to work
>> around this by changing this package's build architecture from "all"
>> to "any-amd64"
>
> That's not a workaround, it is the correct fix for the error in the
> original upload. The package cannot work on all architectures - the
> fact that this is because of dependencies rather than the code within
> the package is irrelevant. Unless the code in the package can
> *transparently* omit the need for the dependency on architectures where
> that dependency does not exist, then the package is not arch:all.
> Installation alone is insufficient, the package needs to be usable on
> all the architectures in the Architecture list.

No.  It is arch:all if it contains no arch-specific binaries and doesn't
require arch-specific dependencies (i.e. dependencies which should only
appear on specific architectures like "foo [amd64]").

It should be fine if an arch:all package depends on binary packages that
are not installable on all architectures.  Otherwise a lot of arch:all
packages that depend on, say, linux-specific binary packages would
become arch:any which is not very useful.

As far as I remember, the testing migration script checks installability
of arch:all packages on amd64 and i386, and there are manual workarounds
for arch:all packages that are not installable on these architectures.
Cc'ed the release team to take a look too.

Ansgar


Reply to: