/[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.1.1.1 Revision 1.23
1# Copyright 1999-2005 Gentoo Foundation 1# Copyright 1999-2010 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.1.1.1 2005/11/30 09:59:22 chriswhite Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/bash-completion.eclass,v 1.23 2010/01/02 00:07:46 ulm Exp $
4
5# @ECLASS: bash-completion.eclass
6# @MAINTAINER:
7# shell-tools@gentoo.org.
4# 8#
9# Original author: Aaron Walker <ka0ttic@gentoo.org>
10# @BLURB: An Interface for installing contributed bash-completion scripts
11# @DESCRIPTION:
5# Simple eclass that provides an interface for installing 12# Simple eclass that provides an interface for installing
6# contributed (ie not included in bash-completion proper) 13# contributed (ie not included in bash-completion proper)
7# bash-completion scripts. 14# bash-completion scripts.
8# 15
9# Author: Aaron Walker <ka0ttic@gentoo.org> 16# @ECLASS-VARIABLE: BASH_COMPLETION_NAME
10# 17# @DESCRIPTION:
11# Please assign any bug reports to shell-tools@gentoo.org. 18# Install the completion script with this name (see also dobashcompletion)
12 19
13EXPORT_FUNCTIONS pkg_postinst 20EXPORT_FUNCTIONS pkg_postinst
14 21
15IUSE="bash-completion" 22IUSE="bash-completion"
16 23
17# bash-completion-config is deprecated in favor of eselect, 24# Allow eclass to be inherited by eselect without a circular dependency
18# however, eselect currently lacks stable keywords. 25if [[ ${CATEGORY}/${PN} != app-admin/eselect ]]; then
19RDEPEND="bash-completion? 26 RDEPEND="bash-completion? ( app-admin/eselect )"
20 ( || ( 27fi
21 app-admin/eselect 28PDEPEND="bash-completion? ( app-shells/bash-completion )"
22 app-shells/bash-completion-config
23 )
24 )"
25 29
26# dobashcompletion <file> <new file> 30# @FUNCTION: dobashcompletion
31# @USAGE: < file > [ new_file ]
32# @DESCRIPTION:
27# First arg, <file>, is required and is the location of the bash-completion 33# First arg, <file>, is required and is the location of the bash-completion
28# script to install. If the variable BASH_COMPLETION_NAME is set in the 34# script to install. If the variable BASH_COMPLETION_NAME is set in the
29# ebuild, dobashcompletion will install <file> as 35# ebuild, dobashcompletion will install <file> as
30# /usr/share/bash-completion/$BASH_COMPLETION_NAME. If it is not set, 36# /usr/share/bash-completion/$BASH_COMPLETION_NAME. If it is not set,
31# dobashcompletion will check if a second arg ($2) was passed, installing as 37# dobashcompletion will check if a second arg [new_file] was passed, installing as
32# the specified name. Failing both these checks, dobashcompletion will 38# the specified name. Failing both these checks, dobashcompletion will
33# install the file as /usr/share/bash-completion/${PN}. 39# install the file as /usr/share/bash-completion/${PN}.
34
35dobashcompletion() { 40dobashcompletion() {
36 [[ -z "$1" ]] && die "usage: dobashcompletion <file> <new file>" 41 [[ -z "$1" ]] && die "usage: dobashcompletion <file> <new file>"
37 [[ -z "${BASH_COMPLETION_NAME}" ]] && BASH_COMPLETION_NAME="${2:-${PN}}" 42 [[ -z "${BASH_COMPLETION_NAME}" ]] && BASH_COMPLETION_NAME="${2:-${PN}}"
38 43
39 if useq bash-completion ; then 44 if use bash-completion ; then
40 insinto /usr/share/bash-completion 45 insinto /usr/share/bash-completion
41 newins "$1" "${BASH_COMPLETION_NAME}" || die "Failed to install $1" 46 newins "$1" "${BASH_COMPLETION_NAME}" || die "Failed to install $1"
42 fi 47 fi
43} 48}
44 49
50# @FUNCTION: bash-completion_pkg_postinst
51# @DESCRIPTION:
52# The bash-completion pkg_postinst function, which is exported
45bash-completion_pkg_postinst() { 53bash-completion_pkg_postinst() {
46 if useq bash-completion ; then 54 if use bash-completion ; then
47 echo 55 elog "In the case that you haven't yet enabled command-line completion"
48 einfo "To enable command-line completion for ${PN}, run:" 56 elog "for ${PN}, you can run:"
49 einfo 57 elog
50 if has_version app-admin/eselect ; then
51 einfo " eselect bashcomp enable ${BASH_COMPLETION_NAME:-${PN}}" 58 elog " eselect bashcomp enable ${BASH_COMPLETION_NAME:-${PN}}"
52 else 59 elog
53 einfo " bash-completion-config --install ${BASH_COMPLETION_NAME:-${PN}}"
54 einfo
55 einfo "to install locally, or" 60 elog "to install locally, or"
56 einfo 61 elog
57 einfo " bash-completion-config --global --install ${BASH_COMPLETION_NAME:-${PN}}" 62 elog " eselect bashcomp enable --global ${BASH_COMPLETION_NAME:-${PN}}"
58 einfo 63 elog
59 einfo "to install system-wide." 64 elog "to install system-wide."
60 einfo "Read bash-completion-config(1) for more information."
61 fi
62 echo
63 fi 65 fi
64} 66}

Legend:
Removed from v.1.1.1.1  
changed lines
  Added in v.1.23

  ViewVC Help
Powered by ViewVC 1.1.20