~ubuntu-branches/ubuntu/precise/libx11/precise-security

1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
1
#! /bin/sh
2
# Common stub for a few missing GNU programs while installing.
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
3
1.3.3 by Julien Cristau
Import upstream version 1.3
4
scriptversion=2009-04-28.21; # UTC
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
5
1.3.3 by Julien Cristau
Import upstream version 1.3
6
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
7
# 2008, 2009 Free Software Foundation, Inc.
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
8
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
9
10
# This program is free software; you can redistribute it and/or modify
11
# it under the terms of the GNU General Public License as published by
12
# the Free Software Foundation; either version 2, or (at your option)
13
# any later version.
14
15
# This program is distributed in the hope that it will be useful,
16
# but WITHOUT ANY WARRANTY; without even the implied warranty of
17
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18
# GNU General Public License for more details.
19
20
# You should have received a copy of the GNU General Public License
1.3.3 by Julien Cristau
Import upstream version 1.3
21
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
22
23
# As a special exception to the GNU General Public License, if you
24
# distribute this file as part of a program that contains a
25
# configuration script generated by Autoconf, you may include it under
26
# the same distribution terms that you use for the rest of that program.
27
28
if test $# -eq 0; then
29
  echo 1>&2 "Try \`$0 --help' for more information"
30
  exit 1
31
fi
32
33
run=:
1.1.4 by Julien Cristau
Import upstream version 1.1.3
34
sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
35
sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
36
37
# In the cases where this matters, `missing' is being run in the
38
# srcdir already.
39
if test -f configure.ac; then
40
  configure_ac=configure.ac
41
else
42
  configure_ac=configure.in
43
fi
44
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
45
msg="missing on your system"
46
1.1.4 by Julien Cristau
Import upstream version 1.1.3
47
case $1 in
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
48
--run)
49
  # Try to run requested program, and just exit if it succeeds.
50
  run=
51
  shift
52
  "$@" && exit 0
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
53
  # Exit code 63 means version mismatch.  This often happens
54
  # when the user try to use an ancient version of a tool on
55
  # a file that requires a minimum version.  In this case we
56
  # we should proceed has if the program had been absent, or
57
  # if --run hadn't been passed.
58
  if test $? = 63; then
59
    run=:
60
    msg="probably too old"
61
  fi
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
62
  ;;
63
64
  -h|--h|--he|--hel|--help)
65
    echo "\
66
$0 [OPTION]... PROGRAM [ARGUMENT]...
67
68
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
69
error status if there is no known handling for PROGRAM.
70
71
Options:
72
  -h, --help      display this help and exit
73
  -v, --version   output version information and exit
74
  --run           try to run the given command, and emulate it if it fails
75
76
Supported PROGRAM values:
77
  aclocal      touch file \`aclocal.m4'
78
  autoconf     touch file \`configure'
79
  autoheader   touch file \`config.h.in'
1.1.4 by Julien Cristau
Import upstream version 1.1.3
80
  autom4te     touch the output file, or create a stub one
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
81
  automake     touch all \`Makefile.in' files
82
  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
83
  flex         create \`lex.yy.c', if possible, from existing .c
84
  help2man     touch the output file
85
  lex          create \`lex.yy.c', if possible, from existing .c
86
  makeinfo     touch the output file
87
  tar          try tar, gnutar, gtar, then tar without non-portable flags
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
88
  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
89
1.3.3 by Julien Cristau
Import upstream version 1.3
90
Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
91
\`g' are ignored when checking the name.
92
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
93
Send bug reports to <bug-automake@gnu.org>."
94
    exit $?
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
95
    ;;
96
97
  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
98
    echo "missing $scriptversion (GNU Automake)"
99
    exit $?
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
100
    ;;
101
102
  -*)
103
    echo 1>&2 "$0: Unknown \`$1' option"
104
    echo 1>&2 "Try \`$0 --help' for more information"
105
    exit 1
106
    ;;
107
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
108
esac
109
1.3.3 by Julien Cristau
Import upstream version 1.3
110
# normalize program name to check for.
111
program=`echo "$1" | sed '
112
  s/^gnu-//; t
