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

Re: Breaking /emul/ia32-linux for squeeze



Stephen Gran <sgran@debian.org> writes:

> This one time, at band camp, Goswin von Brederlow said:
>> 1) How to specify an arch in sources.list?
>
> Don't.  Specify it in apt.conf
>
>> Suggestion:
>> deb [arch=i386,amd64] http://ftp.debian.org sid main
>
> APT::Arches "i386,amd64"
>
> Or something.

What if one repository only has i386 packages or I only want the amd64
ones from there?

A global setting is a good default but this should be configurable per
repository too.

>> 2) How to specify a package including the architecture?
>> 
>> Suggestions:
>> 
>> Depends: foobar/i386
>> Conflicts: foobar [i386]
>> Replaces: i386-foobar
>> Suggests: foobar=amd64
>
> Eww.  What's the matter with debs and the tools knowing a package is
> i386, and making the assumption that all it's dependencies are i386?
> Put another way, I can't think of a valid use for an amd64 binary
> depending on a ppc32 binary.

The planned logic is as follows:

Package: bar, Depends: foo
Package: foo, Multi-arch: yes

Architecture of foo and bar must match but multiple foo can be
installed.


Package: bar, Depends: foo
Package: foo, Multi-arch: no

Only one foo can be installed but architecture does not have to match
bar.


Package: bar, Depends: foo
Package: foo (Multi-arch missing)

Don't know. Assume only one foo can be installed and architecture must
match.


Package: bar, Depends: foo/i386

For whatever reason the package asks for the i386 flavour of foo. Only
that will do. This will be sometimes needed for plugins:

Package: iceweasel
Architecture: i386
Multi-arch: no
Provides: www-browser

This is a binary package, only one can be installed and will work for
all architectures.

Package: foobar
Architecture: i386
Depends: www-browser

Another binary that calls foo via e.g. system("iceweasel --do-something").
It works perfectly fine with the amd64 flavour of iceweasel.

Package: iceweasel-plugin-flash
Architecture: i386
Depends: iceweasel/i386

The 32bit flash plugin only works with the 32bit iceweasel. Otherwise
it can not be loaded.

It is a rare case and ment to be used sparingly. But it should be
available when needed.

>> apt-get install amd64/foobar
>
> Fine.  Or maybe --arch amd64.

apt-get install amd64/foo i386/bar powerpc/baz

Should that have multiple --arch switches?

MfG
        Goswin


Reply to: