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

Reply via email to