Annotation of embedaddon/dhcping/missing, revision 1.1.1.1

1.1       misho       1: #! /bin/sh
                      2: # Common stub for a few missing GNU programs while installing.
                      3: # Copyright 1996, 1997, 1999, 2000 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.3 - 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:     echo 1>&2 "\
                     92: WARNING: \`$1' is missing on your system.  You should only need it if
                     93:          you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
                     94:          to install the \`Automake' and \`Perl' packages.  Grab them from
                     95:          any GNU archive site."
                     96:     touch aclocal.m4
                     97:     ;;
                     98: 
                     99:   autoconf)
                    100:     echo 1>&2 "\
                    101: WARNING: \`$1' is missing on your system.  You should only need it if
                    102:          you modified \`${configure_ac}'.  You might want to install the
                    103:          \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
                    104:          archive site."
                    105:     touch configure
                    106:     ;;
                    107: 
                    108:   autoheader)
                    109:     echo 1>&2 "\
                    110: WARNING: \`$1' is missing on your system.  You should only need it if
                    111:          you modified \`acconfig.h' or \`${configure_ac}'.  You might want
                    112:          to install the \`Autoconf' and \`GNU m4' packages.  Grab them
                    113:          from any GNU archive site."
                    114:     files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
                    115:     test -z "$files" && files="config.h"
                    116:     touch_files=
                    117:     for f in $files; do
                    118:       case "$f" in
                    119:       *:*) touch_files="$touch_files "`echo "$f" |
                    120:                                       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
                    121:       *) touch_files="$touch_files $f.in";;
                    122:       esac
                    123:     done
                    124:     touch $touch_files
                    125:     ;;
                    126: 
                    127:   automake)
                    128:     echo 1>&2 "\
                    129: WARNING: \`$1' is missing on your system.  You should only need it if
                    130:          you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
                    131:          You might want to install the \`Automake' and \`Perl' packages.
                    132:          Grab them from any GNU archive site."
                    133:     find . -type f -name Makefile.am -print |
                    134:           sed 's/\.am$/.in/' |
                    135:           while read f; do touch "$f"; done
                    136:     ;;
                    137: 
                    138:   bison|yacc)
                    139:     echo 1>&2 "\
                    140: WARNING: \`$1' is missing on your system.  You should only need it if
                    141:          you modified a \`.y' file.  You may need the \`Bison' package
                    142:          in order for those modifications to take effect.  You can get
                    143:          \`Bison' from any GNU archive site."
                    144:     rm -f y.tab.c y.tab.h
                    145:     if [ $# -ne 1 ]; then
                    146:         eval LASTARG="\${$#}"
                    147:        case "$LASTARG" in
                    148:        *.y)
                    149:            SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
                    150:            if [ -f "$SRCFILE" ]; then
                    151:                 cp "$SRCFILE" y.tab.c
                    152:            fi
                    153:            SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
                    154:            if [ -f "$SRCFILE" ]; then
                    155:                 cp "$SRCFILE" y.tab.h
                    156:            fi
                    157:          ;;
                    158:        esac
                    159:     fi
                    160:     if [ ! -f y.tab.h ]; then
                    161:        echo >y.tab.h
                    162:     fi
                    163:     if [ ! -f y.tab.c ]; then
                    164:        echo 'main() { return 0; }' >y.tab.c
                    165:     fi
                    166:     ;;
                    167: 
                    168:   lex|flex)
                    169:     echo 1>&2 "\
                    170: WARNING: \`$1' is missing on your system.  You should only need it if
                    171:          you modified a \`.l' file.  You may need the \`Flex' package
                    172:          in order for those modifications to take effect.  You can get
                    173:          \`Flex' from any GNU archive site."
                    174:     rm -f lex.yy.c
                    175:     if [ $# -ne 1 ]; then
                    176:         eval LASTARG="\${$#}"
                    177:        case "$LASTARG" in
                    178:        *.l)
                    179:            SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
                    180:            if [ -f "$SRCFILE" ]; then
                    181:                 cp "$SRCFILE" lex.yy.c
                    182:            fi
                    183:          ;;
                    184:        esac
                    185:     fi
                    186:     if [ ! -f lex.yy.c ]; then
                    187:        echo 'main() { return 0; }' >lex.yy.c
                    188:     fi
                    189:     ;;
                    190: 
                    191:   help2man)
                    192:     echo 1>&2 "\
                    193: WARNING: \`$1' is missing on your system.  You should only need it if
                    194:         you modified a dependency of a manual page.  You may need the
                    195:         \`Help2man' package in order for those modifications to take
                    196:         effect.  You can get \`Help2man' from any GNU archive site."
                    197: 
                    198:     file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
                    199:     if test -z "$file"; then
                    200:        file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
                    201:     fi
                    202:     if [ -f "$file" ]; then
                    203:        touch $file
                    204:     else
                    205:        test -z "$file" || exec >$file
                    206:        echo ".ab help2man is required to generate this page"
                    207:        exit 1
                    208:     fi
                    209:     ;;
                    210: 
                    211:   makeinfo)
                    212:     if test -z "$run" && (makeinfo --version > /dev/null 2>&1); then
                    213:        # We have makeinfo, but it failed.
                    214:        exit 1
                    215:     fi
                    216: 
                    217:     echo 1>&2 "\
                    218: WARNING: \`$1' is missing on your system.  You should only need it if
                    219:          you modified a \`.texi' or \`.texinfo' file, or any other file
                    220:          indirectly affecting the aspect of the manual.  The spurious
                    221:          call might also be the consequence of using a buggy \`make' (AIX,
                    222:          DU, IRIX).  You might want to install the \`Texinfo' package or
                    223:          the \`GNU make' package.  Grab either from any GNU archive site."
                    224:     file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
                    225:     if test -z "$file"; then
                    226:       file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
                    227:       file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
                    228:     fi
                    229:     touch $file
                    230:     ;;
                    231: 
                    232:   tar)
                    233:     shift
                    234:     if test -n "$run"; then
                    235:       echo 1>&2 "ERROR: \`tar' requires --run"
                    236:       exit 1
                    237:     fi
                    238: 
                    239:     # We have already tried tar in the generic part.
                    240:     # Look for gnutar/gtar before invocation to avoid ugly error
                    241:     # messages.
                    242:     if (gnutar --version > /dev/null 2>&1); then
                    243:        gnutar ${1+"$@"} && exit 0
                    244:     fi
                    245:     if (gtar --version > /dev/null 2>&1); then
                    246:        gtar ${1+"$@"} && exit 0
                    247:     fi
                    248:     firstarg="$1"
                    249:     if shift; then
                    250:        case "$firstarg" in
                    251:        *o*)
                    252:            firstarg=`echo "$firstarg" | sed s/o//`
                    253:            tar "$firstarg" ${1+"$@"} && exit 0
                    254:            ;;
                    255:        esac
                    256:        case "$firstarg" in
                    257:        *h*)
                    258:            firstarg=`echo "$firstarg" | sed s/h//`
                    259:            tar "$firstarg" ${1+"$@"} && exit 0
                    260:            ;;
                    261:        esac
                    262:     fi
                    263: 
                    264:     echo 1>&2 "\
                    265: WARNING: I can't seem to be able to run \`tar' with the given arguments.
                    266:          You may want to install GNU tar or Free paxutils, or check the
                    267:          command line arguments."
                    268:     exit 1
                    269:     ;;
                    270: 
                    271:   *)
                    272:     echo 1>&2 "\
                    273: WARNING: \`$1' is needed, and you do not seem to have it handy on your
                    274:          system.  You might have modified some files without having the
                    275:          proper tools for further handling them.  Check the \`README' file,
                    276:          it often tells you about the needed prerequirements for installing
                    277:          this package.  You may also peek at any GNU archive site, in case
                    278:          some other package would contain this missing \`$1' program."
                    279:     exit 1
                    280:     ;;
                    281: esac
                    282: 
                    283: exit 0

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>