It is quite simple, only touches debian/rules, the result passes the
tests when those are not run under fakeroot, and the resulting deb can
build debs.

However, I was not able to build the package as is, it fails when
trying to gzip localized manpages - I had to comment out the gzip call
for my final test.  Is there something missing in the git repo ?
Maybe in the bootstrap script ?
>From 73aa0db0168a0277a7b3e0a35aeb27a1cdc8f1f4 Mon Sep 17 00:00:00 2001
From: Yann Dirson <ydir...@free.fr>
Date: Tue, 13 Sep 2011 23:51:56 +0200
Subject: [PATCH 1/2] Multiarch support

---
 debian/changelog |    8 ++++
 debian/rules     |   98 +++++++++---------------------------------------------
 2 files changed, 24 insertions(+), 82 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index cf1abda..725ea0b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+fakeroot (1.18-1+multiarch0) unstable; urgency=low
+
+  * Multiarch support: set LIB_DIR to $(dpkg-architecture
+    -qDEB_HOST_MULTIARCH), replace all BIARCH_LIB_DIR and usr/lib dir
+    from debian/rules with ${LIB_DIR}, remove biarch targets.
+
+ -- Yann Dirson <dir...@debian.org>  Wed, 14 Sep 2011 00:38:27 +0200
+
 fakeroot (1.18-1) unstable; urgency=low
 
   * Improved MacOS X support from Kyle J. McKay.
diff --git a/debian/rules b/debian/rules
index 012b236..103665d 100755
--- a/debian/rules
+++ b/debian/rules
@@ -23,24 +23,16 @@ ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
 INSTALL_PROGRAM += -s
 endif
 
