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

Re: Explicit arch qualifiers in “Depends” field



On Thu, Apr 19, 2012 at 02:25:19PM +0200, David Kalnischkies wrote:
> On Wed, Apr 18, 2012 at 20:50, Thibaut Girka <thib@sitedethib.com> wrote:
> > A small set of packages would benefit from explicit arch qualifiers in *-Depends.
> 
> About what do we talk here?
> Your apt patch clearly is only about dependencies in binary packages,
> while "*-Depends" matches only build-dependencies which supports also
> your mentioning of a cross-compiler as it hasn't foreign dependencies,
> but foreign build-dependencies…

“*-Depends” is misleading, my bad.
We are indeed talking about binary packages fields, that is, “Depends”,
“Pre-Depends”, etc.

A cross compiler *has* foreign dependencies *and* foreign build-deps.
I think the case of foreign build-deps has already been addressed,
but I must admit I haven't checked.

> (But it might also be that i don't get the cross-compiler example)

(It is about the cross-compiler example)

<snip>

> But that doesn't help much. Most tools do not support non-self-containing
> dependencies which needs to be fixed first before we can thing about doing
> these additions on dpkg/APT level. It doesn't help much if we can install
> such packages if they are neither build nor migrate to testing.

While it would be ideal to have such packages supported by the archive,
I think it makes sense to support cross-arch deps regardless.
Indeed, back at the cross-compiler example: emdebian currently provides
cross-toolchain packages[2] in a separate repository.
Such packages depend on “converted” foreign package ones using “dpkg-cross”,
which basically changes the “Architecture” field to “all” and move files around
for MA-unaware packages.
It would be cleaner for those packages to have cross-architecture deps instead.

> And these problems effect us today even without MultiArch.
> (e.g. arch:all packages depending on arch:any which are not available
>  for all architectures. the arch:all package will never migrate to
>  testing even through it is available for at least some archs
>  (or specifically: not available for i386), so you either have to hack
>  with [arch] or make it any, both is bad…)
> 
> See also [0] and [1] in the MultiArch spec which talk about this and
> a related issue.

As stated above, while the official archive may not be ready for such packages yet,
I think it makes sense to allow third-party ones to use cross-dependencies in the meantime.

> [0] https://wiki.ubuntu.com/MultiarchSpec#Allow_official_packages_to_have_cross-architecture_deps
> [1] https://wiki.ubuntu.com/MultiarchSpec#Architecture-independent_packages_that_can_only_be_generated_on_one_architecture
[2] http://www.emdebian.org/crosstools.html

> P.S.: Sry for not answering on IRC earlier…
No problem.

Regards,
Thibaut.

Attachment: signature.asc
Description: Digital signature


Reply to: