~ubuntu-core-dev/ubuntu/xenial/ubuntu-release-upgrader/xenial

« back to all changes in this revision

Viewing changes to missing

  • Committer: Michael Vogt
  • Date: 2005-11-15 13:18:07 UTC
  • Revision ID: egon@top-20051115131807-12fada324eb74180
* initial revision (after accidently killing it)

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, 2000, 2002, 2003 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
# As a special exception to the GNU General Public License, if you
 
22
# distribute this file as part of a program that contains a
 
23
# configuration script generated by Autoconf, you may include it under
 
24
# the same distribution terms that you use for the rest of that program.
 
25
 
 
26
if test $# -eq 0; then
 
27
  echo 1>&2 "Try \`$0 --help' for more information"
 
28
  exit 1
 
29
fi
 
30
 
 
31
run=:
 
32
 
 
33
# In the cases where this matters, `missing' is being run in the
 
34
# srcdir already.
 
35
if test -f configure.ac; then
 
36
  configure_ac=configure.ac
 
37
else
 
38
  configure_ac=configure.in
 
39
fi
 
40
 
 
41
case "$1" in
 
42
--run)
 
43
  # Try to run requested program, and just exit if it succeeds.
 
44
  run=
 
45
  shift
 
46
  "$@" && exit 0
 
47
  ;;
 
48
esac
 
49
 
 
50
# If it does not exist, or fails to run (possibly an outdated version),
 
51
# try to emulate it.
 
52
case "$1" in
 
53
 
 
54
  -h|--h|--he|--hel|--help)
 
55
    echo "\
 
56
$0 [OPTION]... PROGRAM [ARGUMENT]...
 
57
 
 
58
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
 
59
error status if there is no known handling for PROGRAM.
 
60
 
 
61
Options:
 
62
  -h, --help      display this help and exit
 
63
  -v, --version   output version information and exit
 
64
  --run           try to run the given command, and emulate it if it fails
 
65
 
 
66
Supported PROGRAM values:
 
67
  aclocal      touch file \`aclocal.m4'
 
68
  autoconf     touch file \`configure'
 
69
  autoheader   touch file \`config.h.in'
 
70
  automake     touch all \`Makefile.in' files
 
71
  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
 
72
  flex         create \`lex.yy.c', if possible, from existing .c
 
73
  help2man     touch the output file
 
74
  lex          create \`lex.yy.c', if possible, from existing .c
 
75
  makeinfo     touch the output file
 
76
  tar          try tar, gnutar, gtar, then tar without non-portable flags
 
77
  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]"
 
78
    ;;
 
79
 
 
80
  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
 
81
    echo "missing 0.4 - GNU automake"
 
82
    ;;
 
83
 
 
84
  -*)
 
85
    echo 1>&2 "$0: Unknown \`$1' option"
 
86
    echo 1>&2 "Try \`$0 --help' for more information"
 
87
    exit 1
 
88
    ;;
 
89
 
 
90
  aclocal*)
 
91
    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
 
92
       # We have it, but it failed.
 
93
       exit 1
 
94
    fi
 
95
 
 
96
    echo 1>&2 "\
 
97
WARNING: \`$1' is missing on your system.  You should only need it if
 
98
         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
 
99
         to install the \`Automake' and \`Perl' packages.  Grab them from
 
100
         any GNU archive site."
 
101
    touch aclocal.m4
 
102
    ;;
 
103
 
 
104
  autoconf)
 
105
    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
 
106
       # We have it, but it failed.
 
107
       exit 1
 
108
    fi
 
109
 
 
110
    echo 1>&2 "\
 
111
WARNING: \`$1' is missing on your system.  You should only need it if
 
112
         you modified \`${configure_ac}'.  You might want to install the
 
113
         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
 
114
         archive site."
 
115
    touch configure
 
116
    ;;
 
117
 
 
118
  autoheader)
 
119
    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
 
120
       # We have it, but it failed.
 
121
       exit 1
 
122
    fi
 
123
 
 
124
    echo 1>&2 "\
 
125
WARNING: \`$1' is missing on your system.  You should only need it if
 
126
         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
 
127
         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
 
128
         from any GNU archive site."
 
129
    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
 
130
    test -z "$files" && files="config.h"
 
131
    touch_files=
 
132
    for f in $files; do
 
133
      case "$f" in
 
134
      *:*) touch_files="$touch_files "`echo "$f" |
 
