UBUNTU: reduce disk usage during buildd builds
authorAndy Whitcroft <apw@canonical.com>
Tue, 28 Sep 2010 13:18:25 +0000 (14:18 +0100)
committerLeann Ogasawara <leann.ogasawara@canonical.com>
Mon, 28 Mar 2011 13:49:22 +0000 (06:49 -0700)
BugLink: http://bugs.launchpad.net/bugs/645653

For each flavour build we keep all of intermediate trees intact.
This allows simple incremental updates in a development environment but
leads to very large disk footprints on the build.  For Maverick with three
flavours we are seeing 19GB for i386 and 25GB for amd64.  Anything over
15GB is likely to run the buildds out of disk and fail the build.

When building on a buildd (in full_build=true mode) clean out
the main build tree and the package tree for the debugging deb.
This reduces consumption to more like 10GB maximum regardless of
the flavour count.

Signed-off-by: Andy Whitcroft <apw@canonical.com>

debian/rules.d/2-binary-arch.mk

index 1d26496..c66973d 100644 (file)
@@ -267,6 +267,7 @@ endif
 binary-%: pkgimg = $(bin_pkg_name)-$*
 binary-%: pkghdr = $(hdrs_pkg_name)-$*
 binary-%: dbgpkg = $(bin_pkg_name)-$*-dbgsym
+binary-%: dbgpkgdir = $(CURDIR)/debian/$(bin_pkg_name)-$*-dbgsym
 binary-%: install-%
        dh_testdir
        dh_testroot
@@ -334,6 +335,12 @@ ifneq ($(skipdbg),true)
        # Now, the package wont get into the archive, but it will get put
        # into the debug system.
 endif
+ifneq ($(full_build),false)
+       # Clean out this flavours build directory.
+       rm -rf $(builddir)/build-$*
+       # Clean out the debugging package source directory.
+       rm -rf $(dbgpkgdir)
+endif
 
 $(stampdir)/stamp-flavours:
        @echo $(flavours) > $@