mvdir
[bitbake.git] / contrib / bash-completion
1 #
2 # Bash completion for oemake
3 #
4 # contact: oe at haslup dot com
5 #
6 #
7 # Uses $OEDIR to find your local.conf in which it
8 # expects OEFILES to be defined.
9 #
10 # If it's not, feel free to add an OEFILES like below:
11 #OEFILES="/data/zaurus/openembedded/packages/*/*.oe" 
12 #
13
14
15 _oefiles_update ()
16 {
17    if [ -e $OEDIR/conf/local.conf ]; then
18       OEFILES=`grep -E "^OEFILES" $OEDIR/conf/local.conf|sed 's/^.*= *//'`
19    else
20       echo "Couldn't find conf/local.conf, maybe set OEDIR?"
21    fi
22
23   export COMPLETE_OE_PKG_CACHE=$(for f in `ls ${OEFILES//\"/}` ; do basename $f | sed 's/\_.*$//' ; done)
24 }
25
26 _oemake_cached () 
27
28         local packages cur
29
30         COMPREPLY=()
31         cur=${COMP_WORDS[COMP_CWORD]}
32
33   COMPREPLY=( $(compgen -W '$COMPLETE_OE_PKG_CACHE' -- $cur ) )
34 }
35
36 _oemake () 
37
38         local packages cur
39
40         COMPREPLY=()
41         cur=${COMP_WORDS[COMP_CWORD]}
42
43    _oefiles_update
44
45    COMPREPLY=( $(compgen -W '$COMPLETE_OE_PKG_CACHE' -- $cur ) )
46    #COMPREPLY=( $(  (compgen -W '$(for f in `find $OE_PKG_DIR -not -path "*SCCS*" -name "*.oe" -exec basename {} \;` ; do echo $f | sed 's/\_.*$//' ; 
47 done)' -- $cur ) ) )
48 }
49
50 _oefiles_update
51
52 # Choose one of the commands below... the cached version is pretty quick, but might need
53 # refreshing each time you update your packages directory.  Non-cached is too slow
54 # on my P4-1.8ghz.
55 #
56 # If you can use the non-cached, more power to you and your speedy machine :)
57 #
58 complete -F _oemake_cached oemake
59 #complete -F _oemake oemake