Browse Source

pkgprefix: fixed bug in prefix request with -r, and sightly cleaned code

user/amery/stages
Alejandro Mery 15 years ago
committed by Alejandro Mery
parent
commit
5deeccbdae
1 changed files with 9 additions and 5 deletions
  1. +9
    -5
      lib/functions.in

+ 9
- 5
lib/functions.in

@ -2,7 +2,7 @@
# This copyright note is auto-generated by ./scripts/Create-CopyPatch. # This copyright note is auto-generated by ./scripts/Create-CopyPatch.
# #
# Filename: lib/functions.in # Filename: lib/functions.in
# Copyright (C) 2006 - 2009 The OpenSDE Project
# Copyright (C) 2006 - 2010 The OpenSDE Project
# Copyright (C) 2004 - 2006 The T2 SDE Project # Copyright (C) 2004 - 2006 The T2 SDE Project
# Copyright (C) 1998 - 2003 Clifford Wolf # Copyright (C) 1998 - 2003 Clifford Wolf
# #
@ -579,13 +579,13 @@ pkginstalled() {
# #
pkgprefix() { pkgprefix() {
local type= pkg= local type= pkg=
local dotest= addroot= abortmsg=
local dotest= addroot= wantsroot= abortmsg=
local prefix= value= local prefix= value=
while [ $# -gt 1 ]; do while [ $# -gt 1 ]; do
case "$1" in case "$1" in
-t) dotest=1 ;; -t) dotest=1 ;;
-r) addroot="${root:-/}" ;;
-r) addroot="$root" wantsroot="yes" ;;
-*) abortmsg="invalid option $1" ;; -*) abortmsg="invalid option $1" ;;
*) break ;; *) break ;;
esac esac
@ -621,7 +621,11 @@ pkgprefix() {
echo "pkgprefix: $abortmsg" 1>&2 echo "pkgprefix: $abortmsg" 1>&2
elif [ -z "$type" -o "$type" = "prefix" ]; then elif [ -z "$type" -o "$type" = "prefix" ]; then
type="prefix" type="prefix"
value="$prefix"
if [ "$wantsroot" = "yes" ]; then
value="${prefix:+/$prefix}"
else
value="$prefix"
fi
elif [ "$type" = "ver" ]; then elif [ "$type" = "ver" ]; then
value=$( grep "^Package Name and Version:" "$root/var/adm/packages/$pkg" | cut -d' ' -f6 ) value=$( grep "^Package Name and Version:" "$root/var/adm/packages/$pkg" | cut -d' ' -f6 )
else else
@ -633,7 +637,7 @@ pkgprefix() {
fi fi
if [ -n "$value" -o "$type" = "prefix" ]; then if [ -n "$value" -o "$type" = "prefix" ]; then
echo "$addroot$value" | sed -e 's|/\+/|/|g' -e 's|\(.\+\)/$|\1|'
echo "$addroot$value"
else else
echo "PKGPREFIX_ERROR" echo "PKGPREFIX_ERROR"
fi fi

Loading…
Cancel
Save