Bug#693400: please allow multiarch for grub-ieee1275-bin

Daniel Kahn Gillmor dkg at fifthhorseman.net
Sat Nov 17 18:04:53 UTC 2012


On 11/16/2012 06:47 PM, Colin Watson wrote:
> No - Multi-Arch: foreign means that you get to use the i386 binary to
> satisfy dependencies of a powerpc binary, and doesn't imply
> coinstallation of the same package on multiple architectures.  You're
> thinking of Multi-Arch: same.

It's true, i get these confused!  It will probably take me a few more
encounters with multiarch before i get it all sorted out, so i
appreciate the clarifications here :)

> It would probably work, but I have a slightly better idea.  The point of
> the *-bin packages is to provide the binary objects so that you can
> construct images without having them take over your boot sector; they do
> not need to include the dependencies required for grub-install to work.
> I therefore propose:
> 
> === modified file 'debian/changelog'
> --- debian/changelog	2012-11-16 23:31:47 +0000
> +++ debian/changelog	2012-11-16 23:39:26 +0000
> @@ -5,6 +5,8 @@ grub2 (2.00-8) UNRELEASED; urgency=low
>      - Set a file encoding, per PEP 0263.
>    * Drop grub-ieee1275-bin's dependency on bc in favour of powerpc-ibm-utils
>      (>= 1.2.12-1) (cf. #625728).
> +  * Move powerpc-ibm-utils and powerpc-utils dependencies from
> +    grub-ieee1275-bin to grub-ieee1275 (closes: #693400).
>  
>   -- Colin Watson <cjwatson at debian.org>  Thu, 27 Sep 2012 13:25:46 +0100
>  
> 
> === modified file 'debian/control'
> --- debian/control	2012-11-16 23:31:47 +0000
> +++ debian/control	2012-11-16 23:36:25 +0000
> @@ -379,8 +379,7 @@ Description: GRand Unified Bootloader, v
>  
>  Package: grub-ieee1275-bin
>  Architecture: any-i386 any-amd64 any-powerpc any-ppc64 any-sparc
> -Depends: ${shlibs:Depends}, ${misc:Depends}, grub-common (= ${binary:Version}),
> - powerpc-ibm-utils (>= 1.2.12-1) [any-powerpc any-ppc64], powerpc-utils [any-powerpc any-ppc64]
> +Depends: ${shlibs:Depends}, ${misc:Depends}, grub-common (= ${binary:Version})
>  Replaces: grub2 (<< ${source:Version}), grub-common (<= 1.97~beta2-1), grub-ieee1275 (<< 1.99-1)
>  Suggests: genisoimage [any-powerpc any-ppc64]
>  Multi-Arch: foreign
> @@ -410,7 +409,7 @@ Description: GRand Unified Bootloader, v
>  
>  Package: grub-ieee1275
>  Architecture: any-i386 any-amd64 any-powerpc any-ppc64 any-sparc
> -Depends: ${shlibs:Depends}, ${misc:Depends}, grub2-common (= ${binary:Version}), grub-ieee1275-bin (= ${binary:Version}), ucf
> +Depends: ${shlibs:Depends}, ${misc:Depends}, grub2-common (= ${binary:Version}), grub-ieee1275-bin (= ${binary:Version}), ucf, powerpc-ibm-utils (>= 1.2.12-1) [any-powerpc any-ppc64], powerpc-utils [any-powerpc any-ppc64]
>  Replaces: grub-legacy, grub2 (<< ${source:Version}), grub-common (<= 1.97~beta2-1), grub-efi-amd64, grub-efi-ia32, grub-coreboot, grub-pc
>  Conflicts: grub (<< 0.97-54), grub-legacy, grub-efi-amd64, grub-efi-ia32, grub-coreboot, grub-pc
>  Multi-Arch: foreign
> 
> What do you think?

This would suit my purposes, i think.  I'd welcome this change!

> This doesn't include the grub-install changes you
> suggest, but TBH I kind of question whether those are worth it; needing
> to use --no-nvram doesn't seem like a desperately big deal.  If we do
> feel we need to change grub-install, I think I'd want to do that
> upstream.

I still like the idea of grub-install being cleverer/more parsimonious
about figuring out what it needs at runtime, but i agree that this is
probably a change that should be done upstream.

> Even with this change, though, I can't safely make grub-ieee1275-bin
> Multi-Arch: same.  i386 and powerpc may not collide, but i386 and amd64
> do, as would powerpc and ppc64 if we had a full ppc64 port, and
> multiarch has no provision for distinguishing those cases.
> i386/ieee1275 systems are very rare, and I'm not sure it's worth any
> kind of non-trivial contortions to support coinstalling the i386 and
> powerpc binaries here.

Argh, right.

>> Can you help me see why grub-ieee1275-bin:powerpc Depends: directly on
>> bc in the first place?
> 
> That dependency predates #625728 being fixed.  I've dropped the direct
> dependency on bc now in favour of a versioned dependency on
> powerpc-ibm-utils.

Excellent, this makes sense to me.

Thanks for your work on this, Colin.  When a new version of
grub-ieee1275-bin hits experimental, i hope to document this approach to
making a grub-bootable powerpc USB stick.  It'll help people take
advantage of a lot of old powerpc machines.

Regards,

	--dkg

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 1030 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-grub-devel/attachments/20121117/b805e169/attachment.pgp>


More information about the Pkg-grub-devel mailing list