Re: Adobre reader with multi-arch support

Top Page

Reply to this message
Author: John Paul Adrian Glaubitz
Date:  
To: Brad Rogers
CC: dmo-discussion
Subject: Re: Adobre reader with multi-arch support
Hi,

On Sat, Jul 07, 2012 at 10:36:18AM +0100, Brad Rogers wrote:

> I'm slightly confused by talk of multi-arch, but to get acroread on
> amd64, this now required, yes? I ask because doing that means bringing
> in approx 45MB of other stuff, too. Plus, acroread is marked as
> local/obsolete in 'testing' now. It also means (it seems to me) running
> 32 bit software on a 64 bit OS. Something I'm rather keen to avoid if
> at all possible.


The old acroread amd64 packages depended on ia32-libs which was a very
poor hack to be able to install binary i386-only packages on amd64
machines.

ia32-libs is a huge package which contains the most common libraries
as 32-bit binaries for cross-installation on an amd64 machine. The
libraries would get installed into /usr/lib32 and /lib32 and software
like Acrobat Reader or Skype (both are available as native i386
binaries only) would have to be repackaged as amd64 packages so that
the package manager would be able to install them on amd64.

The old approach has several disadvantages:

- having to repackage i386-binaries for amd64 means extra, redundant
work
- maintaining a package like ia32-libs is horrible since updates to
single libraries within the ia32-libs package (e.g., to fix a
vulnerability) entail having to rebuild the whole ia32-libs package
(if you fix a bug in libpng, for example, you will have to fix the
bug in ia32-libs as well)
- it allows cross-installation of i386 binaries on amd64 only

With Multi-Arch, you get:

- dropping of the ugly ia32-libs package, meaning no more redundant
maintenance work and saving lots of disk space (you now only install
the libraries that you need instead of a huge package containing
nearly everything common) and faster bug fixes
- *parallel* cross-installation of libraries of any architecture on
any architecture without having to repackage anything; just add the
new architecture with "dpkg --add-architecture <arch>" and install
the package you want with "apt-get install <package>:<arch>"
- when you install 'qemu-user-static', you can cross-install any binary
on any architecture; want to install the i386-only acroread on your
new ARM machine? no problem, just add the i386 repositories with
"dpkg --add-architecture" and install acroread with "apt-get install
acroread:i386"; after that, you can seamlessly run and use Acrobat
reader on ARM as if it was a native ARM binary
- with the ability to cross-install libraries for different
architectures, you get the capability for cross-compiling for free;
it's never been easier before to compile binaries for your handheld
MIPS or ARM device on your amd64 desktop machine
- you're no longer limited to cross-installing i386 on amd64; any
cross-installation of any supported Debian architecture is now
possible

So, I guess it makes much more sense to migrate all packages to
Multi-Arch now and I'm happy that Christian already did the job for
acroread ;).

Adrian