113
  s/^gnu//; t
114
  s/^g//; t'`
115
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
116
# Now exit if we have it, but it failed.  Also exit now if we
117
# don't have it and --version was passed (most likely to detect
1.3.3 by Julien Cristau
Import upstream version 1.3
118
# the program).  This is about non-GNU programs, so use $1 not
119
# $program.
1.1.4 by Julien Cristau
Import upstream version 1.1.3
120
case $1 in
1.3.3 by Julien Cristau
Import upstream version 1.3
121
  lex*|yacc*)
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
122
    # Not GNU programs, they don't have --version.
123
    ;;
124
1.3.3 by Julien Cristau
Import upstream version 1.3
125
  tar*)
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
126
    if test -n "$run"; then
127
       echo 1>&2 "ERROR: \`tar' requires --run"
128
       exit 1
129
    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
130
       exit 1
131
    fi
132
    ;;
133
134
  *)
135
    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
136
       # We have it, but it failed.
137
       exit 1
138
    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
139
       # Could not run --version or --help.  This is probably someone
140
       # running `$TOOL --version' or `$TOOL --help' to check whether
141
       # $TOOL exists and not knowing $TOOL uses missing.
142
       exit 1
143
    fi
144
    ;;
145
esac
146
147
# If it does not exist, or fails to run (possibly an outdated version),
148
# try to emulate it.
1.3.3 by Julien Cristau
Import upstream version 1.3
149
case $program in
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
150
  aclocal*)
151
    echo 1>&2 "\
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
152
WARNING: \`$1' is $msg.  You should only need it if
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
153
         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
154
         to install the \`Automake' and \`Perl' packages.  Grab them from
155
         any GNU archive site."
156
    touch aclocal.m4
157
    ;;
158
1.3.3 by Julien Cristau
Import upstream version 1.3
159
  autoconf*)
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
160
    echo 1>&2 "\
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
161
WARNING: \`$1' is $msg.  You should only need it if
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
162
         you modified \`${configure_ac}'.  You might want to install the
163
         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
164
         archive site."
165
    touch configure
166
    ;;
167
1.3.3 by Julien Cristau
Import upstream version 1.3
168
  autoheader*)
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
169
    echo 1>&2 "\
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
170
WARNING: \`$1' is $msg.  You should only need it if
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
171
         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
172
         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
173
         from any GNU archive site."
174
    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
175
    test -z "$files" && files="config.h"
176
    touch_files=
177
    for f in $files; do
1.1.4 by Julien Cristau
Import upstream version 1.1.3
178
      case $f in
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
179
      *:*) touch_files="$touch_files "`echo "$f" |
180
				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
181
      *) touch_files="$touch_files $f.in";;
182
      esac
183
    done
184
    touch $touch_files
185
    ;;
186
187
  automake*)
