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