diff options
author | Junichi Uekawa <dancer@dancer64.netfort.gr.jp> | 2007-12-26 20:06:59 +0900 |
---|---|---|
committer | Junichi Uekawa <dancer@dancer64.netfort.gr.jp> | 2007-12-26 20:06:59 +0900 |
commit | d4a893eb3a93b5e5fdd1a10a605629c894ed757d (patch) | |
tree | e0efdcf65be2e18f3b4649ba79c0a0c6340823cf /pbuilder-satisfydepends-gdebi | |
parent | 9f0f8b76ab7289d63c6c5812b4737d0fbd7bcbbc (diff) | |
download | pbuilder-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-gdebi | 80 |
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 |