[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

r3808 - in glibc-package/trunk/debian: . debhelper.in rules.d sysdeps



Author: aurel32
Date: 2009-09-07 18:51:15 +0000 (Mon, 07 Sep 2009)
New Revision: 3808

Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/debhelper.in/libc-dev.install
   glibc-package/trunk/debian/debhelper.in/libc-prof.install
   glibc-package/trunk/debian/debhelper.in/libc-udeb.install
   glibc-package/trunk/debian/debhelper.in/libc.install
   glibc-package/trunk/debian/debhelper.in/libc.lintian-overrides
   glibc-package/trunk/debian/debhelper.in/libc.preinst
   glibc-package/trunk/debian/debhelper.in/libnss-dns-udeb.install
   glibc-package/trunk/debian/debhelper.in/libnss-files-udeb.install
   glibc-package/trunk/debian/rules
   glibc-package/trunk/debian/rules.d/build.mk
   glibc-package/trunk/debian/rules.d/debhelper.mk
   glibc-package/trunk/debian/sysdeps/amd64.mk
Log:
  * Merge from the multiarch branch:
    - allow to specify libdir and slibdir also for the main flavor.
    - use real dependencies between the build_* and binaryinst_* 
      targets.
    - simplify clean target.



Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog	2009-09-07 18:46:12 UTC (rev 3807)
+++ glibc-package/trunk/debian/changelog	2009-09-07 18:51:15 UTC (rev 3808)
@@ -11,6 +11,11 @@
     bug#544942.
   * nscd.conf.5: add documentation for max-db-size and auto-propagate
     options. Closes: bug#544544.
+  * Merge from the multiarch branch:
+    - allow to specify libdir and slibdir also for the main flavor.
+    - use real dependencies between the build_* and binaryinst_* 
+      targets.
+    - simplify clean target.
 
   [ Samuel Thibault ]
   * debian/debhelper.in/libc.install: Install libc/*-gnu*/ instead of
@@ -19,7 +24,7 @@
   [ Petr Salinger ]
   * kfreebsd/local-sysdeps.diff: update to revision 2779 (from glibc-bsd).
 
- -- Aurelien Jarno <aurel32@debian.org>  Mon, 07 Sep 2009 20:44:12 +0200
+ -- Aurelien Jarno <aurel32@debian.org>  Mon, 07 Sep 2009 20:49:08 +0200
 
 eglibc (2.9-26) unstable; urgency=low
 

Modified: glibc-package/trunk/debian/debhelper.in/libc-dev.install
===================================================================
--- glibc-package/trunk/debian/debhelper.in/libc-dev.install	2009-09-07 18:46:12 UTC (rev 3807)
+++ glibc-package/trunk/debian/debhelper.in/libc-dev.install	2009-09-07 18:51:15 UTC (rev 3808)
@@ -1,22 +1,21 @@
-debian/tmp-libc/usr/lib/libanl.a usr/lib
-debian/tmp-libc/usr/lib/libBrokenLocale.a usr/lib
-debian/tmp-libc/usr/lib/libbsd-compat.a usr/lib
-debian/tmp-libc/usr/lib/libc.a usr/lib
-debian/tmp-libc/usr/lib/libc_nonshared.a usr/lib
-debian/tmp-libc/usr/lib/libcrypt.a usr/lib
-debian/tmp-libc/usr/lib/libdl.a usr/lib
-debian/tmp-libc/usr/lib/libg.a usr/lib
-debian/tmp-libc/usr/lib/libieee.a usr/lib
-debian/tmp-libc/usr/lib/libm.a usr/lib
-debian/tmp-libc/usr/lib/libmcheck.a usr/lib
-debian/tmp-libc/usr/lib/libnsl.a usr/lib
-debian/tmp-libc/usr/lib/libpthread.a usr/lib
-debian/tmp-libc/usr/lib/libpthread_nonshared.a usr/lib
-debian/tmp-libc/usr/lib/libresolv.a usr/lib
-debian/tmp-libc/usr/lib/librpcsvc.a usr/lib
-debian/tmp-libc/usr/lib/librt.a usr/lib
-debian/tmp-libc/usr/lib/libutil.a usr/lib
-
-debian/tmp-libc/usr/lib/*.o usr/lib
-debian/tmp-libc/usr/lib/*.so usr/lib
-debian/tmp-libc/usr/include/* usr/include
+TMPDIR/LIBDIR/libanl.a LIBDIR
+TMPDIR/LIBDIR/libBrokenLocale.a LIBDIR
+TMPDIR/LIBDIR/libbsd-compat.a LIBDIR
+TMPDIR/LIBDIR/libc.a LIBDIR
+TMPDIR/LIBDIR/libc_nonshared.a LIBDIR
+TMPDIR/LIBDIR/libcrypt.a LIBDIR
+TMPDIR/LIBDIR/libdl.a LIBDIR
+TMPDIR/LIBDIR/libg.a LIBDIR
+TMPDIR/LIBDIR/libieee.a LIBDIR
+TMPDIR/LIBDIR/libm.a LIBDIR
+TMPDIR/LIBDIR/libmcheck.a LIBDIR
+TMPDIR/LIBDIR/libnsl.a LIBDIR
+TMPDIR/LIBDIR/libpthread.a LIBDIR
+TMPDIR/LIBDIR/libpthread_nonshared.a LIBDIR
+TMPDIR/LIBDIR/libresolv.a LIBDIR
+TMPDIR/LIBDIR/librpcsvc.a LIBDIR
+TMPDIR/LIBDIR/librt.a LIBDIR
+TMPDIR/LIBDIR/libutil.a LIBDIR
+TMPDIR/LIBDIR/*.o LIBDIR
+TMPDIR/LIBDIR/*.so LIBDIR
+TMPDIR/usr/include/* usr/include

Modified: glibc-package/trunk/debian/debhelper.in/libc-prof.install
===================================================================
--- glibc-package/trunk/debian/debhelper.in/libc-prof.install	2009-09-07 18:46:12 UTC (rev 3807)
+++ glibc-package/trunk/debian/debhelper.in/libc-prof.install	2009-09-07 18:51:15 UTC (rev 3808)
@@ -1 +1 @@
-debian/tmp-libc/usr/lib/*_p.a usr/lib
+TMPDIR/LIBDIR/*_p.a LIBDIR

Modified: glibc-package/trunk/debian/debhelper.in/libc-udeb.install
===================================================================
--- glibc-package/trunk/debian/debhelper.in/libc-udeb.install	2009-09-07 18:46:12 UTC (rev 3807)
+++ glibc-package/trunk/debian/debhelper.in/libc-udeb.install	2009-09-07 18:51:15 UTC (rev 3808)
@@ -1,13 +1,13 @@
 # FIXME: someday we may need to handle installing into non-lib.
-debian/tmp-libc/lib/ld*.so* lib
-debian/tmp-libc/lib/libm-*.so* lib
-debian/tmp-libc/lib/libm.so* lib
-debian/tmp-libc/lib/libdl*.so* lib
-debian/tmp-libc/lib/libresolv*.so* lib
-debian/tmp-libc/lib/libc-*.so* lib
-debian/tmp-libc/lib/libc.so* lib
-debian/tmp-libc/lib/libutil* lib
-debian/tmp-libc/lib/libcrypt* lib
-debian/tmp-libc/lib/librt*.so* lib
-debian/tmp-libc/lib/libpthread*.so* lib
+TMPDIR/SLIBDIR/ld*.so* lib
+TMPDIR/SLIBDIR/libm-*.so* lib
+TMPDIR/SLIBDIR/libm.so* lib
+TMPDIR/SLIBDIR/libdl*.so* lib
+TMPDIR/SLIBDIR/libresolv*.so* lib
+TMPDIR/SLIBDIR/libc-*.so* lib
+TMPDIR/SLIBDIR/libc.so* lib
+TMPDIR/SLIBDIR/libutil* lib
+TMPDIR/SLIBDIR/libcrypt* lib
+TMPDIR/SLIBDIR/librt*.so* lib
+TMPDIR/SLIBDIR/libpthread*.so* lib
 

Modified: glibc-package/trunk/debian/debhelper.in/libc.install
===================================================================
--- glibc-package/trunk/debian/debhelper.in/libc.install	2009-09-07 18:46:12 UTC (rev 3807)
+++ glibc-package/trunk/debian/debhelper.in/libc.install	2009-09-07 18:51:15 UTC (rev 3808)
@@ -1,10 +1,7 @@
-debian/tmp-libc/lib/*.so* lib
-debian/tmp-libc/usr/lib/gconv/*.so usr/lib/gconv
-debian/tmp-libc/usr/lib/gconv/gconv-modules usr/lib/gconv
+TMPDIR/SLIBDIR/*.so* SLIBDIR
+TMPDIR/LIBDIR/gconv/*.so LIBDIR/gconv
+TMPDIR/LIBDIR/gconv/gconv-modules LIBDIR/gconv
 
-debian/tmp-libc/lib/*-gnu*/ lib
-debian/tmp-libc/usr/lib/*-gnu*/ usr/lib
+TMPDIR/etc/ld.so.conf.d /etc
 
-debian/tmp-libc/etc/ld.so.conf.d /etc
-
 BUILD-TREE/test-results-*-libc usr/share/doc/LIBC

Modified: glibc-package/trunk/debian/debhelper.in/libc.lintian-overrides
===================================================================
--- glibc-package/trunk/debian/debhelper.in/libc.lintian-overrides	2009-09-07 18:46:12 UTC (rev 3807)
+++ glibc-package/trunk/debian/debhelper.in/libc.lintian-overrides	2009-09-07 18:51:15 UTC (rev 3808)
@@ -1,13 +1,13 @@
 # libpthread must be stripped specially; GDB needs the non-dynamic 
 # symbol table in order to load the thread debugging library.
-LIBC: unstripped-binary-or-object ./lib/libpthread-2.9.so
+LIBC: unstripped-binary-or-object .SLIBDIR/libpthread-2.9.so
 
 # ld.so must be executable, otherwise the system will not work
-LIBC: shlib-with-executable-bit lib/ld-2.9.so 0755
+LIBC: shlib-with-executable-bit .SLIBDIR/ld-2.9.so 0755
 
 # It is normal that the ELF dynamic linker does not need any other 
 # library
-LIBC: shared-lib-without-dependency-information ./lib/ld-2.9.so
+LIBC: shared-lib-without-dependency-information .SLIBDIR/ld-2.9.so
 
 # dependency on debconf is not needed, as glibc has a fallback to tty 
 LIBC: missing-debconf-dependency-for-preinst

Modified: glibc-package/trunk/debian/debhelper.in/libc.preinst
===================================================================
--- glibc-package/trunk/debian/debhelper.in/libc.preinst	2009-09-07 18:46:12 UTC (rev 3807)
+++ glibc-package/trunk/debian/debhelper.in/libc.preinst	2009-09-07 18:51:15 UTC (rev 3808)
@@ -197,7 +197,7 @@
 
 if [ "$type" != abort-upgrade ]
 then
-  ldbytes=`head -c 20 RTLD | od -c`
+  ldbytes=`head -c 20 RTLD_SO | od -c`
   dirs="/lib32 /lib64 /usr/local/lib /usr/local/lib32 /usr/local/lib64"
   if ! test -L /usr; then
     dirs="$dirs /usr/lib /usr/lib32 /usr/lib64"

Modified: glibc-package/trunk/debian/debhelper.in/libnss-dns-udeb.install
===================================================================
--- glibc-package/trunk/debian/debhelper.in/libnss-dns-udeb.install	2009-09-07 18:46:12 UTC (rev 3807)
+++ glibc-package/trunk/debian/debhelper.in/libnss-dns-udeb.install	2009-09-07 18:51:15 UTC (rev 3808)
@@ -1,3 +1,3 @@
 # FIXME: someday we may need to handle installing into non-lib.
-debian/tmp-libc/lib/libnss_dns*.so* lib
+TMPDIR/SLIBDIR/libnss_dns*.so* lib
 

Modified: glibc-package/trunk/debian/debhelper.in/libnss-files-udeb.install
===================================================================
--- glibc-package/trunk/debian/debhelper.in/libnss-files-udeb.install	2009-09-07 18:46:12 UTC (rev 3807)
+++ glibc-package/trunk/debian/debhelper.in/libnss-files-udeb.install	2009-09-07 18:51:15 UTC (rev 3808)
@@ -1,3 +1,3 @@
 # FIXME: someday we may need to handle installing into non-lib.
-debian/tmp-libc/lib/libnss_files*.so* lib
+TMPDIR/SLIBDIR/libnss_files*.so* lib
 

Modified: glibc-package/trunk/debian/rules
===================================================================
--- glibc-package/trunk/debian/rules	2009-09-07 18:46:12 UTC (rev 3807)
+++ glibc-package/trunk/debian/rules	2009-09-07 18:51:15 UTC (rev 3808)
@@ -44,10 +44,10 @@
 export SHELL          = /bin/bash -e
 
 DEB_HOST_ARCH         ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
+DEB_HOST_ARCH_OS      ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
 DEB_HOST_GNU_CPU      ?= $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)
 DEB_HOST_GNU_TYPE     ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
 DEB_HOST_GNU_SYSTEM   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_SYSTEM)