135
                                       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
 
136
      *) touch_files="$touch_files $f.in";;
 
137
      esac
 
138
    done
 
139
    touch $touch_files
 
140
    ;;
 
141
 
 
142
  automake*)
 
143
    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
 
144
       # We have it, but it failed.
 
145
       exit 1
 
146
    fi
 
147
 
 
148
    echo 1>&2 "\
 
149
WARNING: \`$1' is missing on your system.  You should only need it if
 
150
         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
 
151
         You might want to install the \`Automake' and \`Perl' packages.
 
152
         Grab them from any GNU archive site."
 
153
    find . -type f -name Makefile.am -print |
 
154
           sed 's/\.am$/.in/' |
 
155
           while read f; do touch "$f"; done
 
156
    ;;
 
157
 
 
158
  autom4te)
 
159
    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
 
160
       # We have it, but it failed.
 
161
       exit 1
 
162
    fi
 
163
 
 
164
    echo 1>&2 "\
 
165
WARNING: \`$1' is needed, and you do not seem to have it handy on your
 
166
         system.  You might have modified some files without having the
 
167
         proper tools for further handling them.
 
168
         You can get \`$1' as part of \`Autoconf' from any GNU
 
169
         archive site."
 
170
 
 
171
    file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
 
172
    test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
 
173
    if test -f "$file"; then
 
174
        touch $file
 
175
    else
 
176
        test -z "$file" || exec >$file
 
177
        echo "#! /bin/sh"
 
178
        echo "# Created by GNU Automake missing as a replacement of"
 
179
        echo "#  $ $@"
 
180
        echo "exit 0"
 
181
        chmod +x $file
 
182
        exit 1
 
183
    fi
 
184
    ;;
 
185
 
 
186
  bison|yacc)
 
187
    echo 1>&2 "\
 
188
WARNING: \`$1' is missing on your system.  You should only need it if
 
189
         you modified a \`.y' file.  You may need the \`Bison' package
 
190
         in order for those modifications to take effect.  You can get
 
191
         \`Bison' from any GNU archive site."
 
192
    rm -f y.tab.c y.tab.h
 
193
    if [ $# -ne 1 ]; then
 
194
        eval LASTARG="\${$#}"
 
195
        case "$LASTARG" in
 
196
        *.y)
 
197
            SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
 
198
            if [ -f "$SRCFILE" ]; then
 
199
                 cp "$SRCFILE" y.tab.c
 
200
            fi
 
201
            SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
 
202
            if [ -f "$SRCFILE" ]; then
 
203
                 cp "$SRCFILE" y.tab.h
 
204
            fi
 
205
          ;;
 
206
        esac
 
207
    fi
 
208
    if [ ! -f y.tab.h ]; then
 
209
        echo >y.tab.h
 
210
    fi
 
211
    if [ ! -f y.tab.c ]; then
 
212
        echo 'main() { return 0; }' >y.tab.c
 
213
    fi
 
214
    ;;
 
215
 
 
216
  lex|flex)
 
217
    echo 1>&2 "\
 
218
WARNING: \`$1' is missing on your system.  You should only need it if
 
219
         you modified a \`.l' file.  You may need the \`Flex' package
 
220
         in order for those modifications to take effect.  You can get
 
221
         \`Flex' from any GNU archive site."
 
222
    rm -f lex.yy.c
 
223
    if [ $# -ne 1 ]; then
 
224
        eval LASTARG="\${$#}"
 
225
        case "$LASTARG" in
 
226
        *.l)
 
227
            SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
 
228
            if [ -f "$SRCFILE" ]; then
 
229
                 cp "$SRCFILE" lex.yy.c
 
230
            fi
 
231
          ;;
 
232
        esac
 
233
    fi
 
234
    if [ ! -f lex.yy.c ]; then
 
235
        echo 'main() { return 0; }' >lex.yy.c
 
236
    fi
 
237
    ;;
 
238
 
 
239
  help2man)
 
240
    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
 
241
       # We have it, but it failed.
 
242
       exit 1
 
243
    fi
 
244
 
 
245
    echo 1>&2 "\
 
246
WARNING: \`$1' is missing on your system.  You should only need it if
 
247
         you modified a dependency of a manual page.  You may need the
 
248
         \`Help2man' package in order for those modifications to take
 
249
         effect.  You can get \`Help2man' from any GNU archive site."
 
250
 
 
251
    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
 
252
    if test -z "$file"; then
 
253
        file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
 
254
    fi
 
255
    if [ -f "$file" ]; then
 
256
        touch $file
 
257
    else
 
258
        test -z "$file" || exec >$file
 
259
        echo ".ab help2man is required to generate this page"
 
260
        exit 1
 
261
    fi
 
262
    ;;
 
263
 
 
264
  makeinfo)
 
265
    if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then
 
266
       # We have makeinfo, but it failed.
 
267
       exit 1
 
268
    fi
 
269
 
 
270
    echo 1>&2 "\
 
271
WARNING: \`$1' is missing on your system.  You should only need it if
 
272
         you modified a \`.texi' or \`.texinfo' file, or any other file
 
273
         indirectly affecting the aspect of the manual.  The spurious
 
274
         call might also be the consequence of using a buggy \`make' (AIX,
 
275
         DU, IRIX).  You might want to install the \`Texinfo' package or
 
276
         the \`GNU make' package.  Grab either from any GNU archive site."
 
277
    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
 
278
    if test -z "$file"; then
 
279
      file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
 
280
      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
 
281
    fi
 
282
    touch $file
 
283
    ;;
 
284
 
 
285
  tar)
 
286
    shift
 
287
    if test -n "$run"; then
 
288
      echo 1>&2 "ERROR: \`tar' requires --run"
 
289
      exit 1
 
290
    fi
 
291
 
 
292
    # We have already tried tar in the generic part.
 
293
    # Look for gnutar/gtar before invocation to avoid ugly error
 
294
    # messages.
 
295
    if (gnutar --version > /dev/null 2>&1); then
 
296
       gnutar "$@" && exit 0
 
297
    fi
 
298
    if (gtar --version > /dev/null 2>&1); then
 
299
       gtar "$@" && exit 0
 
300
    fi
 
301
    firstarg="$1"
 
302
    if shift; then
 
303
        case "$firstarg" in
 
304
        *o*)
 
305
            firstarg=`echo "$firstarg" | sed s/o//`
 
306
            tar "$firstarg" "$@" && exit 0
 
307
            ;;
 
308
        esac
 
309
        case "$firstarg" in
 
310
        *h*)
 
311
            firstarg=`echo "$firstarg" | sed s/h//`
 
312
            tar "$firstarg" "$@" && exit 0
 
313
            ;;
 
314
        esac
 
315
    fi
 
316
 
 
317
    echo 1>&2 "\
 
318
WARNING: I can't seem to be able to run \`tar' with the given arguments.
 
319
         You may want to install GNU tar or Free paxutils, or check the
 
320
         command line arguments."
 
321
    exit 1
 
322
    ;;
 
323
 
 
324
  *)
 
325
    echo 1>&2 "\
 
326
WARNING: \`$1' is needed, and you do not seem to have it handy on your
 
327
         system.  You might have modified some files without having the
 
328
         proper tools for further handling them.  Check the \`README' file,
 
329
         it often tells you about the needed prerequisites for installing
 
330
         this package.  You may also peek at any GNU archive site, in case
 
331
         some other package would contain this missing \`$1' program."
 
332
    exit 1
 
333
    ;;
 
334
esac
 
335
 
 
336
exit 0