Package: pbuilder Version: 0.206 Severity: normal Tags: patch Currently, pbuidler only supports bash_completion for the commands (first argument) and filename completion for the .dsc file.
This patch adds additional support for all flags and filename/directory completion for flags that require this. The patch is submitted (and accepted) to Ubuntu in two phases, see these bug reports: - https://bugs.launchpad.net/ubuntu/+source/pbuilder/+bug/770529 - https://bugs.launchpad.net/ubuntu/+source/pbuilder/+bug/933339 Please consider to apply this patch. Thanks in advance, Maarten *** bash_completion.debdiff --- pbuilder-0.206/bash_completion.d/pbuilder 2010-01-31 04:52:57.000000000 +0100 +++ pbuilder-0.207/bash_completion.d/pbuilder 2012-02-22 10:07:01.000000000 +0100 @@ -7,21 +7,73 @@ # adapted to pbuilder, the license is GPLv2 or later. # Copyright 2007 Junichi Uekawa <dan...@debian.org> -have pbuilder && +have pbuilder && { _pbuilder() { - local cur options + local cur prev command i COMPREPLY=() - cur=${COMP_WORDS[COMP_CWORD]} - options='--create --update --build --login --execute --dumpconfig' + _get_comp_words_by_ref cur prev - if [ $COMP_CWORD -eq 1 ]; then - COMPREPLY=( $( compgen -W "$options" | grep "^$cur" ) ) - elif [ "${COMP_WORDS[1]}" = --build ]; then - COMPREPLY=( $( compgen -o filenames -G "$cur*.dsc" ) ) + + if [[ $COMP_CWORD -eq 1 ]]; then + COMPREPLY=( $( compgen -W '--create --update --build --login --execute \ + --dumpconfig create update build login execute dumpconfig' -- "$cur" ) ) + return 0 + fi + + _expand || return 0 + + # find the last option flag + if [[ $cur != -* ]]; then + i=$COMP_CWORD + while [[ $prev != -* && $i != 2 ]]; do + i=$((i-1)) + prev=${COMP_WORDS[i-1]} + done fi + command=${COMP_WORDS[1]} + + case $prev in + --basetgz) + # tgz file completion + _filedir 'tgz' + return 0 + ;; + --configfile|--logfile) + # Any file + _filedir + return 0 + ;; + --buildplace|--buildresults) + # Any directory + _filedir -d + return 0 + ;; + *) + # Provide available flags + COMPREPLY=( $( compgen -W '--basetgz --buildplace --mirror --othermirror \ + --http-proxy --distribution --architecture --components --buildresult \ + --aptcache --removepackages --extrapackages --configfile --hookdir \ + --debemail --debbuildopts --logfile --pkgname-logfile --aptconfdir \ + --timeout --override-config --binary-arch --preserve-buildplace \ + --bindmounts --debug --twice --autocleanaptcache --compressprog \ + --debootstrapopts --save-after-login --save-after-exec --debootstrap' \ + -- "$cur" ) ) + if [[ $prev = @(--aptcache|--hookdir) ]]; then + # Optionally provide a directory + _filedir -d + fi + if [[ $cur != -* && $command == @(--build|build) ]]; then + # dsc file completion + _filedir "dsc" + fi + return 0 + ;; + esac + return 0 } -[ "$have" ] && complete -F _pbuilder -o filenames pbuilder +complete -F _pbuilder pbuilder +} --- pbuilder-0.206/debian/changelog 2012-01-28 06:58:59.000000000 +0100 +++ pbuilder-0.207/debian/changelog 2012-02-22 09:49:20.000000000 +0100 @@ -1,3 +1,9 @@ +pbuilder (0.207) UNRELEASED; urgency=low + + * Auto complete flags and required file/directory names + + -- Maarten Bezemer <maarten.beze...@gmail.com> Wed, 22 Feb 2012 09:42:23 +0100 + pbuilder (0.206) unstable; urgency=low [ Matthew Palmer ] -- System Information: Debian Release: wheezy/sid APT prefers oneiric-security APT policy: (990, 'oneiric-security'), (900, 'oneiric-updates'), (500, 'oneiric'), (400, 'oneiric-proposed'), (100, 'oneiric-backports'), (90, 'precise') Architecture: amd64 (x86_64) Kernel: Linux 3.0.0-16-generic (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages pbuilder depends on: ii coreutils 8.5-1ubuntu6 GNU core utilities ii debconf [debconf-2.0] 1.5.40ubuntu1 Debian configuration management sy ii debianutils 4.0.2 Miscellaneous utilities specific t ii debootstrap 1.0.37 Bootstrap a basic Debian system ii wget 1.12-3.1ubuntu1 retrieves files from the web Versions of packages pbuilder recommends: ii devscripts 2.11.1ubuntu3.1 scripts to make the life of a Debi ii fakeroot 1.17-1 tool for simulating superuser priv ii sudo 1.7.4p6-1ubuntu2 Provide limited super user privile Versions of packages pbuilder suggests: pn cowdancer <none> (no description available) pn gdebi-core <none> (no description available) pn pbuilder-uml <none> (no description available) -- debconf information excluded -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org