~ubuntu-branches/ubuntu/karmic/gnupg2/karmic-updates

« back to all changes in this revision

Viewing changes to scripts/missing

  • Committer: Bazaar Package Importer
  • Author(s): Thomas Viehmann
  • Date: 2008-10-04 10:25:53 UTC
  • mfrom: (5.1.15 intrepid)
  • Revision ID: james.westby@ubuntu.com-20081004102553-fv62pp8dsitxli47
Tags: 2.0.9-3.1
* Non-maintainer upload.
* agent/gpg-agent.c: Deinit the threading library before exec'ing
  the command to run in --daemon mode. And because that still doesn't
  restore the sigprocmask, do that manually. Closes: #499569

Show diffs side-by-side

added added

removed removed

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