#! @BASH@ # This script is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as # published by the Free Software Foundation. # # See the COPYING and AUTHORS files for more details. export TEXTDOMAIN=quilt export TEXTDOMAINDIR=@LOCALEDIR@ if [ -z "$QUILTRC" ] then for QUILTRC in $HOME/.quiltrc /etc/quilt.quiltrc; do [ -e $QUILTRC ] && break done export QUILTRC fi # Support compatibility layer if [ -r @QUILT@/compat/compatfns ] then source @QUILT@/compat/compatfns fi export PATH="@QUILT@/compat:$PATH" usage() { echo $"Usage: quilt [--trace[=verbose]] [--quiltrc=XX] command [-h] ..." echo $" quilt --version" echo $"Commands are:" quilt_commands \ | sort \ | column | column -t \ | @SED@ -e $'s/^/\t/' echo $" Global options: --trace Runs the command in bash trace mode (-x). For internal debugging. --quiltrc file Use the specified configuration file instead of ~/.quiltrc (or /etc/quilt.quiltrc if ~/.quiltrc does not exist). See the pdf documentation for details about its possible contents. --version Print the version number and exit immediately." exit 1 } quilt_commands() { local command for command in @QUILT@/* do if [ -f "$command" -a -x "$command" ] then echo ${command##@QUILT@/} fi done } if [ $# -eq 1 -a "$1" == "--version" ] then echo '@VERSION@' exit fi BASH_OPTS= while [ $# -ne 0 ] do case $1 in [^-]*) if [ -z "$command" ] then command=$1 else args[${#args[@]}]=$1 fi ;; # Use a resource file other than ~/.quiltrc --quiltrc=*) QUILTRC=${1#--quiltrc=} [ "$QUILTRC" = - ] && unset QUILTRC ;; --quiltrc) QUILTRC=$2 [ "$QUILTRC" = - ] && unset QUILTRC shift ;; # Trace execution of commands --trace*) BASH_OPTS="${BASH_OPTS:+$BASH_OPTS }-x" case "${1:7}" in '') ;; =verbose) BASH_OPTS="${BASH_OPTS:+$BASH_OPTS }-v" ;; *) command= break ;; esac ;; *) args[${#args[@]}]=$1 ;; esac shift done if ! [ -f "@QUILT@/$command" -a -x "@QUILT@/$command" ] then if [ -n "$command" ] then for arg in $(quilt_commands) do case "$arg" in $command*) commands[${#commands[@]}]=$arg ;; esac done unset arg fi if [ ${#commands[@]} -eq 0 ] then usage elif [ ${#commands[@]} -eq 1 ] then command=${commands[0]} unset commands else echo "$command :" "${commands[@]}" >&2 exit 1 fi fi set -- "${args[@]}" unset args #source @QUILT@/$command export QUILT_COMMAND="${command##*/}" @BASH@ $BASH_OPTS -c ". @QUILT@/$command" "quilt ${command##*/}" "$@"