Bug#467069: pango1.0: biarch support

2008-02-26 Thread Loïc Minier
On Tue, Feb 26, 2008, Javier Serrano Polo wrote:
 Would you propose glibc maintainers that libc6-i386 package should
 ship /etc/ld.so.conf.d/i486-linux-gnu.conf and the /lib/i486-linux-gnu
 and /usr/lib/i486-linux-gnu symlinks then?

 Not sure; perhaps this should simply be done when the personality is
 32-bits (linux32 blahblah).

-- 
Loïc Minier




Bug#467069: pango1.0: biarch support

2008-02-25 Thread Loïc Minier
On Sun, Feb 24, 2008, Javier Serrano Polo wrote:
 El dg 24 de 02 del 2008 a les 11:22 +0100, en/na Loïc Minier va
 escriure:
   Ok, but why not using usr/lib/$(DEB_HOST_GNU_TYPE)?
 
 There's no package using usr/lib/i486-linux-gnu or
 usr/lib/x86_64-linux-gnu. Those paths are even incorrect, compilation on
 amd64 would need overriding DEB_HOST_GNU_TYPE. And I won't use ../lib32.

 I'm not sure you're aware of what multiarch is about: it's not about
 building 32-bits packages under 64-bits or vice-versa, it's about
 having parallel installable libs for all arches.  So you could even
 have an arm pango installed if you have a way to run arm binaries such
 as qemu-arm.

 The pathnames are not a pango1.0 invention, these have been agreed upon
 already; if you're running Debian, you probably have something like
 /etc/ld.so.conf.d/i486-linux-gnu or
 /etc/ld.so.conf.d/x86_64-linux-gnu.conf telling the runtime linker
 about these libs.

 (I don't understand your remark about ../lib32.)

   Your ld.so should
   find the libs and the modules should be found by pango.  What's
   preventing you to use the multiarch pathnames or why are you insisting
   on using /usr/lib32 / the biarch pathnames?
 
 /usr/lib32 works, it's tested. It's standard. It's the one currently
 used by Debian; either this or /emul/ia32-linux/usr/lib. On the other
 hand, what's preventing the use of DEB_BUILD_OPTIONS=arch32bit? What
 packages are using usr/lib/$(DEB_HOST_GNU_TYPE)?

 As I explained in my first reponse, multiarch is a superset of biarch;
 biarch works, multiarch works; it would be quite complex to have a
 multiarch *and* a biarch version of pango, so I'd prefer not mixing
 these.

   Why is it needed?  (What's the rpath pointing to and why is it
   problematic?)
 The rpath points to /usr/lib32. That shouldn't be a problem, but lintian
 complains because rpath is deprecated in Debian. Perhaps you already
 know this:
 http://wiki.debian.org/RpathIssue

 Ok, I was wondering whether you were required to strip this RPATH to
 fix a particular runtime issue; one way to fix it is to strip it like
 you did (I would expect libtool to not generate this RPATH if it
 properly supports biarch though, but I'm not interested in
 investigating), and it's nice for policy compliance.  Yes, I know about
 the RpathIssue; the most common one is the other way around (/usr/lib64
 being considered the standard and /usr/lib RPATHes being generated)
 which causes great trouble to enforce LD_LIBRARY_PATH on amd64, but
 that's another story.

-- 
Loïc Minier




Bug#467069: pango1.0: biarch support

2008-02-25 Thread Javier Serrano Polo
El dl 25 de 02 del 2008 a les 11:17 +0100, en/na Loïc Minier va
escriure:
  The pathnames are not a pango1.0 invention, these have been agreed upon
  already; if you're running Debian, you probably have something like
  /etc/ld.so.conf.d/i486-linux-gnu or
  /etc/ld.so.conf.d/x86_64-linux-gnu.conf telling the runtime linker
  about these libs.

Would you propose glibc maintainers that libc6-i386 package should
ship /etc/ld.so.conf.d/i486-linux-gnu.conf and the /lib/i486-linux-gnu
and /usr/lib/i486-linux-gnu symlinks then?

  (I don't understand your remark about ../lib32.)

LIBDIR=/usr/lib/../lib32, never mind.

I'll test your (potential) proposal.





Bug#467069: pango1.0: biarch support

2008-02-25 Thread Javier Serrano Polo
It works and I can repackage it easily now. There are two lintian
warnings, but I think they're false positives.
I think future enhancements deserve their own bug. If you agree I'll
close this one.
I wonder however why the path is /usr/lib/host-type instead
of /usr/share/host-type since all architectures should be able to handle
the same files.




-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#467069: pango1.0: biarch support

2008-02-24 Thread Loïc Minier
On Sat, Feb 23, 2008, Javier Serrano Polo wrote:
   Well isn't DEB_BUILD_OPTIONS=multiarch doing what you want?!
 No, it sets usr/lib/$(DEB_HOST_GNU_TYPE) instead of usr/lib32.

 Ok, but why not using usr/lib/$(DEB_HOST_GNU_TYPE)?  Your ld.so should
 find the libs and the modules should be found by pango.  What's
 preventing you to use the multiarch pathnames or why are you insisting
 on using /usr/lib32 / the biarch pathnames?

   If you can pass params to debian/rules binary, you can also try
   overriding LIBDIR directly:
  fakeroot debian/rules binary LIBDIR=usr/lib32
   (or MODULES_PATH, MODULE_FILES_D etc.; see pango1.0's debian/rules)
 
 That would do the trick. Is there a way to pass params from
 dpkg-buildpackage to debian/rules?

 No, you can by hand...  :)

 Then I'd only need to add the extra chrpath call to keep lintian happy
 (attached).

 Why is it needed?  (What's the rpath pointing to and why is it
 problematic?)

-- 
Loïc Minier




Bug#467069: pango1.0: biarch support

2008-02-24 Thread Javier Serrano Polo
El dg 24 de 02 del 2008 a les 11:22 +0100, en/na Loïc Minier va
escriure:
  Ok, but why not using usr/lib/$(DEB_HOST_GNU_TYPE)?

There's no package using usr/lib/i486-linux-gnu or
usr/lib/x86_64-linux-gnu. Those paths are even incorrect, compilation on
amd64 would need overriding DEB_HOST_GNU_TYPE. And I won't use ../lib32.

  Your ld.so should
  find the libs and the modules should be found by pango.  What's
  preventing you to use the multiarch pathnames or why are you insisting
  on using /usr/lib32 / the biarch pathnames?

/usr/lib32 works, it's tested. It's standard. It's the one currently
used by Debian; either this or /emul/ia32-linux/usr/lib. On the other
hand, what's preventing the use of DEB_BUILD_OPTIONS=arch32bit? What
packages are using usr/lib/$(DEB_HOST_GNU_TYPE)?

  Why is it needed?  (What's the rpath pointing to and why is it
  problematic?)

The rpath points to /usr/lib32. That shouldn't be a problem, but lintian
complains because rpath is deprecated in Debian. Perhaps you already
know this:
http://wiki.debian.org/RpathIssue





Bug#467069: pango1.0: biarch support

2008-02-23 Thread Loïc Minier
On Fri, Feb 22, 2008, Javier Serrano Polo wrote:
 Going back to the rebuild, I'd need a simple way to set the library path
 through DEB_BUILD_OPTIONS. pango1.0 is almost done. Packages gtk+2.0 and
 libao have the same problem (and probably 22 more packages).
 I'd like to know if I can count on you to help or accept my help, so I
 can automate this more reliably.

 Well isn't DEB_BUILD_OPTIONS=multiarch doing what you want?!

 If you can pass params to debian/rules binary, you can also try
 overriding LIBDIR directly:
fakeroot debian/rules binary LIBDIR=usr/lib32
 (or MODULES_PATH, MODULE_FILES_D etc.; see pango1.0's debian/rules)


 I still don't quite understand what your problem is, so that's a
 barrier to accepting the patches, but I welcome patches in general!  ;)

-- 
Loïc Minier




Bug#467069: pango1.0: biarch support

2008-02-23 Thread Javier Serrano Polo
El ds 23 de 02 del 2008 a les 13:14 +0100, en/na Loïc Minier va
escriure:
  Well isn't DEB_BUILD_OPTIONS=multiarch doing what you want?!

No, it sets usr/lib/$(DEB_HOST_GNU_TYPE) instead of usr/lib32.

  If you can pass params to debian/rules binary, you can also try
  overriding LIBDIR directly:
 fakeroot debian/rules binary LIBDIR=usr/lib32
  (or MODULES_PATH, MODULE_FILES_D etc.; see pango1.0's debian/rules)

That would do the trick. Is there a way to pass params from
dpkg-buildpackage to debian/rules?

Then I'd only need to add the extra chrpath call to keep lintian happy
(attached).
--- pango1.0-1.18.4.orig/debian/rules	2008-02-23 13:55:50.0 +0100
+++ pango1.0-1.18.4/debian/rules	2008-02-21 00:18:38.0 +0100
@@ -238,6 +238,9 @@
 	# /usr/lib; see #432258
 	chrpath -d debian/$(UDEB_PKG)/$(LIBDIR)/*.so.* \
 		debian/$(UDEB_PKG)/$(MODULES_PATH)/*.so
+	# remove the rpath in more libs and modules
+	chrpath -d debian/$(SHARED_PKG)/$(LIBDIR)/*.so.* \
+		debian/$(SHARED_PKG)/$(MODULES_PATH)/*.so
 	# Remove the thai module to avoid extraneous dependencies
 	rm -f debian/$(UDEB_PKG)/$(MODULES_PATH)/pango-thai-lang.so
 	# empty the dependency_libs in the *.la files


Bug#467069: pango1.0: biarch support

2008-02-22 Thread Javier Serrano Polo
Package: pango1.0
Version: 1.18.4-1
Severity: wishlist

El dj 21 de 02 del 2008 a les 21:03 +0100, en/na Loïc Minier va
escriure:
 On Thu, Feb 21, 2008, Javier Serrano Polo wrote:
  I'm working on ia32 libraries support and I had to recompile pango,
  using a different library path and an extra chrpath call.
 
  Hmm you shouldn't have to rebuild; copying the i386 build into
  ia32-libs is supposed to work.

I should note first I'm not using ia32-libs, ia32-libs-gtk or any other
library compilation. I'm using each library with its own package,
preserving dependencies. The scheme is initially described in #464796.

While most packages work out of the i386 box, by simple repackage,
others make use of modules or private libraries. These are accessed
through hard coded paths, so I need to configure with a different
library path.
I'm using /usr/lib32 instead of /emul/ia32-linux/usr/lib because it
should be portable to other 32 bit archs.

  The final solution would be to build two new flavors (e.g., shared32 and
  static32) but I need to get the dependencies in first.
 
  This was considered when multiarch was implemented, but it was
  considered:
  - complex and messy, especially with multiarch at the same time
  - useless if we get multiarch

The paths I mentioned are currently working, even /usr/lib32 is
standard. I don't have any sign of another multiarch approach. Please
correct me if I'm wrong.
Anyway, I'll freeze the new flavors topic. It's useless without the
needed dependencies.

Going back to the rebuild, I'd need a simple way to set the library path
through DEB_BUILD_OPTIONS. pango1.0 is almost done. Packages gtk+2.0 and
libao have the same problem (and probably 22 more packages).
I'd like to know if I can count on you to help or accept my help, so I
can automate this more reliably.