... and the patch.
-- .''`. Aurelien Jarno | GPG: 1024D/F1BCDB73 : :' : Debian developer | Electrical Engineer `. `' [EMAIL PROTECTED] | [EMAIL PROTECTED] `- people.debian.org/~aurel32 | www.aurel32.net
diff -u glibc-2.3.6/debian/control glibc-2.3.6/debian/control --- glibc-2.3.6/debian/control +++ glibc-2.3.6/debian/control @@ -1,7 +1,7 @@ Source: glibc Section: libs Priority: required -Build-Depends: gettext (>= 0.10.37-1), make (>= 3.80-1), dpkg-dev (>= 1.13.5), debianutils (>= 1.13.1), tar (>= 1.13.11), bzip2, texinfo (>= 4.0), linux-kernel-headers (>= 2.6.13+0rc3-2) [!hurd-i386], mig (>= 1.3-2) [hurd-i386], hurd-dev (>= 20020608-1) [hurd-i386], gnumach-dev [hurd-i386], texi2html, file, gcc-4.0 [!powerpc !m68k !hppa !hurd-i386], gcc-3.4 (>= 3.4.4-6) [powerpc], gcc-3.4 [m68k hppa], gcc-3.3 [hurd-i386], autoconf, binutils (>= 2.16.1cvs20051109-1), sed (>= 4.0.5-4), gawk, debhelper (>= 4.1.76), libc6-dev-amd64 [i386], libc6-dev-ppc64 [powerpc], quilt +Build-Depends: gettext (>= 0.10.37-1), make (>= 3.80-1), dpkg-dev (>= 1.13.5), debianutils (>= 1.13.1), tar (>= 1.13.11), bzip2, texinfo (>= 4.0), linux-kernel-headers (>= 2.6.13+0rc3-2) [!hurd-i386], mig (>= 1.3-2) [hurd-i386], hurd-dev (>= 20020608-1) [hurd-i386], gnumach-dev [hurd-i386], texi2html, file, gcc-4.0 [!powerpc !m68k !hppa !hurd-i386], gcc-3.4 (>= 3.4.4-6) [powerpc], gcc-3.4 [m68k hppa], gcc-3.3 [hurd-i386], autoconf, binutils (>= 2.16.1cvs20051109-1), sed (>= 4.0.5-4), gawk, debhelper (>= 4.1.76), libc6-dev-amd64 [i386], libc6-dev-ppc64 [powerpc], libc6-dev-i386 [amd64] | ia32-libs-dev (<< 1.5) [amd64], quilt Build-Depends-Indep: perl, po-debconf, po4a Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> Uploaders: Ben Collins <[EMAIL PROTECTED]>, GOTO Masanori <[EMAIL PROTECTED]>, Philip Blundell <[EMAIL PROTECTED]>, Jeff Bailey <[EMAIL PROTECTED]>, Daniel Jacobowitz <[EMAIL PROTECTED]>, Clint Adams <[EMAIL PROTECTED]>, Denis Barbier <[EMAIL PROTECTED]> @@ -337,6 +337,28 @@ This package contains a minimal set of libraries needed for the Debian installer. Do not install it on a normal system. +Package: libc6-i386 +Architecture: amd64 +Section: libs +Priority: extra +Depends: libc6 (= ${Source-Version}), lib32gcc1 +Conflicts: ia32-libs (<< 1.5) +Description: GNU C Library: 32bit shared libraries for amd64 + This package includes shared versions of the standard C + library and the standard math library, as well as many others. + This is the 32bit version of the library, meant for amd64 systems. + +Package: libc6-dev-i386 +Architecture: amd64 +Section: libdevel +Priority: standard +Depends: libc6-i386 (= ${Source-Version}), libc6-dev (= ${Source-Version}) +Conflicts: ia32-libs (<< 1.5) +Description: GNU C Library: 32bit development libraries for amd64 + Contains the symlinks and object files needed to compile and link programs + which use the standard C library. This is the 32bit version of the + library, meant for amd64 systems. + Package: libc6-sparc64 Architecture: sparc Section: libs diff -u glibc-2.3.6/debian/rules.d/control.mk glibc-2.3.6/debian/rules.d/control.mk --- glibc-2.3.6/debian/rules.d/control.mk +++ glibc-2.3.6/debian/rules.d/control.mk @@ -23,6 +23,7 @@ cat debian/control.in/libc6.1 >> [EMAIL PROTECTED] cat debian/control.in/libc0.3 >> [EMAIL PROTECTED] cat debian/control.in/libc1 >> [EMAIL PROTECTED] + cat debian/control.in/amd64_i386 >> [EMAIL PROTECTED] cat debian/control.in/sparc64 >> [EMAIL PROTECTED] cat debian/control.in/s390x >> [EMAIL PROTECTED] cat debian/control.in/amd64 >> [EMAIL PROTECTED] diff -u glibc-2.3.6/debian/rules.d/debhelper.mk glibc-2.3.6/debian/rules.d/debhelper.mk --- glibc-2.3.6/debian/rules.d/debhelper.mk +++ glibc-2.3.6/debian/rules.d/debhelper.mk @@ -202,7 +202,7 @@ sed -e "s#LIBC#$(libc)#" -i $$z; \ sed -e "s#DESTLIBDIR#$$destdir#" -i $$zd; \ sed -e "s/^#.*//" -i $$zd; \ - else \ + elif [ ! -e $$z ]; then \ cp debian/debhelper.in/libc-otherbuild.install $$z; \ cp debian/debhelper.in/libc-otherbuild.preinst debian/$(libc)-$$x.preinst ; \ cp debian/debhelper.in/libc-otherbuild.postinst debian/$(libc)-$$x.postinst ; \ diff -u glibc-2.3.6/debian/debhelper.in/libc.preinst glibc-2.3.6/debian/debhelper.in/libc.preinst --- glibc-2.3.6/debian/debhelper.in/libc.preinst +++ glibc-2.3.6/debian/debhelper.in/libc.preinst @@ -169,7 +169,12 @@ dirs="/usr/local/lib /usr/local/lib32 /usr/local/lib64" if ! test -L /usr; then - dirs="$dirs /usr/lib /usr/lib32 /usr/lib64" + if [ `dpkg-architecture -qDEB_HOST_ARCH` = "amd64" ]; then + # the 32bit i386 libc may be installed in /usr/lib32 on amd64 + dirs="$dirs /usr/lib /usr/lib64" + else + dirs="$dirs /usr/lib /usr/lib32 /usr/lib64" + fi fi if check_dirs $dirs; then echo diff -u glibc-2.3.6/debian/sysdeps/amd64.mk glibc-2.3.6/debian/sysdeps/amd64.mk --- glibc-2.3.6/debian/sysdeps/amd64.mk +++ glibc-2.3.6/debian/sysdeps/amd64.mk @@ -20,0 +21,17 @@ + +# build 32-bit (i386) alternative library +GLIBC_PASSES += i386 +DEB_ARCH_REGULAR_PACKAGES += libc6-i386 libc6-dev-i386 +libc6-i386_shlib_dep = libc6-i386 (>= $(shlib_dep_ver)) + +i386_configure_target = i486-linux +# __i386__ is defined here because Makeconfig uses -undef and the +# /usr/include/asm wrappers need that symbol. +i386_CC = $(CC) -m32 -D__i386__ +i386_add-ons = nptl $(add-ons) +i386_extra_cflags = -O3 -fomit-frame-pointer -D__USE_STRING_INLINES +i386_extra_cflags += -g0 -fno-unit-at-a-time +i386_extra_config_options = $(extra_config_options) --with-tls --with-__thread \ + --includedir=/usr/include/i386-linux --prefix=/emul/ia32-linux/usr +i386_MIN_KERNEL_SUPPORTED = 2.6.0 + diff -u glibc-2.3.6/debian/control.in/main glibc-2.3.6/debian/control.in/main --- glibc-2.3.6/debian/control.in/main +++ glibc-2.3.6/debian/control.in/main @@ -1,7 +1,7 @@ Source: @glibc@ Section: libs Priority: required -Build-Depends: gettext (>= 0.10.37-1), make (>= 3.80-1), dpkg-dev (>= 1.13.5), debianutils (>= 1.13.1), tar (>= 1.13.11), bzip2, texinfo (>= 4.0), linux-kernel-headers (>= 2.6.13+0rc3-2) [!hurd-i386], mig (>= 1.3-2) [hurd-i386], hurd-dev (>= 20020608-1) [hurd-i386], gnumach-dev [hurd-i386], texi2html, file, gcc-4.0 [!powerpc !m68k !hppa !hurd-i386], gcc-3.4 (>= 3.4.4-6) [powerpc], gcc-3.4 [m68k hppa], gcc-3.3 [hurd-i386], autoconf, binutils (>= 2.16.1cvs20051109-1), sed (>= 4.0.5-4), gawk, debhelper (>= 4.1.76), libc6-dev-amd64 [i386], libc6-dev-ppc64 [powerpc], quilt +Build-Depends: gettext (>= 0.10.37-1), make (>= 3.80-1), dpkg-dev (>= 1.13.5), debianutils (>= 1.13.1), tar (>= 1.13.11), bzip2, texinfo (>= 4.0), linux-kernel-headers (>= 2.6.13+0rc3-2) [!hurd-i386], mig (>= 1.3-2) [hurd-i386], hurd-dev (>= 20020608-1) [hurd-i386], gnumach-dev [hurd-i386], texi2html, file, gcc-4.0 [!powerpc !m68k !hppa !hurd-i386], gcc-3.4 (>= 3.4.4-6) [powerpc], gcc-3.4 [m68k hppa], gcc-3.3 [hurd-i386], autoconf, binutils (>= 2.16.1cvs20051109-1), sed (>= 4.0.5-4), gawk, debhelper (>= 4.1.76), libc6-dev-amd64 [i386], libc6-dev-ppc64 [powerpc], libc6-dev-i386 [amd64] | ia32-libs-dev (<= 1.5) [amd64], quilt Build-Depends-Indep: perl, po-debconf, po4a Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> Uploaders: Ben Collins <[EMAIL PROTECTED]>, GOTO Masanori <[EMAIL PROTECTED]>, Philip Blundell <[EMAIL PROTECTED]>, Jeff Bailey <[EMAIL PROTECTED]>, Daniel Jacobowitz <[EMAIL PROTECTED]>, Clint Adams <[EMAIL PROTECTED]>, Denis Barbier <[EMAIL PROTECTED]> --- glibc-2.3.6.orig/debian/debhelper.in/libc-dev-i386.install +++ glibc-2.3.6/debian/debhelper.in/libc-dev-i386.install @@ -0,0 +1,20 @@ +debian/tmp-i386/emul/ia32-linux/usr/lib/libanl.a emul/ia32-linux/usr/lib +debian/tmp-i386/emul/ia32-linux/usr/lib/libBrokenLocale.a emul/ia32-linux/usr/lib +debian/tmp-i386/emul/ia32-linux/usr/lib/libbsd-compat.a emul/ia32-linux/usr/lib +debian/tmp-i386/emul/ia32-linux/usr/lib/libc.a emul/ia32-linux/usr/lib +debian/tmp-i386/emul/ia32-linux/usr/lib/libc_nonshared.a emul/ia32-linux/usr/lib +debian/tmp-i386/emul/ia32-linux/usr/lib/libcrypt.a emul/ia32-linux/usr/lib +debian/tmp-i386/emul/ia32-linux/usr/lib/libdl.a emul/ia32-linux/usr/lib +debian/tmp-i386/emul/ia32-linux/usr/lib/libg.a emul/ia32-linux/usr/lib +debian/tmp-i386/emul/ia32-linux/usr/lib/libieee.a emul/ia32-linux/usr/lib +debian/tmp-i386/emul/ia32-linux/usr/lib/libm.a emul/ia32-linux/usr/lib +debian/tmp-i386/emul/ia32-linux/usr/lib/libmcheck.a emul/ia32-linux/usr/lib +debian/tmp-i386/emul/ia32-linux/usr/lib/libnsl.a emul/ia32-linux/usr/lib +debian/tmp-i386/emul/ia32-linux/usr/lib/libpthread.a emul/ia32-linux/usr/lib +debian/tmp-i386/emul/ia32-linux/usr/lib/libpthread_nonshared.a emul/ia32-linux/usr/lib +debian/tmp-i386/emul/ia32-linux/usr/lib/libresolv.a emul/ia32-linux/usr/lib +debian/tmp-i386/emul/ia32-linux/usr/lib/librt.a emul/ia32-linux/usr/lib +debian/tmp-i386/emul/ia32-linux/usr/lib/libutil.a emul/ia32-linux/usr/lib + +debian/tmp-i386/emul/ia32-linux/usr/lib/*.o emul/ia32-linux/usr/lib +debian/tmp-i386/emul/ia32-linux/usr/lib/*.so emul/ia32-linux/usr/lib --- glibc-2.3.6.orig/debian/debhelper.in/libc-i386.install +++ glibc-2.3.6/debian/debhelper.in/libc-i386.install @@ -0,0 +1,2 @@ +debian/tmp-i386/emul/ia32-linux/usr/lib/*.so.* emul/ia32-linux/usr/lib +debian/tmp-i386/emul/ia32-linux/usr/lib/gconv/*.so* emul/ia32-linux/usr/lib/gconv --- glibc-2.3.6.orig/debian/debhelper.in/libc-i386.links +++ glibc-2.3.6/debian/debhelper.in/libc-i386.links @@ -0,0 +1,2 @@ +/emul/ia32-linux/usr/lib/ld-linux.so.2 /lib/ld-linux.so.2 +/emul/ia32-linux/usr/lib /usr/lib32 --- glibc-2.3.6.orig/debian/control.in/amd64_i386 +++ glibc-2.3.6/debian/control.in/amd64_i386 @@ -0,0 +1,22 @@ +Package: libc6-i386 +Architecture: amd64 +Section: libs +Priority: extra +Depends: libc6 (= ${Source-Version}), lib32gcc1 +Conflicts: ia32-libs (<< 1.5) +Description: GNU C Library: 32bit shared libraries for amd64 + This package includes shared versions of the standard C + library and the standard math library, as well as many others. + This is the 32bit version of the library, meant for amd64 systems. + +Package: libc6-dev-i386 +Architecture: amd64 +Section: libdevel +Priority: standard +Depends: libc6-i386 (= ${Source-Version}), libc6-dev (= ${Source-Version}) +Conflicts: ia32-libs (<< 1.5) +Description: GNU C Library: 32bit development libraries for amd64 + Contains the symlinks and object files needed to compile and link programs + which use the standard C library. This is the 32bit version of the + library, meant for amd64 systems. +