Author: aurel32
Date: 2009-09-04 19:45:40 +0000 (Fri, 04 Sep 2009)
New Revision: 3798

Modified:
   glibc-package/branches/multiarch/debian/rules
   glibc-package/branches/multiarch/debian/rules.d/debhelper.mk
Log:
Allow per pass debhelper target call


Modified: glibc-package/branches/multiarch/debian/rules
===================================================================
--- glibc-package/branches/multiarch/debian/rules       2009-09-04 12:30:13 UTC 
(rev 3797)
+++ glibc-package/branches/multiarch/debian/rules       2009-09-04 19:45:40 UTC 
(rev 3798)
@@ -154,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))

Modified: glibc-package/branches/multiarch/debian/rules.d/debhelper.mk
===================================================================
--- glibc-package/branches/multiarch/debian/rules.d/debhelper.mk        
2009-09-04 12:30:13 UTC (rev 3797)
+++ glibc-package/branches/multiarch/debian/rules.d/debhelper.mk        
2009-09-04 19:45:40 UTC (rev 3798)
@@ -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)):: $(patsubst 
%,$(stamp)install_%,$(EGLIBC_PASSES)) $(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)
@@ -112,7 +112,7 @@
        touch $@
 
 $(patsubst %,binaryinst_%,$(DEB_UDEB_PACKAGES)) :: binaryinst_% : 
$(stamp)binaryinst_%
-$(patsubst %,$(stamp)binaryinst_%,$(DEB_UDEB_PACKAGES)): $(stamp)debhelper 
$(patsubst %,$(stamp)install_%,$(EGLIBC_PASSES))
+$(patsubst %,$(stamp)binaryinst_%,$(DEB_UDEB_PACKAGES)): debhelper $(patsubst 
%,$(stamp)install_%,$(EGLIBC_PASSES))
        @echo Running debhelper for $(curpass)
        dh_testroot
        dh_installdirs -p$(curpass)
@@ -135,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: $(patsubst %,$(stamp)install_%,$(EGLIBC_PASSES))
+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/$(slibdir) | grep "libc\.so\."` ; \
-             m_so=`ls debian/tmp-libc/$(slibdir) | grep "libm\.so\."` ; \
-             pthread_so=`ls debian/tmp-libc/$(slibdir) | grep 
"libpthread\.so\."` || true; \
-             rt_so=`ls debian/tmp-libc/$(slibdir) | grep "librt\.so\."` ; \
-             dl_so=`ls debian/tmp-libc/$(slibdir) | 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
 
@@ -207,9 +166,44 @@
        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) ; \
+       case "$$curpass:$$slibdir" in \
+         libc:*) \
+           templates="libc libc-dev libc-pic libc-prof libc-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#$(libc)#"`$$suffx ; \
+           cp $$s $$t ; \
+           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; \
+         done ; \
+       done
+
+       touch $@
+
+clean::
        dh_clean 
 
        rm -f debian/*.install*


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

Reply via email to