Package: pbuilder Version: 0.176 Severity: wishlist User: [EMAIL PROTECTED] Usertags: origin-ubuntu hardy ubuntu-patch
In Ubuntu, we've applied the attached patch to achieve the following: * Makefile: - Addded pbuilder-satisfydepends-gdebi * pbuilder-buildpackage-funcs: - always pass --chroot to the pbuilder-satisfydepends (needed for pbuilder-satisfydepends-gdebi) * pbuilder-satisfydepends-gdebi: - added alternative b-d resolver pbuilder-satisfydepends-gdebi is a build-dependencies resolver based on gdebi (that in turn uses python-apt/libapt). It is fast and does not need to build a dummy package. It should behave exactly like apt-get build-dep $pkg It used to be more interessting because of the speed gain when pbuilder-satisfydepends-classic was the default. You probably want to add a recommends or suggests for gdebi too (if you like the patch method). Cheers, Michael -- System Information: Debian Release: lenny/sid Architecture: i386 (i686) Kernel: Linux 2.6.22-14-generic (SMP w/2 CPU cores) Locale: LANG=en_DK.UTF-8, LC_CTYPE=en_DK.UTF-8 (charmap=UTF-8)
diff -Nru /tmp/crxVOuiO91/pbuilder-0.176/Makefile /tmp/xxAodyeuYX/pbuilder-0.176ubuntu1/Makefile --- /tmp/crxVOuiO91/pbuilder-0.176/Makefile 2007-10-15 01:23:22.000000000 +0200 +++ /tmp/xxAodyeuYX/pbuilder-0.176ubuntu1/Makefile 2007-11-25 10:34:26.000000000 +0100 @@ -15,6 +15,7 @@ pbuilder-modules \ pbuilder-runhooks \ pbuilder-satisfydepends-classic \ + pbuilder-satisfydepends-gdebi \ pbuilder-satisfydepends-funcs \ pbuilder-satisfydepends-checkparams \ pbuilder-satisfydepends-aptitude \ @@ -81,6 +82,7 @@ #install aptitude as the default satisfydepends $(INSTALL_EXECUTABLE) pbuilder-satisfydepends-aptitude $(DESTDIR)/usr/lib/pbuilder/pbuilder-satisfydepends $(INSTALL_EXECUTABLE) pbuilder-satisfydepends-classic $(DESTDIR)/usr/lib/pbuilder/ + $(INSTALL_EXECUTABLE) pbuilder-satisfydepends-gdebi $(DESTDIR)/usr/lib/pbuilder/ $(INSTALL_EXECUTABLE) pbuilder-satisfydepends-aptitude $(DESTDIR)/usr/lib/pbuilder/ $(INSTALL_EXECUTABLE) pbuilder-satisfydepends-experimental $(DESTDIR)/usr/lib/pbuilder/ $(INSTALL_EXECUTABLE) pbuilder-satisfydepends-checkparams $(DESTDIR)/usr/lib/pbuilder/ diff -Nru /tmp/crxVOuiO91/pbuilder-0.176/pbuilder-buildpackage-funcs /tmp/xxAodyeuYX/pbuilder-0.176ubuntu1/pbuilder-buildpackage-funcs --- /tmp/crxVOuiO91/pbuilder-0.176/pbuilder-buildpackage-funcs 2007-05-28 13:44:48.000000000 +0200 +++ /tmp/xxAodyeuYX/pbuilder-0.176ubuntu1/pbuilder-buildpackage-funcs 2007-11-25 10:34:26.000000000 +0100 @@ -37,7 +37,7 @@ yes) BUILDOPT="--binary-arch";; *) ;; esac - if "$PBUILDERSATISFYDEPENDSCMD" --control "$1" --internal-chrootexec "${CHROOTEXEC}" "${BUILDOPT}" ; then + if "$PBUILDERSATISFYDEPENDSCMD" --control "$1" --internal-chrootexec "${CHROOTEXEC}" --chroot "${BUILDPLACE}" "${BUILDOPT}" ; then : else # If asked to preserve the build place, and pbuilder-satisfydepends diff -Nru /tmp/crxVOuiO91/pbuilder-0.176/pbuilder-satisfydepends-gdebi /tmp/xxAodyeuYX/pbuilder-0.176ubuntu1/pbuilder-satisfydepends-gdebi --- /tmp/crxVOuiO91/pbuilder-0.176/pbuilder-satisfydepends-gdebi 1970-01-01 01:00:00.000000000 +0100 +++ /tmp/xxAodyeuYX/pbuilder-0.176ubuntu1/pbuilder-satisfydepends-gdebi 2007-10-27 23:19:42.000000000 +0200 @@ -0,0 +1,80 @@ +#!/bin/bash +# pbuilder -- personal Debian package builder +# Copyright (C) 2001,2002,2003,2005-2006 Junichi Uekawa +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +# +# module to satisfy dependency using gdebi +# AUTHOR: Michael Vogt <[EMAIL PROTECTED]> + +set -e + + + +DEBIAN_CONTROL=debian/control +CHROOT="" +CHROOTEXEC="" +BD_REGEXP="build-(depends|depends-indep)" +BC_REGEXP="build-(conflicts|conflicts-indep)" +FORCEVERSION="" +CONTINUE_FAIL="no" + +while [ -n "$1" ]; do + case "$1" in + --control|-c) + DEBIAN_CONTROL="$2" + shift; shift + ;; + --chroot) + CHROOT="$2" + CHROOTEXEC="chroot $2 " + shift; shift + ;; + --internal-chrootexec) + CHROOTEXEC="$2" + shift; shift + ;; + --binary-all) + BD_REGEXP='build-(depends|depends-indep)' + BC_REGEXP='build-(conflicts|conflicts-indep)' + shift + ;; + --binary-arch) + BD_REGEXP='build-depends' + BC_REGEXP='build-conflicts' + shift + ;; + --echo) + CHROOTEXEC="echo $CHROOTEXEC" + shift + ;; + --continue-fail) + CONTINUE_FAIL="yes" + shift + ;; + --force-version) + FORCEVERSION="yes" + shift; + ;; + --help|-h|*) + print_help + exit 1 + ;; + esac +done + +INSTALL=$(/usr/bin/gdebi --quiet --apt-line --root $CHROOT $DEBIAN_CONTROL) +$CHROOTEXEC /usr/bin/apt-get install -y $INSTALL \ No newline at end of file