~ubuntu-branches/ubuntu/hardy/ghostscript/hardy

« back to all changes in this revision

Viewing changes to expat/conftools/PrintPath

  • Committer: Bazaar Package Importer
  • Author(s): Till Kamppeter
  • Date: 2007-11-22 12:17:43 UTC
  • mfrom: (1.1.7 upstream)
  • Revision ID: james.westby@ubuntu.com-20071122121743-cd70s3ypq0r243mp
Tags: 8.61.dfsg.1-0ubtuntu1
* New upstream release
  o Final 8.61 release
* debian/patches/09_ijs_krgb_support.dpatch: Adapted to upstream changes.
* debian/rules: Updated CUPS-related variables for "make install" calls.
* debian/rules: Remove /usr/include/ghostscript from the ghostscript
  package, they go into lings-dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/sh
 
2
# Look for program[s] somewhere in $PATH.
 
3
#
 
4
# Options:
 
5
#  -s
 
6
#    Do not print out full pathname. (silent)
 
7
#  -pPATHNAME
 
8
#    Look in PATHNAME instead of $PATH
 
9
#
 
10
# Usage:
 
11
#  PrintPath [-s] [-pPATHNAME] program [program ...]
 
12
#
 
13
# Initially written by Jim Jagielski for the Apache configuration mechanism
 
14
#  (with kudos to Kernighan/Pike)
 
15
#
 
16
# This script falls under the Apache License.
 
17
# See http://www.apache.org/licenses/LICENSE
 
18
 
 
19
##
 
20
# Some "constants"
 
21
##
 
22
pathname=$PATH
 
23
echo="yes"
 
24
 
 
25
##
 
26
# Find out what OS we are running for later on
 
27
##
 
28
os=`(uname) 2>/dev/null`
 
29
 
 
30
##
 
31
# Parse command line
 
32
##
 
33
for args in $*
 
34
do
 
35
    case $args in
 
36
        -s  ) echo="no" ;;
 
37
        -p* ) pathname="`echo $args | sed 's/^..//'`" ;;
 
38
        *   ) programs="$programs $args" ;;
 
39
    esac
 
40
done
 
41
 
 
42
##
 
43
# Now we make the adjustments required for OS/2 and everyone
 
44
# else :)
 
45
#
 
46
# First of all, all OS/2 programs have the '.exe' extension.
 
47
# Next, we adjust PATH (or what was given to us as PATH) to
 
48
# be whitespace separated directories.
 
49
# Finally, we try to determine the best flag to use for
 
50
# test/[] to look for an executable file. OS/2 just has '-r'
 
51
# but with other OSs, we do some funny stuff to check to see
 
52
# if test/[] knows about -x, which is the preferred flag.
 
53
##
 
54
 
 
55
if [ "x$os" = "xOS/2" ]
 
56
then
 
57
    ext=".exe"
 
58
    pathname=`echo -E $pathname |
 
59
     sed 's/^;/.;/
 
60
          s/;;/;.;/g
 
61
          s/;$/;./
 
62
          s/;/ /g
 
63
          s/\\\\/\\//g' `
 
64
    test_exec_flag="-r"
 
65
else
 
66
    ext=""      # No default extensions
 
67
    pathname=`echo $pathname |
 
68
     sed 's/^:/.:/
 
69
          s/::/:.:/g
 
70
          s/:$/:./
 
71
          s/:/ /g' `
 
72
    # Here is how we test to see if test/[] can handle -x
 
73
    testfile="pp.t.$$"
 
74
 
 
75
    cat > $testfile <<ENDTEST
 
76
#!/bin/sh
 
77
if [ -x / ] || [ -x /bin ] || [ -x /bin/ls ]; then
 
78
    exit 0
 
79
fi
 
80
exit 1
 
81
ENDTEST
 
82
 
 
83
    if `/bin/sh $testfile 2>/dev/null`; then
 
84
        test_exec_flag="-x"
 
85
    else
 
86
        test_exec_flag="-r"
 
87
    fi
 
88
    rm -f $testfile
 
89
fi
 
90
 
 
91
for program in $programs
 
92
do
 
93
    for path in $pathname
 
94
    do
 
95
        if [ $test_exec_flag $path/${program}${ext} ] && \
 
96
           [ ! -d $path/${program}${ext} ]; then
 
97
            if [ "x$echo" = "xyes" ]; then
 
98
                echo $path/${program}${ext}
 
99
            fi
 
100
            exit 0
 
101
        fi
 
102
 
 
103
# Next try without extension (if one was used above)
 
104
        if [ "x$ext" != "x" ]; then
 
105
            if [ $test_exec_flag $path/${program} ] && \
 
106
               [ ! -d $path/${program} ]; then
 
107
                if [ "x$echo" = "xyes" ]; then
 
108
                    echo $path/${program}
 
109
                fi
 
110
                exit 0
 
111
            fi
 
112
        fi
 
113
    done
 
114
done
 
115
exit 1
 
116