On Sat, Jan 13, 2007, Goswin von Brederlow wrote:
> Which means the kernel has to load /usr into cache and check if lib32
> exists. That shouldn't even cause a disk access, just cache. I don't
> see that as a problem.

 Yeah, same here, it's my preferred solution as well from the two; I
 wonder why Ubuntu folks picked uname().

> Ok, so we agree that the SYSCONFDIR part is now obsolete. That
> certainly simplifies things.

 (Not for Gtk, but this is far more complex and I prefer getting things
 done cleanly on Pango first which is simpler and then doing the same on
 Gtk plus the needed extra hacks.)

> We have to replace the /usr/lib/pango/1.5.0/module-files.d with
> /usr/lib32/pango/1.5.0/module-files.d on amd64 32bit otherwise every
> single 64bit module generates a few lines error message.

 Yes, but I don't consider it wise to change the internal definition of
 libdir for pango; I prefer changing the specific path to
 /usr/lib/pango/1.5.0/module-files.d to not use libdir but lib32dir for
 example or something similar.  Of course, one could check how pango
 uses its libdir in the whole pango source code, but
 pango_get_lib_subdirectory() is part of the ABI and this could change
 in future releases, I prefer not taking the risk, if the code relative
 to modules changes, at least the patch wont apply.

> Debian    Personality   uname                   needed dir
> i386      32bit         i[3456]86               /usr/lib
> i386      64bit         x86_64                  /usr/lib
> amd64     32bit         i686                    /usr/lib32
> amd64     64bit         x86_64                  /usr/lib32
> ia64      32bit         i686 (or i[345]86?)     /usr/lib32
> ia64      64bit         ia64 (?)                /usr/lib32

 Nice.

> Uname isn't helpfull here and access() is way simpler than asking dpkg
> for the architecture, which would be the only way to be sure at runtime.

 Ok, that settles it then.

> >  Goswin, as ia32-libs-gtk is supposed to work on ia64, could you tell me
> >  whether "defined (__ia64__)" the correct test for this platform?
> Should be. But why would you care? The ia64 libpango does not need the
> test, only the i386 one.

 I cared for the 32-bits support under ia64, but since we'll use the
 i386 *.debs, it's not needed indeed.  However, I do need it for the
 lib64 check in the amd64 version; is it "defined(__x86_64__)"?

 Could you complement the above list of arches / unames / personalities
 combination for powerpc / powerpc64 and sparc / sparc64 if it makes
 sense?  Does it make sense to support m68k, arm etc. for a 64-bits
 personality?  Or should this be revisited for bi-arch?

 Why not test for 32-bits/64-bits instead of defined(__i386__) or
 defined(__x86_64__)?

> >  Do you intend to conflict with other packages providing pango module
> >  files?
> Why would I? With the stat test for /usr/lib32/pango there is no
> change for any package except for ia32-libs-gtk. Only ia32-libs-gtk
> would have /usr/lib32/pango and ia32-libs-gtk is the only package with
> 32bit pango modules for amd64. Nothing to conflict against.

 Hmm, it was simpler for me to unconditionnally prepend the /usr/lib32
 path before /usr/lib; but it's cleaner to disable /usr/lib when
 /usr/lib32 is found.

> >  In the initial bug report, you requested support for /usr/lib64 in the
> >  64-bits pango; first, I don't see an ia32-libs-gtk for 32-bits arches,
> >  and second, could you give me a list or arches and "defined()" tests
> >  for these arches?
> There isn't an amd64-libs-gtk package (yet?) but it is kind of a
> chicken&egg problem. Without support for /usr/lib64 there can't be
> one.

 Ok, but we can implement it nevertheless, it's the same amount of work.
 Could you hand me the relevant arches/"defined()" tests couples?  Of
 perhaps we can switch to a 32-bits/64-bits test.

> The number of requests for 32bit gtk support for amd64 made us (and
> ubuntu way before that) create the ia32-libs-gtk package. I haven't
> seen requests for 64bit gtk support on i386 yet so we can ignore that
> for Etch. And for Lenny we can hopefully just use multiarch finaly.

 Yeah, I am aware of the high demand and use of this setup; it's a
 terrible pity that your package went into etch one month ago, and that
 you file RCs for this support at this point of the release cycle...

 For lenny, it might also make sense to work on biarch; there are some
 functional package in the archives, and its support is close to the
 requests in this report.

-- 
Loïc Minier <[EMAIL PROTECTED]>

Reply via email to