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

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

  ViewVC Help
Powered by ViewVC 1.1.20