Source: libffi Version: 3.0.13-4 Severity: wishlist Tags: patch As the subject says: the attached patch provides an option to bootstrap libffi without the multilib builds. And there's also a bit in there to allow skipping the use of the texinfo build dependency.
(Context: the aim of my pbuildd project is to bootstrap the Debian archive from source packages, starting from a minimal debootstrap chroot. libffi comes into the process early because of: debhelper Depends on man-db man-db Depends on bsdmainutils bsdmainutils Build-Depends on libncurses5-dev [and even though libncurses5 is part of that initial chroot, libncurses5-dev is not] ncurses Build-Depends on pkg-config pkg-config Build-Depends on libglib2.0-dev glib2.0 Build-Depends on libffi-dev Of course glib2.0 has more issues, so I don't even pretend to have a functional bootstrap this early. But I can build a static version for the bootstrapped pkg-config to link against -- which still requires libffi. And hopefully the chain above also explains why texinfo isn't available to be bootstrapped yet at this point.) -- Daniel Schepler
diff -urN libffi-3.0.13.old/debian/rules libffi-3.0.13/debian/rules --- libffi-3.0.13.old/debian/rules 2013-05-08 08:58:51.000000000 -0700 +++ libffi-3.0.13/debian/rules 2013-05-23 16:25:14.984021770 -0700 @@ -31,6 +31,13 @@ with_check = yes endif +ifeq ($(DEB_BUILD_PROFILE),stage1) + +bootstrap_dh_flags = -Nlib32ffi-dev -Nlib64ffi-dev -Nlibn32ffi-dev \ + -Nlib32ffi$(major) -Nlib64ffi$(major) -Nlibn32ffi$(major) + +else + ifneq (,$(filter $(DEB_HOST_ARCH), i386 mips mipsel powerpc s390 sparc)) multiarch += biarch64 m64 = -m64 @@ -49,6 +56,8 @@ abi64 = -gnuabi64 endif +endif + ifeq (,$(filter $(distrelease),lenny etch squeeze wheezy sid dapper hardy jaunty karmic lucid)) biarch_map := i686=x86_64 powerpc=powerpc64 sparc=sparc64 s390=s390x \ x86_64=i686 powerpc64=powerpc mips=mips64 mipsel=mips64el @@ -130,8 +139,13 @@ $(if $(filter yes, $(with_check)), stamp-check $(foreach a, $(multiarch), stamp-check-$(a))) stamp-build: stamp-configure dh_testdir +ifeq ($(DEB_BUILD_PROFILE),stage1) + touch doc/libffi.info +endif $(MAKE) -C build +ifneq ($(DEB_BUILD_PROFILE),stage1) $(MAKE) -C build html +endif touch $@ stamp-build-biarch32: stamp-configure-biarch32 @@ -197,14 +211,16 @@ dh_testdir dh_testroot dh_clean -k - dh_installdirs -s + dh_installdirs -s $(bootstrap_dh_flags) $(MAKE) -C build DESTDIR=$(CURDIR)/debian/tmp install mkdir -p debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH) -mv debian/tmp/usr/lib/* debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/. cp -p build/.libs/libffi_convenience.a \ debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libffi_pic.a mkdir -p debian/libffi-dev/usr/share/doc/$(p) +ifneq ($(DEB_BUILD_PROFILE),stage1) cp -a build/doc/libffi.html debian/libffi-dev/usr/share/doc/$(p)/html +endif ifneq (,$(filter biarch32, $(multiarch))) $(MAKE) -C build32 DESTDIR=$(CURDIR)/debian/tmp install cp -p build32/.libs/libffi_convenience.a \ @@ -220,7 +236,7 @@ cp -p buildn32/.libs/libffi_convenience.a \ debian/tmp/usr/lib32/libffi_pic.a endif - dh_install -s --sourcedir=debian/tmp + dh_install -s --sourcedir=debian/tmp $(bootstrap_dh_flags) mkdir -p debian/libffi-dev/usr/include/$(DEB_HOST_MULTIARCH) mv debian/libffi-dev/usr/include/*.h \ @@ -250,8 +266,8 @@ binary-arch: build install dh_testdir dh_testroot - dh_installchangelogs -s - dh_installdocs -s + dh_installchangelogs -s $(bootstrap_dh_flags) + dh_installdocs -s $(bootstrap_dh_flags) dh_installinfo -plibffi-dev doc/libffi.info rm -f debian/libffi-dev/usr/share/info/dir* cp -p ChangeLog debian/libffi-dev/usr/share/doc/libffi$(major)/changelog @@ -284,17 +300,17 @@ cat buildn32/check.log >> debian/libffi-dev/usr/share/doc/libffi$(major)/test_results_bi32n_$(DEB_HOST_MULTIARCH).txt endif endif - dh_strip -s --dbg-package=libffi$(major)-dbg + dh_strip -s --dbg-package=libffi$(major)-dbg $(bootstrap_dh_flags) rm -f debian/libffi6-dbg/usr/lib/debug/usr/lib{,32,n32,64}/libffi.so.* - dh_compress -s - dh_fixperms -s + dh_compress -s $(bootstrap_dh_flags) + dh_fixperms -s $(bootstrap_dh_flags) dh_makeshlibs -plibffi$(major) --add-udeb=libffi$(major)-udeb - dh_makeshlibs -s -Nlibffi$(major) - dh_installdeb -s - dh_shlibdeps -s - dh_gencontrol -s - dh_md5sums -s - dh_builddeb -s + dh_makeshlibs -s -Nlibffi$(major) $(bootstrap_dh_flags) + dh_installdeb -s $(bootstrap_dh_flags) + dh_shlibdeps -s $(bootstrap_dh_flags) + dh_gencontrol -s $(bootstrap_dh_flags) + dh_md5sums -s $(bootstrap_dh_flags) + dh_builddeb -s $(bootstrap_dh_flags) binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install