Sophie

Sophie

distrib > Mandriva > 2007.0 > i586 > by-pkgid > 056d77a7a6255884cf6f80939dc2bd07 > files > 10

dkms-2.0.13-3mdv2007.0.src.rpm

# bash completion for minicom
# $Id: /local/home/dev/bash-completion/minicom 190 2009-11-26T22:23:28.122461Z guillaume  $

_dkms()
{
	local cur prev command module i

	COMPREPLY=()
	cur=${COMP_WORDS[COMP_CWORD]}

	if [[ $COMP_CWORD -eq 1 ]] ; then
		COMPREPLY=( $( compgen -W "add remove build install uninstall \
			match mkdriverdisk mktarball ldtarball mkrpm mkkmp \
			status" -- $cur ) )
	else

		prev=${COMP_WORDS[COMP_CWORD-1]}
		case $prev in
			-m)
				COMPREPLY=( $( command ls -F /var/lib/dkms | grep '/$' | sed -e 's|/$||' | grep "^$cur" ) )
				return 0
				;;
			-v)
				for (( i=1; i < COMP_CWORD; i++ )); do
					if [[ "${COMP_WORDS[i]}" == -m ]]; then
						module=${COMP_WORDS[i+1]}
						break
					fi
				done
				if [ -n "$module" ]; then
					COMPREPLY=( $( command ls -F /var/lib/dkms/$module | grep '/$' | sed -e 's|/$||' | grep "^$cur" ) )
					return 0
				fi
				;;
			-k)
				_kernels
				return 0
				;;
			-@(c|-spec|-archive|-config))
				_filedir
				return 0
				;;
			--kernelsourcedir)
				_filedir -d
				return 0
				;;
		esac

		command=${COMP_WORDS[1]}

		if [[ "$cur" == -* ]]; then
			case $command in
				add)
					options='-c --rpm_safe_upgrade'
					;;
				remove)
					options='--rpm_safe_upgrade'
					;;
				build)
					options='--config'
					;;
				mkdriverdisk)
					options='-d --distro -r --release --size'
					;;
				ldtarball)
					options='--archive --force'
					;;
				mktarball)
					options='--source-only --binaries-only'
					;;
				mkrpm)
					options='--source-only'
					;;
				mkkmp)
					options='--spec'
					;;
				match)
					options='--templatekernel'
					;;
			esac

			options="$options -m -v -k -a --arch -q --quiet -V \
				--version --all --no-prepare-kernel \
				--no-clean-kernel --kernelsourcedir \
				--directive"

			COMPREPLY=( $( compgen -W "$options" -- $cur ) )
		fi
	fi
}
complete -F _dkms dkms