188
    echo 1>&2 "\
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
189
WARNING: \`$1' is $msg.  You should only need it if
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
190
         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
191
         You might want to install the \`Automake' and \`Perl' packages.
192
         Grab them from any GNU archive site."
193
    find . -type f -name Makefile.am -print |
194
	   sed 's/\.am$/.in/' |
195
	   while read f; do touch "$f"; done
196
    ;;
197
1.3.3 by Julien Cristau
Import upstream version 1.3
198
  autom4te*)
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
199
    echo 1>&2 "\
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
200
WARNING: \`$1' is needed, but is $msg.
201
         You might have modified some files without having the
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
202
         proper tools for further handling them.
203
         You can get \`$1' as part of \`Autoconf' from any GNU
204
         archive site."
205
1.1.4 by Julien Cristau
Import upstream version 1.1.3
206
    file=`echo "$*" | sed -n "$sed_output"`
207
    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
208
    if test -f "$file"; then
209
	touch $file
210
    else
211
	test -z "$file" || exec >$file
212
	echo "#! /bin/sh"
213
	echo "# Created by GNU Automake missing as a replacement of"
214
	echo "#  $ $@"
215
	echo "exit 0"
216
	chmod +x $file
217
	exit 1
218
    fi
219
    ;;
220
1.3.3 by Julien Cristau
Import upstream version 1.3
221
  bison*|yacc*)
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
222
    echo 1>&2 "\
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
223
WARNING: \`$1' $msg.  You should only need it if
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
224
         you modified a \`.y' file.  You may need the \`Bison' package
225
         in order for those modifications to take effect.  You can get
226
         \`Bison' from any GNU archive site."
227
    rm -f y.tab.c y.tab.h
1.1.4 by Julien Cristau
Import upstream version 1.1.3
228
    if test $# -ne 1; then
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
229
        eval LASTARG="\${$#}"
1.1.4 by Julien Cristau
Import upstream version 1.1.3
230
	case $LASTARG in
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
231
	*.y)
232
	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
1.1.4 by Julien Cristau
Import upstream version 1.1.3
233
	    if test -f "$SRCFILE"; then
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
234
	         cp "$SRCFILE" y.tab.c
235
	    fi
236
	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
1.1.4 by Julien Cristau
Import upstream version 1.1.3
237
	    if test -f "$SRCFILE"; then
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
238
	         cp "$SRCFILE" y.tab.h
239
	    fi
240
	  ;;
241
	esac
242
    fi
1.1.4 by Julien Cristau
Import upstream version 1.1.3
243
    if test ! -f y.tab.h; then
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
244
	echo >y.tab.h
245
    fi
1.1.4 by Julien Cristau
Import upstream version 1.1.3
246
    if test ! -f y.tab.c; then
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
247
	echo 'main() { return 0; }' >y.tab.c
248
    fi
249
    ;;
250
1.3.3 by Julien Cristau
Import upstream version 1.3
251
  lex*|flex*)
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
252
    echo 1>&2 "\
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
253
WARNING: \`$1' is $msg.  You should only need it if
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
254
         you modified a \`.l' file.  You may need the \`Flex' package
255
         in order for those modifications to take effect.  You can get
256
         \`Flex' from any GNU archive site."
257
    rm -f lex.yy.c
1.1.4 by Julien Cristau
Import upstream version 1.1.3
258
    if test $# -ne 1; then
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
259
        eval LASTARG="\${$#}"
1.1.4 by Julien Cristau
Import upstream version 1.1.3
260
	case $LASTARG in
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
261
	*.l)
262
	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
1.1.4 by Julien Cristau
Import upstream version 1.1.3
263
	    if test -f "$SRCFILE"; then
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
264
	         cp "$SRCFILE" lex.yy.c
265
	    fi
266
	  ;;
267
	esac
268
    fi
1.1.4 by Julien Cristau
Import upstream version 1.1.3
269
    if test ! -f lex.yy.c; then
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
270
	echo 'main() { return 0; }' >lex.yy.c
271
    fi
272
    ;;
273
1.3.3 by Julien Cristau
Import upstream version 1.3
274
  help2man*)
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
275
    echo 1>&2 "\
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
276
WARNING: \`$1' is $msg.  You should only need it if
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
277
	 you modified a dependency of a manual page.  You may need the
278
	 \`Help2man' package in order for those modifications to take
279
	 effect.  You can get \`Help2man' from any GNU archive site."
280
1.1.4 by Julien Cristau
Import upstream version 1.1.3
281
    file=`echo "$*" | sed -n "$sed_output"`
282
    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
283
    if test -f "$file"; then
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
284
	touch $file
285
    else
286
	test -z "$file" || exec >$file
287
	echo ".ab help2man is required to generate this page"
1.3.3 by Julien Cristau
Import upstream version 1.3
288
	exit $?
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
289
    fi
290
    ;;
291
1.3.3 by Julien Cristau
Import upstream version 1.3
292
  makeinfo*)
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
293
    echo 1>&2 "\
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
294
WARNING: \`$1' is $msg.  You should only need it if
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
295
         you modified a \`.texi' or \`.texinfo' file, or any other file
296
         indirectly affecting the aspect of the manual.  The spurious
297
         call might also be the consequence of using a buggy \`make' (AIX,
298
         DU, IRIX).  You might want to install the \`Texinfo' package or
299
         the \`GNU make' package.  Grab either from any GNU archive site."
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
300
    # The file to touch is that specified with -o ...
1.1.4 by Julien Cristau
Import upstream version 1.1.3
301
    file=`echo "$*" | sed -n "$sed_output"`
302
    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
303
    if test -z "$file"; then
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
304
      # ... or it is the one specified with @setfilename ...
305
      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
1.1.4 by Julien Cristau
Import upstream version 1.1.3
306
      file=`sed -n '