-DEB_HOST_ARCH_OS      ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
 DEB_BUILD_ARCH        ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH)
 DEB_BUILD_GNU_CPU     ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_CPU)
 DEB_BUILD_GNU_TYPE    ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
@@ -89,6 +89,8 @@
 docdir=$(prefix)/share/doc
 mandir=$(prefix)/share/man
 sbindir=$(prefix)/sbin
+slibdir=/lib
+libdir=/usr/lib
 
 BUILD_CC = gcc
 BUILD_CXX = g++
@@ -152,7 +154,7 @@
 # And now the rules...
 include debian/rules.d/*.mk
 
-clean:: unpatch debhelper-clean
+clean:: unpatch
 	make -C $(CURDIR)/linuxthreads/man clean
 	rm -f $(CURDIR)/po/*.mo
 	rm -rf $(patsubst %,debian/tmp-%,$(EGLIBC_PASSES))
@@ -162,12 +164,9 @@
 
 # Required Debian targets
 binary-indep: build testroot debian/control $(build-tree) \
-	$(patsubst %,$(stamp)install_%,$(EGLIBC_PASSES)) \
 	$(patsubst %,$(stamp)binaryinst_%,$(DEB_INDEP_REGULAR_PACKAGES))
-# NOTE: Putting install_ stamps before binaryinst_ stamps in the list is the
-# wrong way to represent dependencies.  Fix this.
+
 binary-arch: build testroot debian/control $(build-tree) \
-	$(patsubst %,$(stamp)install_%,$(EGLIBC_PASSES)) \
 	$(patsubst %,$(stamp)binaryinst_%,$(DEB_ARCH_REGULAR_PACKAGES)) \
 	$(patsubst %,$(stamp)binaryinst_%,$(DEB_UDEB_PACKAGES))
 

Modified: glibc-package/trunk/debian/rules.d/build.mk
===================================================================
--- glibc-package/trunk/debian/rules.d/build.mk	2009-09-07 18:46:12 UTC (rev 3807)
+++ glibc-package/trunk/debian/rules.d/build.mk	2009-09-07 18:51:15 UTC (rev 3808)
@@ -43,12 +43,8 @@
 	echo "docdir = $(docdir)"		>> $(DEB_BUILDDIR)/configparms
 	echo "mandir = $(mandir)"		>> $(DEB_BUILDDIR)/configparms
 	echo "sbindir = $(sbindir)"		>> $(DEB_BUILDDIR)/configparms
-	libdir="$(call xx,libdir)" ; if test -n "$$libdir" ; then \
-		echo "libdir = $$libdir" >> $(DEB_BUILDDIR)/configparms ; \
-	fi
-	slibdir="$(call xx,slibdir)" ; if test -n "$$slibdir" ; then \
-		echo "slibdir = $$slibdir" >> $(DEB_BUILDDIR)/configparms ; \
-	fi
+	echo "libdir = $(call xx,libdir)"	>> $(DEB_BUILDDIR)/configparms
+	echo "slibdir = $(call xx,slibdir)"	>> $(DEB_BUILDDIR)/configparms
 	rtlddir="$(call xx,rtlddir)" ; if test -n "$$rtlddir" ; then \
 		echo "rtlddir = $$rtlddir" >> $(DEB_BUILDDIR)/configparms ; \
 	fi
@@ -167,5 +163,3 @@
 		-f $(build-tree)/eglibc-$(EGLIBC_VERSION).tar.lzma \
 		$(EGLIBC_SOURCES)
 	touch $@
-
-.NOTPARALLEL: $(patsubst %,install_%,$(EGLIBC_PASSES))

Modified: glibc-package/trunk/debian/rules.d/debhelper.mk
===================================================================
--- glibc-package/trunk/debian/rules.d/debhelper.mk	2009-09-07 18:46:12 UTC (rev 3807)
+++ glibc-package/trunk/debian/rules.d/debhelper.mk	2009-09-07 18:51:15 UTC (rev 3808)
@@ -2,7 +2,7 @@
 # renames.  There's very little we can do for now.  Maybe after
 # Sarge releases we can consider breaking packages, but certainly not now.
 
-$(stamp)binaryinst_$(libc)-pic:: $(stamp)debhelper
+$(stamp)binaryinst_$(libc)-pic:: debhelper
 	@echo Running special kludge for $(libc)-pic
 	dh_testroot
 	dh_installdirs -p$(curpass)
@@ -32,7 +32,7 @@
 non-debug-packages = $(filter-out %-dbg,$(DEB_ARCH_REGULAR_PACKAGES))
 $(patsubst %,$(stamp)binaryinst_%,$(debug-packages)):: $(patsubst %,$(stamp)binaryinst_%,$(non-debug-packages))
 
-$(patsubst %,$(stamp)binaryinst_%,$(DEB_ARCH_REGULAR_PACKAGES) $(DEB_INDEP_REGULAR_PACKAGES)):: $(stamp)debhelper
+$(patsubst %,$(stamp)binaryinst_%,$(DEB_ARCH_REGULAR_PACKAGES) $(DEB_INDEP_REGULAR_PACKAGES)):: $(patsubst %,$(stamp)install_%,$(EGLIBC_PASSES)) debhelper
 	@echo Running debhelper for $(curpass)
 	dh_testroot
 	dh_installdirs -p$(curpass)
@@ -66,11 +66,12 @@
 	# table in libc6-dbg but basic thread debugging should
 	# work even without that package installed.
 
-	# strip *.o files as dh_strip does not (yet?) do it.
+	# We use a wrapper script so that we only include the bare
+	# minimum in /usr/lib/debug/lib for backtraces; anything
+	# else takes too long to load in GDB.
 
 	if test "$(NOSTRIP_$(curpass))" != 1; then			\
 	  dh_strip -p$(curpass) -Xlibpthread --dbg-package=$(libc)-dbg; \
-	  								\
 	  (cd debian/$(curpass);					\
 	   find . -name libpthread-\*.so -exec objcopy			\
 	     --only-keep-debug '{}' ../$(libc)-dbg/usr/lib/debug/'{}'   \
@@ -81,17 +82,6 @@
 	  find debian/$(curpass) -name libpthread-\*.so -exec		\
 	    strip --strip-debug --remove-section=.comment		\
 	    --remove-section=.note '{}' ';' || true;			\
-	    								\
-	  (cd debian/$(curpass);					\
-	   find . -name \*crt\*.o -exec objcopy				\
-	     --only-keep-debug '{}' ../$(libc)-dbg/usr/lib/debug/'{}'   \
-	     ';' || true;						\
-	   find . -name \*crt\*.o -exec objcopy				\
-	     --add-gnu-debuglink=../$(libc)-dbg/usr/lib/debug/'{}'	\
-	     '{}' ';' || true);						\
-	  find debian/$(curpass) -name \*crt\*.o -exec			\
-	    strip --strip-debug --remove-section=.comment		\
-	    --remove-section=.note --strip-unneeded '{}' ';' || true;	\
 	fi
 endif
 
@@ -122,7 +112,7 @@
 	touch $@
 
 $(patsubst %,binaryinst_%,$(DEB_UDEB_PACKAGES)) :: binaryinst_% : $(stamp)binaryinst_%
-$(patsubst %,$(stamp)binaryinst_%,$(DEB_UDEB_PACKAGES)): $(stamp)debhelper
+$(patsubst %,$(stamp)binaryinst_%,$(DEB_UDEB_PACKAGES)): debhelper $(patsubst %,$(stamp)install_%,$(EGLIBC_PASSES))
 	@echo Running debhelper for $(curpass)
 	dh_testroot
 	dh_installdirs -p$(curpass)
@@ -145,66 +135,25 @@
 
 	touch $@
 
-OPT_PASSES = $(filter-out libc, $(EGLIBC_PASSES))
-OPT_DIRS = $(foreach pass,$(OPT_PASSES),$($(pass)_slibdir) $($(pass)_libdir))
-
-debhelper: $(stamp)debhelper
-$(stamp)debhelper:
+debhelper: $(stamp)debhelper-common $(patsubst %,$(stamp)debhelper_%,$(EGLIBC_PASSES))
+$(stamp)debhelper-common: 
 	for x in `find debian/debhelper.in -maxdepth 1 -type f`; do \
 	  y=debian/`basename $$x`; \
-	  z=`echo $$y | sed -e 's#libc\(\|-alt\|-dev\|-dev-alt\|-otherbuild\|-pic\|-prof\|-udeb\)\.#$(libc)\1.#g'`; \
-	  cp $$x $$z; \
-	  sed -e "s#BUILD-TREE#$(build-tree)#" -i $$z; \
-	  sed -e "/NSS_CHECK/r debian/script.in/nsscheck.sh" -i $$z; \
-	  sed -e "/NOHWCAP/r debian/script.in/nohwcap.sh" -i $$z; \
-	  sed -e "s#LIBC#$(libc)#" -i $$z; \
-	  sed -e "s#CURRENT_VER#$(DEB_VERSION)#" -i $$z; \
-	  sed -e "s#EXIT_CHECK##" -i $$z; \
-	  sed -e "s#DEB_HOST_ARCH#$(DEB_HOST_ARCH)#" -i $$z; \
-	  case $$z in \
+	  cp $$x $$y; \
+	  sed -e "s#BUILD-TREE#$(build-tree)#" -i $$y; \
+	  sed -e "s#LIBC#$(libc)#" -i $$y; \
+	  sed -e "s#CURRENT_VER#$(DEB_VERSION)#" -i $$y; \
+	  sed -e "s#EXIT_CHECK##" -i $$y; \
+	  sed -e "s#DEB_HOST_ARCH#$(DEB_HOST_ARCH)#" -i $$y; \
+	  sed -e "/NSS_CHECK/r debian/script.in/nsscheck.sh" -i $$y; \
+	  sed -e "/NOHWCAP/r debian/script.in/nohwcap.sh" -i $$y; \
+	  case $$y in \
 	    *.install) \
-	      sed -e "s/^#.*//" -i $$z ; \
+	      sed -e "s/^#.*//" -i $$y ; \
 	      ;; \