-ifeq (x86_64-linux-gnu,$(DEB_HOST_GNU_TYPE))
-BIARCH_LIB_DIR=usr/lib32
-else
-ifneq (,$(findstring $(DEB_HOST_GNU_TYPE), ppc64-linux-gnu x86_64-kfreebsd-gnu))
-BIARCH_LIB_DIR=usr/lib32
-else
-BIARCH_LIB_DIR=usr/lib64
-endif
-endif
+LIB_DIR=usr/lib/$(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
 
 build: build-stamp
 build-stamp:
 	$(checkdir)
 
 	mkdir obj-sysv obj-tcp
-	cd obj-sysv && CFLAGS="$(CFLAGS)" ../configure --prefix=/usr --mandir=/usr/share/man --libdir=/usr/lib/libfakeroot --program-suffix=-sysv $(CONFARGS)
 
-	cd obj-tcp && CFLAGS="$(CFLAGS)" ../configure --prefix=/usr --mandir=/usr/share/man --libdir=/usr/lib/libfakeroot --with-ipc=tcp --program-suffix=-tcp $(CONFARGS)
+	cd obj-sysv && CFLAGS="$(CFLAGS)" ../configure --prefix=/usr --mandir=/usr/share/man --libdir=/${LIB_DIR}/libfakeroot --program-suffix=-sysv $(CONFARGS)
+	cd obj-tcp && CFLAGS="$(CFLAGS)" ../configure --prefix=/usr --mandir=/usr/share/man --libdir=/${LIB_DIR}/libfakeroot --with-ipc=tcp --program-suffix=-tcp $(CONFARGS)
 
 	cd obj-sysv && $(MAKE)
 	cd obj-tcp && $(MAKE)
@@ -57,7 +49,7 @@ endif
 clean: checkroot
 	$(checkdir)
 	rm -rf obj-sysv obj64-sysv obj-tcp obj64-tcp
-	rm -f build-stamp build-biarch-stamp
+	rm -f build-stamp
 #	 Add here commands to clean up after the build process.
 	-cd obj-sysv && $(MAKE) distclean
 	-cd obj-tcp && $(MAKE) distclean
@@ -80,31 +72,28 @@ binary-arch: build checkroot
 
 	cd obj-tcp && $(MAKE) DESTDIR="$(CURDIR)/debian/tmp" install
 
-	chmod 644 debian/tmp/usr/lib/libfakeroot/libfakeroot-0.so
-	mv debian/tmp/usr/lib/libfakeroot/libfakeroot-0.so debian/tmp/usr/lib/libfakeroot/libfakeroot-tcp.so
-	rm debian/tmp/usr/lib/libfakeroot/libfakeroot.so
+	chmod 644 debian/tmp/${LIB_DIR}/libfakeroot/libfakeroot-0.so
+	mv debian/tmp/${LIB_DIR}/libfakeroot/libfakeroot-0.so debian/tmp/${LIB_DIR}/libfakeroot/libfakeroot-tcp.so
+	rm debian/tmp/${LIB_DIR}/libfakeroot/libfakeroot.so
 
 	cd obj-sysv && $(MAKE) DESTDIR="$(CURDIR)/debian/tmp" install
 
-	chmod 644 debian/tmp/usr/lib/libfakeroot/libfakeroot-0.so
-	mv debian/tmp/usr/lib/libfakeroot/libfakeroot-0.so debian/tmp/usr/lib/libfakeroot/libfakeroot-sysv.so
-	rm debian/tmp/usr/lib/libfakeroot/libfakeroot.so
+	chmod 644 debian/tmp/${LIB_DIR}/libfakeroot/libfakeroot-0.so
+	mv debian/tmp/${LIB_DIR}/libfakeroot/libfakeroot-0.so debian/tmp/${LIB_DIR}/libfakeroot/libfakeroot-sysv.so
+	rm debian/tmp/${LIB_DIR}/libfakeroot/libfakeroot.so
 
 	$(INSTALL_DIR) debian/tmp/DEBIAN debian/tmp/usr/bin/
 #	$(INSTALL_SCRIPT) scripts/fakeroot debian/tmp/usr/bin/
 	$(INSTALL_DIR) debian/tmp/usr/share/doc/fakeroot \
-		           debian/tmp/usr/lib/libfakeroot
+		           debian/tmp/${LIB_DIR}/libfakeroot
 	$(INSTALL_FILE) README doc/README.saving DEBUG debian/tmp/usr/share/doc/fakeroot/
 	( echo "fakeroot was written originally by"; \
 	  echo "joost witteveen"                   ; \
 	  echo "------------------------------------------------"; \
 	  cat COPYING) > debian/tmp/usr/share/doc/fakeroot/copyright
-#	cd obj-sysv && ./libtool --finish $(CURDIR)/debian/tmp/usr/lib/fakeroot
-	rm -f debian/tmp/usr/lib/libfakeroot/libfakeroot.*a*
+#	cd obj-sysv && ./libtool --finish $(CURDIR)/debian/tmp/${LIB_DIR}/fakeroot
+	rm -f debian/tmp/${LIB_DIR}/libfakeroot/libfakeroot.*a*
 	rm -f debian/tmp/usr/bin/simple
-ifneq (,$(findstring $(DEB_HOST_GNU_TYPE), sparc-linux-gnu s390-linux-gnu x86_64-linux-gnu i486-linux-gnu powerpc-linux-gnu ppc64-linux-gnui x86_64-kfreebsd-gnu))
-	$(MAKE) -f debian/rules binary-biarch
-endif
 	$(INSTALL_FILE) debian/copyright debian/tmp/usr/share/doc/fakeroot/copyright
 	$(INSTALL_FILE) debian/changelog debian/tmp/usr/share/doc/fakeroot/changelog.Debian
 	gzip -9f debian/tmp/usr/share/man/man1/faked-sysv.1 \
@@ -129,11 +118,11 @@ endif
 		 debian/tmp/usr/share/man/sv/man1/fakeroot-tcp.1 \
 		 debian/tmp/usr/share/doc/fakeroot/changelog.Debian
 ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
-	strip --remove-section=.comment --remove-section=.note --strip-unneeded debian/tmp/usr/lib/libfakeroot/libfakeroot-sysv.so
-	strip --remove-section=.comment --remove-section=.note --strip-unneeded debian/tmp/usr/lib/libfakeroot/libfakeroot-tcp.so
+	strip --remove-section=.comment --remove-section=.note --strip-unneeded debian/tmp/${LIB_DIR}/libfakeroot/libfakeroot-sysv.so
+	strip --remove-section=.comment --remove-section=.note --strip-unneeded debian/tmp/${LIB_DIR}/libfakeroot/libfakeroot-tcp.so
 	strip --remove-section=.comment --remove-section=.note debian/tmp/usr/bin/faked-sysv
 	strip --remove-section=.comment --remove-section=.note debian/tmp/usr/bin/faked-tcp
-#	strip --strip-debug debian/tmp/usr/lib/libfakeroot.a
+#	strip --strip-debug debian/tmp/${LIB_DIR}/libfakeroot.a
 endif
 	$(INSTALL_SCRIPT) debian/fakeroot.postrm debian/tmp/DEBIAN/postrm
 	$(INSTALL_SCRIPT) debian/fakeroot.prerm debian/tmp/DEBIAN/prerm
@@ -156,61 +145,6 @@ endif
 	cd debian/tmp && find * -type f ! -regex '^DEBIAN/.*' -print0 | xargs -r0 md5sum > DEBIAN/md5sums
 	dpkg-deb --build debian/tmp ..
 
-binary-biarch:
-	$(checkdir)
-	mkdir obj64-sysv obj64-tcp
-
-ifneq (,$(findstring $(DEB_HOST_GNU_TYPE),sparc-linux-gnu))
-	cd obj64-sysv && CC="gcc -m64" ../configure --prefix=/usr --mandir=/usr/share/man --build=sparc-linux --host=sparc64-linux-gnu --program-suffix=-sysv $(CONFARGS)
-	cd obj64-tcp && CC="gcc -m64" ../configure --prefix=/usr --mandir=/usr/share/man --build=sparc-linux --host=sparc64-linux-gnu --with-ipc=tcp --program-suffix=-tcp $(CONFARGS)
-endif
-ifneq (,$(findstring $(DEB_HOST_GNU_TYPE),s390-linux-gnu))
-	cd obj64-sysv && CC="gcc -m64" ../configure --prefix=/usr --mandir=/usr/share/man --build=s390-linux --host=s390x-linux-gnu --program-suffix=-sysv $(CONFARGS)
-	cd obj64-tcp && CC="gcc -m64" ../configure --prefix=/usr --mandir=/usr/share/man --build=s390-linux --host=s390x-linux-gnu --with-ipc=tcp --program-suffix=-tcp $(CONFARGS)
-endif
-ifneq (,$(findstring $(DEB_HOST_GNU_TYPE),x86_64-linux-gnu))
-	cd obj64-sysv && CC="gcc -m32" ../configure --prefix=/usr --mandir=/usr/share/man --build=x86_64-linux --host=i486-linux-gnu --program-suffix=-sysv $(CONFARGS)
-	cd obj64-tcp && CC="gcc -m32" ../configure --prefix=/usr --mandir=/usr/share/man --build=x86_64-linux --host=i486-linux-gnu --with-ipc=tcp --program-suffix=-tcp $(CONFARGS)
-endif
-ifneq (,$(findstring $(DEB_HOST_GNU_TYPE),i486-linux-gnu))
-	cd obj64-sysv && CC="gcc -m64" ../configure --prefix=/usr --mandir=/usr/share/man --build=i486-linux --host=x86_64-linux-gnu --program-suffix=-sysv $(CONFARGS)
-	cd obj64-tcp && CC="gcc -m64" ../configure --prefix=/usr --mandir=/usr/share/man --build=i486-linux --host=x86_64-linux-gnu --with-ipc=tcp --program-suffix=-tcp $(CONFARGS)
-endif
-ifneq (,$(findstring $(DEB_HOST_GNU_TYPE),powerpc-linux-gnu))
-	cd obj64-sysv && CC="gcc -m64" ../configure --prefix=/usr --mandir=/usr/share/man --build=powerpc-linux --host=ppc64-linux-gnu --program-suffix=-sysv $(CONFARGS)
-	cd obj64-tcp && CC="gcc -m64" ../configure --prefix=/usr --mandir=/usr/share/man --build=powerpc-linux --host=ppc64-linux-gnu --with-ipc=tcp --program-suffix=-tcp $(CONFARGS)
-endif
-ifneq (,$(findstring $(DEB_HOST_GNU_TYPE),ppc64-linux-gnu))
-	cd obj64-sysv && CC="gcc -m32" ../configure --prefix=/usr --mandir=/usr/share/man --build=ppc64-linux --host=powerpc-linux-gnu --program-suffix=-sysv $(CONFARGS)
-	cd obj64-tcp && CC="gcc -m32" ../configure --prefix=/usr --mandir=/usr/share/man --build=ppc64-linux --host=powerpc-linux-gnu --with-ipc=tcp --program-suffix=-tcp $(CONFARGS)
-endif
-ifneq (,$(findstring $(DEB_HOST_GNU_TYPE),x86_64-kfreebsd-gnu))
-	cd obj64-sysv && CC="gcc -m32" ../configure --prefix=/usr --mandir=/usr/share/man --build=x86_64-kfreebsd --host=i486-kfreebsd-gnu --program-suffix=-sysv $(CONFARGS)
-	cd obj64-tcp && CC="gcc -m32" ../configure --prefix=/usr --mandir=/usr/share/man --build=x86_64-kfreebsd --host=i486-kfreebsd-gnu --with-ipc=tcp --program-suffix=-tcp $(CONFARGS)
-endif
-
-	cd obj64-tcp && $(MAKE) libfakeroot.la
-	$(INSTALL_DIR) debian/tmp/$(BIARCH_LIB_DIR)/libfakeroot
-	cd obj64-tcp && $(SHELL) ./libtool --mode=install install libfakeroot.la \
-		$(CURDIR)/debian/tmp/$(BIARCH_LIB_DIR)/libfakeroot/libfakeroot.la
-	rm -f debian/tmp/$(BIARCH_LIB_DIR)/libfakeroot/libfakeroot.*a*
-	chmod 644 debian/tmp/$(BIARCH_LIB_DIR)/libfakeroot/libfakeroot-0.so
-	mv debian/tmp/$(BIARCH_LIB_DIR)/libfakeroot/libfakeroot-0.so debian/tmp/$(BIARCH_LIB_DIR)/libfakeroot/libfakeroot-tcp.so
-
-	cd obj64-sysv && $(MAKE) libfakeroot.la
-	$(INSTALL_DIR) debian/tmp/$(BIARCH_LIB_DIR)/libfakeroot
-	cd obj64-sysv && $(SHELL) ./libtool --mode=install install libfakeroot.la \
-		$(CURDIR)/debian/tmp/$(BIARCH_LIB_DIR)/libfakeroot/libfakeroot.la
-	rm -f debian/tmp/$(BIARCH_LIB_DIR)/libfakeroot/libfakeroot.*a*
-	chmod 644 debian/tmp/$(BIARCH_LIB_DIR)/libfakeroot/libfakeroot-0.so
-	mv debian/tmp/$(BIARCH_LIB_DIR)/libfakeroot/libfakeroot-0.so debian/tmp/$(BIARCH_LIB_DIR)/libfakeroot/libfakeroot-sysv.so
-
-	rm debian/tmp/$(BIARCH_LIB_DIR)/libfakeroot/libfakeroot.so
-ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
-	strip --remove-section=.comment --remove-section=.note --strip-unneeded debian/tmp/$(BIARCH_LIB_DIR)/libfakeroot/libfakeroot-sysv.so
-	strip --remove-section=.comment --remove-section=.note --strip-unneeded debian/tmp/$(BIARCH_LIB_DIR)/libfakeroot/libfakeroot-tcp.so
-endif
-
 source diff:
 	@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
 
-- 
1.7.5.4

Reply via email to