aboutsummaryrefslogtreecommitdiff
path: root/pbuilder-satisfydepends-gdebi
diff options
context:
space:
mode:
authorJunichi Uekawa <dancer@dancer64.netfort.gr.jp>2007-12-26 20:06:59 +0900
committerJunichi Uekawa <dancer@dancer64.netfort.gr.jp>2007-12-26 20:06:59 +0900
commitd4a893eb3a93b5e5fdd1a10a605629c894ed757d (patch)
treee0efdcf65be2e18f3b4649ba79c0a0c6340823cf /pbuilder-satisfydepends-gdebi
parent9f0f8b76ab7289d63c6c5812b4737d0fbd7bcbbc (diff)
downloadpbuilder-d4a893eb3a93b5e5fdd1a10a605629c894ed757d.tar
pbuilder-d4a893eb3a93b5e5fdd1a10a605629c894ed757d.tar.gz
python-apt/gdebi based pbuilder-satisfydepends-gdebi (closes: #453388)
From: Michael Vogt <mvo@ubuntu.com> 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). Modified by dancerj: --chroot is given before --chrootexec so that cowdancer can continue to work.
Diffstat (limited to 'pbuilder-satisfydepends-gdebi')
-rw-r--r--pbuilder-satisfydepends-gdebi80
1 files changed, 80 insertions, 0 deletions
diff --git a/pbuilder-satisfydepends-gdebi b/pbuilder-satisfydepends-gdebi
new file mode 100644
index 0000000..cdb192b
--- /dev/null
+++ b/pbuilder-satisfydepends-gdebi
@@ -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 <mvogt@acm.org>
+
+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