/[debian]/mimetic/trunk/missing
ViewVC logotype

Annotation of /mimetic/trunk/missing

Parent Directory Parent Directory | Revision Log Revision Log


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

Properties

Name Value
svn:executable *

  ViewVC Help
Powered by ViewVC 1.1.26