So my approach worked like this: build-package (package) { apt-get source package while ("dpkg-buildpackage package" complains about dependency) { build-package(unmet-build-dependency) } while ("dpkg-buildpackage package" fails) { hack-package } while ("dpkg --install package" complains about dependency) { build-package(unmet-install-dependency) } }