From d4a893eb3a93b5e5fdd1a10a605629c894ed757d Mon Sep 17 00:00:00 2001 From: Junichi Uekawa Date: Wed, 26 Dec 2007 20:06:59 +0900 Subject: python-apt/gdebi based pbuilder-satisfydepends-gdebi (closes: #453388) From: Michael Vogt 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. --- pbuilder-satisfydepends-gdebi | 80 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 pbuilder-satisfydepends-gdebi (limited to 'pbuilder-satisfydepends-gdebi') 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 + +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 -- cgit v1.2.3