-	    debian/$(libc).preinst) \
-	      rtld=`LANG=C LC_ALL=C readelf -l debian/tmp-libc/usr/bin/iconv | grep "interpreter" | sed -e 's/.*interpreter: \(.*\)]/\1/g'`; \
-	      c_so=`ls debian/tmp-libc/lib/ | grep "libc\.so\."` ; \
-	      m_so=`ls debian/tmp-libc/lib/ | grep "libm\.so\."` ; \
-	      pthread_so=`ls debian/tmp-libc/lib/ | grep "libpthread\.so\."` || true; \
-	      rt_so=`ls debian/tmp-libc/lib/ | grep "librt\.so\."` ; \
-	      dl_so=`ls debian/tmp-libc/lib/ | grep "libdl\.so\."` ; \
-	      sed -e "s#RTLD#$$rtld#" -e "s#C_SO#$$c_so#" -e "s#M_SO#$$m_so#" -e "s#PTHREAD_SO#$$pthread_so#" -e "s#RT_SO#$$rt_so#" -e "s#DL_SO#$$dl_so#" -i $$z ; \
-	      ;; \
 	  esac; \
 	done
 
-	# Hack: special-case passes whose destdir is a biarch directory
-	# to use a different install template, which includes more
-	# libraries.  Also generate a -dev.  Other libraries get scripts
-	# to temporarily disable hwcap.  This needs some cleaning up.
-	set -- $(OPT_DIRS); \
-	for x in $(OPT_PASSES); do \
-	  slibdir=$$1; \
-	  shift; \
-	  case $$slibdir in \
-	  /lib32 | /lib64) \
-	    suffix="alt"; \
-	    libdir=$$1; \
-	    shift; \
-	    ;; \
-	  *) \
-	    suffix="otherbuild"; \
-	    ;; \
-	  esac; \
-	  for y in debian/$(libc)*-$$suffix.* ; do \
-	    z=`echo $$y | sed -e "s/$$suffix/$$x/"` ; \
-	    cp $$y $$z ; \
-	    sed -e "s#TMPDIR#debian/tmp-$$x#g" -i $$z; \
-	    sed -e "s#SLIBDIR#$$slibdir#g" -i $$z; \
-	    sed -e "s#LIBDIR#$$libdir#g" -i $$z; \
-	    sed -e "s#FLAVOR#$$x#g" -i $$z; \
-	  done ; \
-	done
-
 	# Substitute __PROVIDED_LOCALES__.
 	perl -i -pe 'BEGIN {undef $$/; open(IN, "debian/tmp-libc/usr/share/i18n/SUPPORTED"); $$j=<IN>;} s/__PROVIDED_LOCALES__/$$j/g;' debian/locales.config debian/locales.postinst
 
