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

Bug#712116: DPkg::Pre-Install-Pkgs should receive multiarch-qualified package names



On Wed, Jun 26, 2013 at 6:47 PM, Francesco Poli
<invernomuto@paranoici.org> wrote:
> On Wed, 26 Jun 2013 18:06:53 +0200 David Kalnischkies wrote:
>> as it
>> looks like it pins the wrong package if its using v2 currently and I am also
>> not really sure if the pin-logic shouldn't be changed drastically as a bug
>> usually effects all architectures and not just one, but my ruby knowledge
>> is non-existent, so I could be completely wrong on this.
>
> Let's leave implementation details alone (specific to Ruby or to any
> other language).
> As you probably know, apt-listbugs pins packages by adding stanzas
> to /etc/apt/preferences: as a consequence, what apt-listbugs can put
> there depends on the syntax apt and aptitude will be able to understand.
> Is there any way to qualify the architecture in Pin stanzas?
> I glanced over apt_preferences(5), but couldn't find anything about
> this topic.

You can pin a specific architecture just like you can request a specific
architecture on the commandline with <packagename>:<architecture>
If no architecture is provided it will refer to the native architecture.
(the commandline is a bit more generous as it will automatically pick
 a foreign package if no native package exists, e.g. apt-get install wine-bin
 will install "wine-bin:i386" on a amd64 machine, because a "wine-bin:amd64"
 packages doesn't exist).

That's why I believe apt-listbugs pins the "wrong" package as if I e.g. have
foobar:i386 installed (on a amd64 machine) the hook will give you foobar
as package name and the pin will be issued for foobar which means the pin
has no effect, as it isn't effecting "foobar:i386". I presume pinning
"foobar:*" would be better as most bugs will effect all architectures.

But I am not an apt-listbugs user, so this is just guessing based on a quick
look into the code, which as I said, could be completely wrong.
(and hence I just cc'ed you rather than report a bug or anything formal)


> Please note that, as I said in the bug log for #688506, I am
> unfortunately quite ignorant about multiarch.
> Where can I find a crash course on multiarch theory and practice?

You can find various documentation on https://wiki.debian.org/Multiarch
depending on if you are coming from a user, package maintainer or
package manager developer point of view. If you know what the package
ia32libs was and why it was needed: MultiArch is replacing it with a cleaner,
more general and overall better solution, otherwise: MultiArch is enabling
the installation of packages from different architectures on the same machine
so you can run e.g. applications compiled for i386 on amd64.

The only really important thing is that the package name isn't a unique key
anymore: You can easily have a bunch of packages with the same name
installed (those packages will be marked: MultiArch: same).
Anything else are more or less boring details (actually, even this is a
 boring detail, but many things assumed that the package name is a unique
 key, so it has to be mentioned as important).


Best regards

David Kalnischkies


Reply to: