Hi Junichi, Now I realized right option order for --build, and implemented '-y' in cupt. The patch became less intrusive.
-- Eugene V. Lyubimkin aka JackYF, JID: jackyf.devel(maildog)gmail.com C++/Perl developer, Debian Developer
diff -urN pbuilder-0.189/Makefile pbuilder-0.189+jackyf1/Makefile --- pbuilder-0.189/Makefile 2009-06-23 02:43:13.000000000 +0300 +++ pbuilder-0.189+jackyf1/Makefile 2009-09-27 19:48:57.943519414 +0300 @@ -92,6 +92,7 @@ $(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-cupt $(DESTDIR)/usr/lib/pbuilder/ $(INSTALL_EXECUTABLE) pbuilder-satisfydepends-checkparams $(DESTDIR)/usr/lib/pbuilder/ $(INSTALL_EXECUTABLE) pbuilder-satisfydepends-funcs $(DESTDIR)/usr/lib/pbuilder/ $(INSTALL_EXECUTABLE) pdebuild-internal $(DESTDIR)/usr/lib/pbuilder/ diff -urN pbuilder-0.189/pbuilder-buildpackage-funcs pbuilder-0.189+jackyf1/pbuilder-buildpackage-funcs --- pbuilder-0.189/pbuilder-buildpackage-funcs 2009-02-26 07:33:11.000000000 +0200 +++ pbuilder-0.189+jackyf1/pbuilder-buildpackage-funcs 2009-10-23 12:17:21.984880080 +0300 @@ -37,6 +37,11 @@ yes) BUILDOPT="--binary-arch";; *) ;; esac + + if [ -n "$USE_CUPT" ]; then + PBUILDERSATISFYDEPENDSCMD=/usr/lib/pbuilder/pbuilder-satisfydepends-cupt + fi + if "$PBUILDERSATISFYDEPENDSCMD" --control "$1" --chroot "${BUILDPLACE}" --internal-chrootexec "${CHROOTEXEC}" "${BUILDOPT}" ; then : else @@ -50,7 +55,12 @@ fi # install extra packages to the chroot if [ -n "$EXTRAPACKAGES" ]; then - $CHROOTEXEC usr/bin/apt-get -y --force-yes install ${EXTRAPACKAGES} + if [ -n "$USE_CUPT" ]; then + PACKAGE_MANAGER_COMMAND="/usr/bin/cupt -y --no-auto-remove -o cupt::console::allow-untrusted=1" + else + PACKAGE_MANAGER_COMMAND="/usr/bin/apt-get -y --force-yes" + fi + $CHROOTEXEC $PACKAGE_MANAGER_COMMAND install ${EXTRAPACKAGES} fi } diff -urN pbuilder-0.189/pbuilder-checkparams pbuilder-0.189+jackyf1/pbuilder-checkparams --- pbuilder-0.189/pbuilder-checkparams 2009-03-07 03:07:51.000000000 +0200 +++ pbuilder-0.189+jackyf1/pbuilder-checkparams 2009-09-27 21:47:54.529461681 +0300 @@ -210,6 +210,12 @@ outputfile[${#outputfi...@]}]="$2"; shift; shift; ;; + --cupt) + log "I: Using cupt as package manager" + USE_CUPT=yes + EXTRAPACKAGES="$EXTRAPACKAGES cupt" + shift; + ;; ## internal options. --internal-chrootexec) diff -urN pbuilder-0.189/pbuilder-satisfydepends-cupt pbuilder-0.189+jackyf1/pbuilder-satisfydepends-cupt --- pbuilder-0.189/pbuilder-satisfydepends-cupt 1970-01-01 03:00:00.000000000 +0300 +++ pbuilder-0.189+jackyf1/pbuilder-satisfydepends-cupt 2009-10-23 12:54:17.612881957 +0300 @@ -0,0 +1,49 @@ +#!/bin/bash +# pbuilder -- personal Debian package builder +# Copyright (C) 2001,2002,2003,2005-2007 Junichi Uekawa +# Copyright (C) 2009 Eugene V. Lyubimkin +# +# 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 build dependencies; cupt flavor + +set -e + +. /usr/lib/pbuilder/pbuilder-satisfydepends-funcs + +function checkbuilddep_internal () { + local FLAGS="-y -o apt::install-recommends=0 -o cupt::downloader::max-simultaneous-downloads=1" + FLAGS="$FLAGS -o cupt::console::allow-untrusted=1" + echo " -> Attempting to parse the build-deps " + BUILD_DEPENDS=$(get_control_re "$DEBIAN_CONTROL" "$BD_REGEXP") + BUILD_CONFLICTS=$(get_control_re "$DEBIAN_CONTROL" "$BC_REGEXP") + + # trim them + BUILD_DEPENDS=$(echo $BUILD_DEPENDS | sed 's/^ +//') + BUILD_CONFLICTS=$(echo $BUILD_CONFLICTS | sed 's/^ +//') + + if [ -n "$BUILD_CONFLICTS" ]; then + BUILD_CONFLICTS="$BUILD_CONFLICTS-" + fi + + if $CHROOTEXEC /usr/bin/cupt $FLAGS satisfy "$BUILD_DEPENDS" "$BUILD_CONFLICTS"; then + echo " -> Finished parsing the build-deps" + else + echo "E: Could not satisfy build-dependency." >&2 + fi +} + +. /usr/lib/pbuilder/pbuilder-satisfydepends-checkparams + diff -urN pbuilder-0.189/pbuilder-updatebuildenv pbuilder-0.189+jackyf1/pbuilder-updatebuildenv --- pbuilder-0.189/pbuilder-updatebuildenv 2009-10-24 14:33:57.013018027 +0300 +++ pbuilder-0.189+jackyf1/pbuilder-updatebuildenv 2009-10-24 14:33:55.863257798 +0300 @@ -34,28 +34,45 @@ extractbuildplace $TRAP umountproc_cleanbuildplace_trap exit sighup +recover_aptcache + +if [ -n "$USE_CUPT" ]; then + if ! $CHROOTEXEC /usr/bin/dpkg -l | grep "^ii" | grep cupt; then + log "I: installing cupt package manager"; + $CHROOTEXEC apt-get update + $CHROOTEXEC apt-get -y install cupt + fi + PACKAGE_MANAGER=/usr/bin/cupt + PACKAGE_MANAGER_COMMAND="/usr/bin/cupt -y -o cupt::console::allow-untrusted=1" +else + PACKAGE_MANAGER=/usr/bin/apt-get + PACKAGE_MANAGER_COMMAND="/usr/bin/apt-get -y --force-yes" +fi + loadhooks log "I: Refreshing the base.tgz " log "I: upgrading packages" -$CHROOTEXEC /usr/bin/apt-get update +$CHROOTEXEC $PACKAGE_MANAGER update if [ -n "$REMOVEPACKAGES" ]; then $CHROOTEXEC /usr/bin/dpkg --purge $REMOVEPACKAGES fi -recover_aptcache $TRAP saveaptcache_umountproc_cleanbuildplace_trap exit sighup -$CHROOTEXEC /usr/bin/apt-get -y --force-yes "${force_confn...@]}" dist-upgrade +$CHROOTEXEC $PACKAGE_MANAGER_COMMAND "${force_confn...@]}" dist-upgrade # autoremove: Ignore error in case of etch because apt in etch doesn't # support autoremove. TODO: Do not ignore error when etch is no longer # supported. -$CHROOTEXEC /usr/bin/apt-get -y --force-yes autoremove || true -$CHROOTEXEC /usr/bin/apt-get -y --force-yes install build-essential dpkg-dev apt aptitude $EXTRAPACKAGES +if [ -z "$USE_CUPT" ]; then + $CHROOTEXEC /usr/bin/apt-get -y --force-yes autoremove || true +fi + +$CHROOTEXEC $PACKAGE_MANAGER_COMMAND install build-essential dpkg-dev apt aptitude $EXTRAPACKAGES save_aptcache # optionally auto-clean apt-cache if [ "${AUTOCLEANAPTCACHE}" = "yes" -a -n "$APTCACHE" ]; then log "I: Cleaning the cached apt archive" - $CHROOTEXEC /usr/bin/apt-get autoclean || true + $CHROOTEXEC $PACKAGE_MANAGER autoclean || true find "$APTCACHE/" -maxdepth 1 -name \*.deb | \ while read A; do if [ ! -f "$BUILDPLACE/var/cache/apt/archives/"$(basename "$A") -a \ @@ -71,7 +88,7 @@ unloadhooks umountproc -$CHROOTEXEC /usr/bin/apt-get clean || true +$CHROOTEXEC $PACKAGE_MANAGER clean || true $TRAP cleanbuildplace_trap exit sighup if [ ! "${INTERNAL_BUILD_UML}" = "yes" ]; then
signature.asc
Description: OpenPGP digital signature