@@ -217,9 +166,58 @@
 	done
 	rm -f tmp.substvars
 
-	touch $(stamp)debhelper
+	touch $@
 
-debhelper-clean:
+$(patsubst %,debhelper_%,$(EGLIBC_PASSES)) :: debhelper_% : $(stamp)debhelper_%
+$(stamp)debhelper_%: $(stamp)debhelper-common $(stamp)install_%
+	libdir=$(call xx,libdir) ; \
+	slibdir=$(call xx,slibdir) ; \
+	curpass=$(curpass) ; \
+	c_so=`ls debian/tmp-$$curpass/$$slibdir | grep "libc\.so\."` ; \
+	m_so=`ls debian/tmp-$$curpass/$$slibdir | grep "libm\.so\."` ; \
+	rt_so=`ls debian/tmp-$$curpass/$$slibdir | grep "librt\.so\."` ; \
+	dl_so=`ls debian/tmp-$$curpass/$$slibdir | grep "libdl\.so\."` ; \
+	rtld_so=`LANG=C LC_ALL=C readelf -l debian/tmp-$$curpass/usr/bin/iconv | grep "interpreter" | sed -e 's/.*interpreter: \(.*\)]/\1/g'`; \
+	pthread_so=`ls debian/tmp-$$curpass/$$slibdir | grep "libpthread\.so\."` || true; \
+	case "$$curpass:$$slibdir" in \
+	  libc:*) \
+	    templates="libc libc-dev libc-pic libc-prof libc-udeb libnss-dns-udeb libnss-files-udeb" \
+	    pass="" \
+	    suffix="" \
+	    ;; \
+	  *:/lib32 | *:/lib64) \
+	    templates="libc libc-dev" \
+	    pass="-alt" \
+	    suffix="-$(curpass)" \
+	    ;; \
+	  *:*) \
+	    templates="libc" \
+	    pass="-otherbuild" \
+	    suffix="-$(curpass)" \
+	    ;; \
+	esac ; \
+	for t in $$templates ; do \
+	  for s in debian/$$t$$pass.* ; do \
+	    t=`echo $$s | sed -e "s#libc\(.*\)$$pass#$(libc)\1$$suffix#"` ; \
+	    if [ "$$s" != "$$t" ] ; then \
+	      cp $$s $$t ; \
+	    fi ; \
+	    sed -e "s#TMPDIR#debian/tmp-$$curpass#g" -i $$t; \
+	    sed -e "s#SLIBDIR#$$slibdir#g" -i $$t; \
+	    sed -e "s#LIBDIR#$$libdir#g" -i $$t; \
+	    sed -e "s#FLAVOR#$$curpass#g" -i $$t; \
+	    sed -e "s#C_SO#$$c_so#" -i $$t ; \
+	    sed -e "s#M_SO#$$m_so#" -i $$t ; \
+	    sed -e "s#RT_SO#$$rt_so#" -i $$t ; \
+	    sed -e "s#DL_SO#$$dl_so#" -i $$t ; \
+	    sed -e "s#RTLD_SO#$$rtld_so#" -i $$t ; \
+	    sed -e "s#PTHREAD_SO#$$pthread_so#" -i $$t ; \
+	  done ; \
+	done
+
+	touch $@
+
+clean::
 	dh_clean 
 
 	rm -f debian/*.install*

Modified: glibc-package/trunk/debian/sysdeps/amd64.mk
===================================================================
--- glibc-package/trunk/debian/sysdeps/amd64.mk	2009-09-07 18:46:12 UTC (rev 3807)
+++ glibc-package/trunk/debian/sysdeps/amd64.mk	2009-09-07 18:51:15 UTC (rev 3808)
@@ -1,5 +1,3 @@
-libc_slibdir = /lib
-libc_libdir = /usr/lib
 libc_rtlddir = /lib64
 
 # /lib64 and /usr/lib64 are provided by glibc instead base-files: #259302.


Reply to: