~ubuntu-branches/ubuntu/quantal/linpsk/quantal

« back to all changes in this revision

Viewing changes to admin/missing

  • Committer: Bazaar Package Importer
  • Author(s): Bruce Walker
  • Date: 2002-02-06 11:43:38 UTC
  • Revision ID: james.westby@ubuntu.com-20020206114338-xqmjmhh01lpjm0g4
Tags: upstream-0.6.2
ImportĀ upstreamĀ versionĀ 0.6.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#! /bin/sh
 
2
# Common stub for a few missing GNU programs while installing.
 
3
# Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
 
4
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
 
5
 
 
6
# This program is free software; you can redistribute it and/or modify
 
7
# it under the terms of the GNU General Public License as published by
 
8
# the Free Software Foundation; either version 2, or (at your option)
 
9
# any later version.
 
10
 
 
11
# This program is distributed in the hope that it will be useful,
 
12
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 
13
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
14
# GNU General Public License for more details.
 
15
 
 
16
# You should have received a copy of the GNU General Public License
 
17
# along with this program; if not, write to the Free Software
 
18
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 
19
# 02111-1307, USA.
 
20
 
 
21
if test $# -eq 0; then
 
22
  echo 1>&2 "Try \`$0 --help' for more information"
 
23
  exit 1
 
24
fi
 
25
 
 
26
run=:
 
27
 
 
28
case "$1" in
 
29
--run)
 
30
  # Try to run requested program, and just exit if it succeeds.
 
31
  run=
 
32
  shift
 
33
  "$@" && exit 0
 
34
  ;;
 
35
esac
 
36
 
 
37
# If it does not exist, or fails to run (possibly an outdated version),
 
38
# try to emulate it.
 
39
case "$1" in
 
40
 
 
41
  -h|--h|--he|--hel|--help)
 
42
    echo "\
 
43
$0 [OPTION]... PROGRAM [ARGUMENT]...
 
44
 
 
45
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
 
46
error status if there is no known handling for PROGRAM.
 
47
 
 
48
Options:
 
49
  -h, --help      display this help and exit
 
50
  -v, --version   output version information and exit
 
51
  --run           try to run the given command, and emulate it if it fails
 
52
 
 
53
Supported PROGRAM values:
 
54
  aclocal      touch file \`aclocal.m4'
 
55
  autoconf     touch file \`configure'
 
56
  autoheader   touch file \`config.h.in'
 
57
  automake     touch all \`Makefile.in' files
 
58
  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
 
59
  flex         create \`lex.yy.c', if possible, from existing .c
 
60
  lex          create \`lex.yy.c', if possible, from existing .c
 
61
  makeinfo     touch the output file
 
62
  tar          try tar, gnutar, gtar, then tar without non-portable flags
 
63
  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]"
 
64
    ;;
 
65
 
 
66
  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
 
67
    echo "missing 0.2 - GNU automake"
 
68
    ;;
 
69
 
 
70
  -*)
 
71
    echo 1>&2 "$0: Unknown \`$1' option"
 
72
    echo 1>&2 "Try \`$0 --help' for more information"
 
73
    exit 1
 
74
    ;;
 
75
 
 
76
  aclocal)
 
77
    echo 1>&2 "\
 
78
WARNING: \`$1' is missing on your system.  You should only need it if
 
79
         you modified \`acinclude.m4' or \`configure.in'.  You might want
 
80
         to install the \`Automake' and \`Perl' packages.  Grab them from
 
81
         any GNU archive site."
 
82
    touch aclocal.m4
 
83
    ;;
 
84
 
 
85
  autoconf)
 
86
    echo 1>&2 "\
 
87
WARNING: \`$1' is missing on your system.  You should only need it if
 
88
         you modified \`configure.in'.  You might want to install the
 
89
         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
 
90
         archive site."
 
91
    touch configure
 
92
    ;;
 
93
 
 
94
  autoheader)
 
95
    echo 1>&2 "\
 
96
WARNING: \`$1' is missing on your system.  You should only need it if
 
97
         you modified \`acconfig.h' or \`configure.in'.  You might want
 
98
         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
 
99
         from any GNU archive site."
 
100
    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' configure.in`
 
101
    test -z "$files" && files="config.h"
 
102
    touch_files=
 
103
    for f in $files; do
 
104
      case "$f" in
 
