/[gentoo-x86]/eclass/bash-completion.eclass
Gentoo

Diff of /eclass/bash-completion.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.6 Revision 1.13
1# Copyright 1999-2004 Gentoo Foundation 1# Copyright 1999-2005 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/bash-completion.eclass,v 1.6 2004/12/29 10:26:33 ka0ttic Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/bash-completion.eclass,v 1.13 2005/07/06 20:20:03 agriffis Exp $
4# 4#
5# Simple eclass that provides an interface for installing 5# Simple eclass that provides an interface for installing
6# contributed (ie not included in bash-completion proper) 6# contributed (ie not included in bash-completion proper)
7# bash-completion scripts. 7# bash-completion scripts.
8# 8#
9# Author: Aaron Walker <ka0ttic@gentoo.org> 9# Author: Aaron Walker <ka0ttic@gentoo.org>
10# 10#
11# Please assign any bug reports to shell-tools@gentoo.org. 11# Please assign any bug reports to shell-tools@gentoo.org.
12 12
13ECLASS="bash-completion"
14INHERITED="${INHERITED} ${ECLASS}" 13INHERITED="${INHERITED} ${ECLASS}"
15EXPORT_FUNCTIONS pkg_postinst 14EXPORT_FUNCTIONS pkg_postinst
16 15
17IUSE="${IUSE} bash-completion" 16IUSE="${IUSE} bash-completion"
18 17
19#RDEPEND="${RDEPEND} 18RDEPEND="${RDEPEND}
20# bash-completion? ( app-shells/bash-completion-config )" 19 bash-completion? ( app-shells/bash-completion-config )"
21
22##### VARIABLES #####
23[[ -z "${BASH_COMPLETION_NAME}" ]] && BASH_COMPLETION_NAME="${PN}"
24 20
25# dobashcompletion <file> <new file> 21# dobashcompletion <file> <new file>
26# First arg, <file>, is required and is the location of the bash-completion 22# First arg, <file>, is required and is the location of the bash-completion
27# script to install. Second arg, <new file>, is optional and specifies an 23# script to install. If the variable BASH_COMPLETION_NAME is set in the
28# alternate filename to install as. 24# ebuild, dobashcompletion will install <file> as
25# /usr/share/bash-completion/$BASH_COMPLETION_NAME. If it is not set,
26# dobashcompletion will check if a second arg ($2) was passed, installing as
27# the specified name. Failing both these checks, dobashcompletion will
28# install the file as /usr/share/bash-completion/${PN}.
29 29
30dobashcompletion() { 30dobashcompletion() {
31 [[ -z "$1" ]] && die "usage: dobashcompletion <file> <new file>" 31 [[ -z "$1" ]] && die "usage: dobashcompletion <file> <new file>"
32 [[ -n "$2" ]] && export BASH_COMPLETION_NAME="$2" 32 [[ -z "${BASH_COMPLETION_NAME}" ]] && BASH_COMPLETION_NAME="${2:-${PN}}"
33
33 if useq bash-completion ; then 34 if useq bash-completion ; then
34 insinto /usr/share/bash-completion 35 insinto /usr/share/bash-completion
35 newins "$1" "${BASH_COMPLETION_NAME}" || die "Failed to install $1" 36 newins "$1" "${BASH_COMPLETION_NAME}" || die "Failed to install $1"
36 fi 37 fi
37} 38}
38 39
39bash-completion_pkg_postinst() { 40bash-completion_pkg_postinst() {
40 if useq bash-completion ; then 41 if useq bash-completion ; then
41 echo 42 echo
42 einfo "To enable command-line completion for ${PN}, run:" 43 einfo "To enable command-line completion for ${PN}, run:"
43
44 # NOTE: this is temporary; bash-completion-config will be in RDEPEND
45 # once it goes stable and can be used as a dependency.
46 if has_version 'app-shells/bash-completion-config' ; then
47 einfo 44 einfo
45 if has_version app-admin/eselect ; then
46 einfo " eselect bashcomp enable ${BASH_COMPLETION_NAME:-${PN}}"
47 else
48 einfo " bash-completion-config --install ${BASH_COMPLETION_NAME}" 48 einfo " bash-completion-config --install ${BASH_COMPLETION_NAME:-${PN}}"
49 einfo 49 einfo
50 einfo "to install locally, or" 50 einfo "to install locally, or"
51 einfo 51 einfo
52 einfo " bash-completion-config --global --install ${BASH_COMPLETION_NAME}" 52 einfo " bash-completion-config --global --install ${BASH_COMPLETION_NAME:-${PN}}"
53 einfo 53 einfo
54 einfo "to install system-wide." 54 einfo "to install system-wide."
55 einfo "Read bash-completion-config(1) for more information." 55 einfo "Read bash-completion-config(1) for more information."
56 else
57 einfo " ln -s /usr/share/bash-completion/${BASH_COMPLETION_NAME} \\ "
58 einfo " /etc/bash_completion.d/"
59 fi 56 fi
60 echo 57 echo
61 fi 58 fi
62} 59}

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.13

  ViewVC Help
Powered by ViewVC 1.1.20