[Pkg-ia32-libs-maintainers] Bug#535486: Bug#535486: ia32-libs breaks multiarch buildd and adds useless dependency

Patrick Matthäi pmatthaei at debian.org
Fri Jul 3 07:26:54 UTC 2009


> Patrick Matthäi <pmatthaei at debian.org> writes:
> What exactly did you need from ia32-libs? You build-depend on (only libs):
>
>   libx11-6, libxext6, libgl1-mesa-glx, libxrandr2, libice6, libsm6,
>   libfontconfig1, libxi6, libxcursor1, libxinerama-dev
>
> That looks a bit odd to me. I see the source just unpacks the binaries
> so I guess you need the libs for the shlibs files. But then why
> libxinerama-dev?

We need them all for shlibs.

> Which of those do you actually need in 32bit to build?
> From looking at the package I see that there is fglrx-glx and
> fglrx-glx-ia32:
>
> Package: fglrx-glx
> Depends: libc6 (>= 2.2.5), libxext6, fglrx-driver (= 1:9-5-1)
>
> Package: fglrx-glx-ia32
> Depends: ia32-libs (>= 2.4), lib32gcc1 (>= 1:4.1.1), libc6-i386 (>= 2.2),
> fglrx-driver (= 1:9-5-1)

Yeah and have a look in the control file, _ia32-libs_ etc are added by
shlibs:Depends.

> With ia32-apt-get this becomes:
>
> PackagePackage: fglrx-glx-ia32
> Depends: ia32-libx11-6, ia32-libxext6, lib32gcc1 (>= 1:4.1.1),
> fglrx-driver (= 1:9-6-2)
>
> So I guess it is only those 2 libraries you need.

Which don't exist in the archive and I do not want to force our users to
use this ia32-apt-get..

> Do me one favour and try this with ia32-apt-get installed:
> WARNING: screws with the diversions!
>
> echo 'fglrx-glx		+' >>/etc/ia32-libs-tools/rename.list
> apt-get update
> apt-get remove fglrx-glx-ia32
> dpkg-divert --package ia32-fglrx-glx --divert
> /usr/lib32/fglrx/diversions/libGL.so.1.2 --rename /usr/lib32/libGL.so.1.2
> dpkg-divert --package ia32-fglrx-glx --divert
> /usr/lib32/fglrx/diversions/libGL.so.1 --rename /usr/lib32/libGL.so.1
> apt-get install ia32-fglrx-glx
>
> Does 32bit GL work with that?

Can not test it atm.

>
> How do you feel about not building fglrx-glx-ia32 on amd64 and
> recommending ia32-fglrx-glx instead? It would need a little patch to
> the preinst and postrm for the diversion handling. Something like:
>
>   if [ "$(dpkg --print-architecture)" = "i386" ]; then
>     LIBDIR=/usr/lib
>     PKG=fglrx-glx
>   else
>     LIBDIR=/usr/lib32
>     PKG=ia32-fglrx-glx
>   fi
>   dpkg-divert --package $PKG --divert
> $LIBDIR/fglrx/diversions/libGL.so.1.2 --rename $LIBDIR/libGL.so.1.2
>
> but only in the i386 deb.

I think this is currently a no go for me.

> Alternatively, not sure yet if that is the right way to go, add a
> preinst.amd64 and postrm.amd64 (same for ia64?) file to
> DEBIAN/control. ia32-apt-get would then substitude that file when
> unpacking the maintainer scripts on amd64.
>
> Or as thrid option I (or fglrx-glx) could include a hook for
> ia32-apt-get to rewrite the preinst/postrm scripts on the fly while
> unpacking.
>
>> 2) While ia32-apt-get is installed and replaces parts of the system it
>> also
>> wants to have more entropy on building keys in pbuilder, which needs
>> user
>> interaction - that is a no go for a automagic build.
>
> It just needs a source for random bits. Without the user as source it
> might take longer but buildds must have other sources too. Otherwise
> things like ssh or https wouldn't work.
>

And it still breaks them.


>> Cheers.
>
> MfG
>         Goswin
>
> PS: fglrx-glx-ia32 needs to Pre-Depends: libc6 (>= 2.9-18) if you keep it

Which is already done.

> PPS: ia32-libs has not worked right for buildds making it neccessary
> to split out libc6-i386, lib32z1, lib32bz1, lib32asound,
> lib32ncurses5, lib32readline5. That Build-Depends was never quite
> right.

What is wrong with removing the dependency on ia32-apt-get?







More information about the Pkg-ia32-libs-maintainers mailing list