307
	/^@setfilename/{
308
	  s/.* \([^ ]*\) *$/\1/
309
	  p
310
	  q
311
	}' $infile`
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
312
      # ... or it is derived from the source name (dir/f.texi becomes f.info)
313
      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
314
    fi
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
315
    # If the file does not exist, the user really needs makeinfo;
316
    # let's fail without touching anything.
317
    test -f $file || exit 1
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
318
    touch $file
319
    ;;
320
1.3.3 by Julien Cristau
Import upstream version 1.3
321
  tar*)
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
322
    shift
323
324
    # We have already tried tar in the generic part.
325
    # Look for gnutar/gtar before invocation to avoid ugly error
326
    # messages.
327
    if (gnutar --version > /dev/null 2>&1); then
328
       gnutar "$@" && exit 0
329
    fi
330
    if (gtar --version > /dev/null 2>&1); then
331
       gtar "$@" && exit 0
332
    fi
333
    firstarg="$1"
334
    if shift; then
1.1.4 by Julien Cristau
Import upstream version 1.1.3
335
	case $firstarg in
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
336
	*o*)
337
	    firstarg=`echo "$firstarg" | sed s/o//`
338
	    tar "$firstarg" "$@" && exit 0
339
	    ;;
340
	esac
1.1.4 by Julien Cristau
Import upstream version 1.1.3
341
	case $firstarg in
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
342
	*h*)
343
	    firstarg=`echo "$firstarg" | sed s/h//`
344
	    tar "$firstarg" "$@" && exit 0
345
	    ;;
346
	esac
347
    fi
348
349
    echo 1>&2 "\
350
WARNING: I can't seem to be able to run \`tar' with the given arguments.
351
         You may want to install GNU tar or Free paxutils, or check the
352
         command line arguments."
353
    exit 1
354
    ;;
355
356
  *)
357
    echo 1>&2 "\
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
358
WARNING: \`$1' is needed, and is $msg.
359
         You might have modified some files without having the
1 by Daniel Stone
Import upstream version 6.2.1+cvs.20050722
360
         proper tools for further handling them.  Check the \`README' file,
361
         it often tells you about the needed prerequisites for installing
362
         this package.  You may also peek at any GNU archive site, in case
363
         some other package would contain this missing \`$1' program."
364
    exit 1
365
    ;;
366
esac
367
368
exit 0
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
369
370
# Local variables:
371
# eval: (add-hook 'write-file-hooks 'time-stamp)
372
# time-stamp-start: "scriptversion="
373
# time-stamp-format: "%:y-%02m-%02d.%02H"
1.3.3 by Julien Cristau
Import upstream version 1.3
374
# time-stamp-time-zone: "UTC"
375
# time-stamp-end: "; # UTC"
1.1.2 by Rodrigo Parra Novo
Import upstream version 1.0.3
376
# End: