data/razor.sh
author J. Ali Harlow <ali@juiblex.co.uk>
Thu Oct 09 17:27:41 2014 +0100 (2014-10-09)
changeset 455 df914f383f5c
parent 290 f2461ae87dde
permissions -rw-r--r--
Support downloading from local repository even without libcurl

Using the --url option of the razor executable, it is possible
to specify a yum repository on the local machine (eg., on installation
media) and import from there, eg.,:

C> razor --url file:///d:/ import-yum

This will be handled by libcurl if available but if not, an internal
copy routine will be used.

Note that if Microsoft's KTM implementation of atomic transactions is
used, then the current directory must support atomic transactions
(also improve error messages for this, and other, cases).
     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