105
      *:*) touch_files="$touch_files "`echo "$f" |
 
106
                                       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
 
107
      *) touch_files="$touch_files $f.in";;
 
108
      esac
 
109
    done
 
110
    touch $touch_files
 
111
    ;;
 
112
 
 
113
  automake)
 
114
    echo 1>&2 "\
 
115
WARNING: \`$1' is missing on your system.  You should only need it if
 
116
         you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'.
 
117
         You might want to install the \`Automake' and \`Perl' packages.
 
118
         Grab them from any GNU archive site."
 
119
    find . -type f -name Makefile.am -print |
 
120
           sed 's/\.am$/.in/' |
 
121
           while read f; do touch "$f"; done
 
122
    ;;
 
123
 
 
124
  bison|yacc)
 
125
    echo 1>&2 "\
 
126
WARNING: \`$1' is missing on your system.  You should only need it if
 
127
         you modified a \`.y' file.  You may need the \`Bison' package
 
128
         in order for those modifications to take effect.  You can get
 
129
         \`Bison' from any GNU archive site."
 
130
    rm -f y.tab.c y.tab.h
 
131
    if [ $# -ne 1 ]; then
 
132
        eval LASTARG="\${$#}"
 
133
        case "$LASTARG" in
 
134
        *.y)
 
135
            SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
 
136
            if [ -f "$SRCFILE" ]; then
 
137
                 cp "$SRCFILE" y.tab.c
 
138
            fi
 
139
            SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
 
140
            if [ -f "$SRCFILE" ]; then
 
141
                 cp "$SRCFILE" y.tab.h
 
142
            fi
 
143
          ;;
 
144
        esac
 
145
    fi
 
146
    if [ ! -f y.tab.h ]; then
 
147
        echo >y.tab.h
 
148
    fi
 
149
    if [ ! -f y.tab.c ]; then
 
150
        echo 'main() { return 0; }' >y.tab.c
 
151
    fi
 
152
    ;;
 
153
 
 
154
  lex|flex)
 
155
    echo 1>&2 "\
 
156
WARNING: \`$1' is missing on your system.  You should only need it if
 
157
         you modified a \`.l' file.  You may need the \`Flex' package
 
158
         in order for those modifications to take effect.  You can get
 
159
         \`Flex' from any GNU archive site."
 
160
    rm -f lex.yy.c
 
161
    if [ $# -ne 1 ]; then
 
162
        eval LASTARG="\${$#}"
 
163
        case "$LASTARG" in
 
164
        *.l)
 
165
            SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
 
166
            if [ -f "$SRCFILE" ]; then
 
167
                 cp "$SRCFILE" lex.yy.c
 
168
            fi
 
169
          ;;
 
170
        esac
 
171
    fi
 
172
    if [ ! -f lex.yy.c ]; then
 
173
        echo 'main() { return 0; }' >lex.yy.c
 
174
    fi
 
175
    ;;
 
176
 
 
177
  makeinfo)
 
178
    echo 1>&2 "\
 
179
WARNING: \`$1' is missing on your system.  You should only need it if
 
180
         you modified a \`.texi' or \`.texinfo' file, or any other file
 
181
         indirectly affecting the aspect of the manual.  The spurious
 
182
         call might also be the consequence of using a buggy \`make' (AIX,
 
183
         DU, IRIX).  You might want to install the \`Texinfo' package or
 
184
         the \`GNU make' package.  Grab either from any GNU archive site."
 
185
    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
 
186
    if test -z "$file"; then
 
187
      file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
 
188
      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
 
189
    fi
 
190
    touch $file
 
191
    ;;
 
192
 
 
193
  tar)
 
194
    shift
 
195
    if test -n "$run"; then
 
196
      echo 1>&2 "ERROR: \`tar' requires --run"
 
197
      exit 1
 
198
    fi
 
199
 
 
200
    # we have already tried tar in the generic part
 
201
    gnutar ${1+"$@"} && exit 0
 
202
    gtar ${1+"$@"} && exit 0
 
203
    firstarg="$1"
 
204
    if shift; then
 
205
        case "$firstarg" in
 
206
        *o*)
 
207
            firstarg=`echo "$firstarg" | sed s/o//`
 
208
            tar "$firstarg" ${1+"$@"} && exit 0
 
209
            ;;
 
210
        esac
 
211
        case "$firstarg" in
 
212
        *h*)
 
213
            firstarg=`echo "$firstarg" | sed s/h//`
 
214
            tar "$firstarg" ${1+"$@"} && exit 0
 
215
            ;;
 
216
        esac
 
217
    fi
 
218
 
 
219
    echo 1>&2 "\
 
220
WARNING: I can't seem to be able to run \`tar' with the given arguments.
 
221
         You may want to install GNU tar or Free paxutils, or check the
 
222
         command line arguments."
 
223
    exit 1
 
224
    ;;
 
225
 
 
226
  *)
 
227
    echo 1>&2 "\
 
228
WARNING: \`$1' is needed, and you do not seem to have it handy on your
 
229
         system.  You might have modified some files without having the
 
230
         proper tools for further handling them.  Check the \`README' file,
 
231
         it often tells you about the needed prerequirements for installing
 
232
         this package.  You may also peek at any GNU archive site, in case
 
233
         some other package would contain this missing \`$1' program."
 
234
    exit 1
 
235
    ;;
 
236
esac
 
237
 
 
238
exit 0