openpkg/rpm.sh

changeset 428
f880f219c566
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/openpkg/rpm.sh	Tue Jul 31 12:23:42 2012 +0200
     1.3 @@ -0,0 +1,60 @@
     1.4 +#!@l_prefix@/lib/openpkg/bash
     1.5 +##
     1.6 +##  rpm -- OpenPKG Registry "rpm" overload command
     1.7 +##  Copyright (c) 2000-2012 OpenPKG GmbH <http://openpkg.com/>
     1.8 +##
     1.9 +##  This software is property of the OpenPKG GmbH, DE MUC HRB 160208.
    1.10 +##  All rights reserved. Licenses which grant limited permission to use,
    1.11 +##  copy, modify and distribute this software are available from the
    1.12 +##  OpenPKG GmbH.
    1.13 +##
    1.14 +##  THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
    1.15 +##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    1.16 +##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
    1.17 +##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
    1.18 +##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    1.19 +##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    1.20 +##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
    1.21 +##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    1.22 +##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    1.23 +##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
    1.24 +##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    1.25 +##  SUCH DAMAGE.
    1.26 +##
    1.27 +
    1.28 +#   determine path to OpenPKG instance
    1.29 +PREFIX="@l_prefix@"
    1.30 +if [ ".${OPENPKG_PREFIX}" != . ]; then
    1.31 +    PREFIX="${OPENPKG_PREFIX}"
    1.32 +fi
    1.33 +
    1.34 +#   determine rpm
    1.35 +rpm="$PREFIX/libexec/openpkg/rpm"
    1.36 +[ -x "$PREFIX/lib/openpkg/rpm" ] && rpm="$PREFIX/lib/openpkg/rpm"
    1.37 +
    1.38 +#   determine whether URL rewriting is active
    1.39 +rewrite=0
    1.40 +#$PREFIX/bin/openpkg register --printstatus >/dev/null 2>&1 && rewrite=1
    1.41 +
    1.42 +#   main
    1.43 +if [ $rewrite = 1 ]; then
    1.44 +    #   URL rewriting
    1.45 +    declare -a a
    1.46 +    declare -i i=0
    1.47 +    while [ ".$1" != . ]; do
    1.48 +        arg="$1"
    1.49 +        printf '%s\n' "$arg" | grep :// >/dev/null && arg=`$PREFIX/bin/openpkg register --rewriteurls "$arg"`
    1.50 +        a[$i]="$arg"
    1.51 +        i=i+1
    1.52 +        shift
    1.53 +    done
    1.54 +    set -- "${a[@]}"
    1.55 +    unset arg i a
    1.56 +else
    1.57 +    #   stealth mode
    1.58 +    :
    1.59 +fi
    1.60 +
    1.61 +#   execute underlying application
    1.62 +exec $rpm "$@"
    1.63 +

mercurial