data/razor.sh
author James Bowes <jbowes@redhat.com>
Wed Jul 09 10:11:13 2008 -0400 (2008-07-09)
changeset 318 829d6711b316
parent 290 f2461ae87dde
permissions -rw-r--r--
Use strings to identify section types in the on-disk repo format.

Previously, a given razor file type had a fixed number of sections in a
fixed order, identified by an integer type. Now, sections are identified
by a named string (stored in a string pool after the section lists).

This will allow for razor files to contain arbitrary sections.

For bonus points, also drop the 4k section alignment and change the
magic byte string to "RZDB".

committer: Kristian H?gsberg <krh@redhat.com>
     1 __razor_commands () {
     2     local IFS=$'\n'
     3     COMPREPLY=($(IFS=: compgen -S' ' -W "info:list-requires:list-provides:list-files:list-file-packages:list-package-files:what-requires:what-provides:import-yum:import-rpmdb:import-rpms:validate:update:diff:install:init:download" -- $1))
     4 }
     5 
     6 __razor_packages () {
     7     local IFS=$'\n'
     8 
     9     COMPREPLY=($(razor list --only-names "$1*" | while read p; do echo "$p "; done))
    10 }
    11 
    12 __razor_upstream_packages () {
    13     local IFS=$'\n'
    14 
    15     COMPREPLY=($(RAZOR_REPO=rawhide.rzdb razor list --only-names "$1*" | while read p; do echo "$p "; done))
    16 }
    17 
    18 __razor_files() {
    19     COMPREPLY=($(razor list-files "$1*"))
    20 }
    21 
    22 __razor_requires() {
    23     COMPREPLY=($(compgen -W "$(razor list-requires)" -- $1))
    24 }
    25 
    26 __razor_provides() {
    27     COMPREPLY=($(compgen -W "$(razor list-provides)" -- $1))
    28 }
    29 
    30 __razor() {
    31     local cur="${COMP_WORDS[COMP_CWORD]}"
    32 
    33     if [ $COMP_CWORD = 1 ]; then
    34 	__razor_commands $cur
    35     else
    36 	case "${COMP_WORDS[1]}" in
    37 	    info|list-requires|list-provides|list-package-files)
    38 		__razor_packages $cur ;;
    39 	    list-files|list-file-packages) __razor_files $cur ;;
    40 	    what-requires) __razor_requires $cur ;;
    41 	    what-provides) __razor_provides $cur ;;
    42 	    install|download) __razor_upstream_packages $cur ;;
    43 	esac
    44     fi
    45 }
    46 
    47 complete -o nospace -F __razor razor