/[svn]/ircd-hybrid-8/missing
ViewVC logotype

Diff of /ircd-hybrid-8/missing

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

ircd-hybrid/missing revision 1155 by michael, Tue Aug 9 20:27:45 2011 UTC ircd-hybrid-8/missing revision 1375 by michael, Fri Apr 27 08:01:46 2012 UTC
# Line 1  Line 1 
1  #! /bin/sh  #! /bin/sh
2  # Common stub for a few missing GNU programs while installing.  # Common stub for a few missing GNU programs while installing.
3    
4  scriptversion=2009-04-28.21; # UTC  scriptversion=2012-01-06.18; # UTC
5    
6  # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,  # Copyright (C) 1996-2012 Free Software Foundation, Inc.
 # 2008, 2009 Free Software Foundation, Inc.  
7  # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.  # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
8    
9  # This program is free software; you can redistribute it and/or modify  # This program is free software; you can redistribute it and/or modify
# Line 26  scriptversion=2009-04-28.21; # UTC Line 25  scriptversion=2009-04-28.21; # UTC
25  # the same distribution terms that you use for the rest of that program.  # the same distribution terms that you use for the rest of that program.
26    
27  if test $# -eq 0; then  if test $# -eq 0; then
28    echo 1>&2 "Try \`$0 --help' for more information"    echo 1>&2 "Try '$0 --help' for more information"
29    exit 1    exit 1
30  fi  fi
31    
# Line 34  run=: Line 33  run=:
33  sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'  sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
34  sed_minuso='s/.* -o \([^ ]*\).*/\1/p'  sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
35    
36  # In the cases where this matters, `missing' is being run in the  # In the cases where this matters, 'missing' is being run in the
37  # srcdir already.  # srcdir already.
38  if test -f configure.ac; then  if test -f configure.ac; then
39    configure_ac=configure.ac    configure_ac=configure.ac
# Line 65  case $1 in Line 64  case $1 in
64      echo "\      echo "\
65  $0 [OPTION]... PROGRAM [ARGUMENT]...  $0 [OPTION]... PROGRAM [ARGUMENT]...
66    
67  Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an  Handle 'PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
68  error status if there is no known handling for PROGRAM.  error status if there is no known handling for PROGRAM.
69    
70  Options:  Options:
# Line 74  Options: Line 73  Options:
73    --run           try to run the given command, and emulate it if it fails    --run           try to run the given command, and emulate it if it fails
74    
75  Supported PROGRAM values:  Supported PROGRAM values:
76    aclocal      touch file \`aclocal.m4'    aclocal      touch file 'aclocal.m4'
77    autoconf     touch file \`configure'    autoconf     touch file 'configure'
78    autoheader   touch file \`config.h.in'    autoheader   touch file 'config.h.in'
79    autom4te     touch the output file, or create a stub one    autom4te     touch the output file, or create a stub one
80    automake     touch all \`Makefile.in' files    automake     touch all 'Makefile.in' files
81    bison        create \`y.tab.[ch]', if possible, from existing .[ch]    bison        create 'y.tab.[ch]', if possible, from existing .[ch]
82    flex         create \`lex.yy.c', if possible, from existing .c    flex         create 'lex.yy.c', if possible, from existing .c
83    help2man     touch the output file    help2man     touch the output file
84    lex          create \`lex.yy.c', if possible, from existing .c    lex          create 'lex.yy.c', if possible, from existing .c
85    makeinfo     touch the output file    makeinfo     touch the output file
86    tar          try tar, gnutar, gtar, then tar without non-portable flags    yacc         create 'y.tab.[ch]', if possible, from existing .[ch]
   yacc         create \`y.tab.[ch]', if possible, from existing .[ch]  
87    
88  Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and  Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
89  \`g' are ignored when checking the name.  'g' are ignored when checking the name.
90    
91  Send bug reports to <bug-automake@gnu.org>."  Send bug reports to <bug-automake@gnu.org>."
92      exit $?      exit $?
# Line 100  Send bug reports to <bug-automake@gnu.or Line 98  Send bug reports to <bug-automake@gnu.or
98      ;;      ;;
99    
100    -*)    -*)
101      echo 1>&2 "$0: Unknown \`$1' option"      echo 1>&2 "$0: Unknown '$1' option"
102      echo 1>&2 "Try \`$0 --help' for more information"      echo 1>&2 "Try '$0 --help' for more information"
103      exit 1      exit 1
104      ;;      ;;
105    
# Line 122  case $1 in Line 120  case $1 in
120      # Not GNU programs, they don't have --version.      # Not GNU programs, they don't have --version.
121      ;;      ;;
122    
   tar*)  
     if test -n "$run"; then  
        echo 1>&2 "ERROR: \`tar' requires --run"  
        exit 1  
     elif test "x$2" = "x--version" || test "x$2" = "x--help"; then  
        exit 1  
     fi  
     ;;  
   
123    *)    *)
124      if test -z "$run" && ($1 --version) > /dev/null 2>&1; then      if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
125         # We have it, but it failed.         # We have it, but it failed.
126         exit 1         exit 1
127      elif test "x$2" = "x--version" || test "x$2" = "x--help"; then      elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
128         # Could not run --version or --help.  This is probably someone         # Could not run --version or --help.  This is probably someone
129         # running `$TOOL --version' or `$TOOL --help' to check whether         # running '$TOOL --version' or '$TOOL --help' to check whether
130         # $TOOL exists and not knowing $TOOL uses missing.         # $TOOL exists and not knowing $TOOL uses missing.
131         exit 1         exit 1
132      fi      fi
# Line 149  esac Line 138  esac
138  case $program in  case $program in
139    aclocal*)    aclocal*)
140      echo 1>&2 "\      echo 1>&2 "\
141  WARNING: \`$1' is $msg.  You should only need it if  WARNING: '$1' is $msg.  You should only need it if
142           you modified \`acinclude.m4' or \`${configure_ac}'.  You might want           you modified 'acinclude.m4' or '${configure_ac}'.  You might want
143           to install the \`Automake' and \`Perl' packages.  Grab them from           to install the Automake and Perl packages.  Grab them from
144           any GNU archive site."           any GNU archive site."
145      touch aclocal.m4      touch aclocal.m4
146      ;;      ;;
147    
148    autoconf*)    autoconf*)
149      echo 1>&2 "\      echo 1>&2 "\
150  WARNING: \`$1' is $msg.  You should only need it if  WARNING: '$1' is $msg.  You should only need it if
151           you modified \`${configure_ac}'.  You might want to install the           you modified '${configure_ac}'.  You might want to install the
152           \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU           Autoconf and GNU m4 packages.  Grab them from any GNU
153           archive site."           archive site."
154      touch configure      touch configure
155      ;;      ;;
156    
157    autoheader*)    autoheader*)
158      echo 1>&2 "\      echo 1>&2 "\
159  WARNING: \`$1' is $msg.  You should only need it if  WARNING: '$1' is $msg.  You should only need it if
160           you modified \`acconfig.h' or \`${configure_ac}'.  You might want           you modified 'acconfig.h' or '${configure_ac}'.  You might want
161           to install the \`Autoconf' and \`GNU m4' packages.  Grab them           to install the Autoconf and GNU m4 packages.  Grab them
162           from any GNU archive site."           from any GNU archive site."
163      files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`      files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
164      test -z "$files" && files="config.h"      test -z "$files" && files="config.h"
# Line 186  WARNING: \`$1' is $msg.  You should only Line 175  WARNING: \`$1' is $msg.  You should only
175    
176    automake*)    automake*)
177      echo 1>&2 "\      echo 1>&2 "\
178  WARNING: \`$1' is $msg.  You should only need it if  WARNING: '$1' is $msg.  You should only need it if
179           you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.           you modified 'Makefile.am', 'acinclude.m4' or '${configure_ac}'.
180           You might want to install the \`Automake' and \`Perl' packages.           You might want to install the Automake and Perl packages.
181           Grab them from any GNU archive site."           Grab them from any GNU archive site."
182      find . -type f -name Makefile.am -print |      find . -type f -name Makefile.am -print |
183             sed 's/\.am$/.in/' |             sed 's/\.am$/.in/' |
# Line 197  WARNING: \`$1' is $msg.  You should only Line 186  WARNING: \`$1' is $msg.  You should only
186    
187    autom4te*)    autom4te*)
188      echo 1>&2 "\      echo 1>&2 "\
189  WARNING: \`$1' is needed, but is $msg.  WARNING: '$1' is needed, but is $msg.
190           You might have modified some files without having the           You might have modified some files without having the
191           proper tools for further handling them.           proper tools for further handling them.
192           You can get \`$1' as part of \`Autoconf' from any GNU           You can get '$1' as part of Autoconf from any GNU
193           archive site."           archive site."
194    
195      file=`echo "$*" | sed -n "$sed_output"`      file=`echo "$*" | sed -n "$sed_output"`
# Line 220  WARNING: \`$1' is needed, but is $msg. Line 209  WARNING: \`$1' is needed, but is $msg.
209    
210    bison*|yacc*)    bison*|yacc*)
211      echo 1>&2 "\      echo 1>&2 "\
212  WARNING: \`$1' $msg.  You should only need it if  WARNING: '$1' $msg.  You should only need it if
213           you modified a \`.y' file.  You may need the \`Bison' package           you modified a '.y' file.  You may need the Bison package
214           in order for those modifications to take effect.  You can get           in order for those modifications to take effect.  You can get
215           \`Bison' from any GNU archive site."           Bison from any GNU archive site."
216      rm -f y.tab.c y.tab.h      rm -f y.tab.c y.tab.h
217      if test $# -ne 1; then      if test $# -ne 1; then
218          eval LASTARG="\${$#}"          eval LASTARG=\${$#}
219          case $LASTARG in          case $LASTARG in
220          *.y)          *.y)
221              SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`              SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
# Line 250  WARNING: \`$1' $msg.  You should only ne Line 239  WARNING: \`$1' $msg.  You should only ne
239    
240    lex*|flex*)    lex*|flex*)
241      echo 1>&2 "\      echo 1>&2 "\
242  WARNING: \`$1' is $msg.  You should only need it if  WARNING: '$1' is $msg.  You should only need it if
243           you modified a \`.l' file.  You may need the \`Flex' package           you modified a '.l' file.  You may need the Flex package
244           in order for those modifications to take effect.  You can get           in order for those modifications to take effect.  You can get
245           \`Flex' from any GNU archive site."           Flex from any GNU archive site."
246      rm -f lex.yy.c      rm -f lex.yy.c
247      if test $# -ne 1; then      if test $# -ne 1; then
248          eval LASTARG="\${$#}"          eval LASTARG=\${$#}
249          case $LASTARG in          case $LASTARG in
250          *.l)          *.l)
251              SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`              SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
# Line 273  WARNING: \`$1' is $msg.  You should only Line 262  WARNING: \`$1' is $msg.  You should only
262    
263    help2man*)    help2man*)
264      echo 1>&2 "\      echo 1>&2 "\
265  WARNING: \`$1' is $msg.  You should only need it if  WARNING: '$1' is $msg.  You should only need it if
266           you modified a dependency of a manual page.  You may need the           you modified a dependency of a manual page.  You may need the
267           \`Help2man' package in order for those modifications to take           Help2man package in order for those modifications to take
268           effect.  You can get \`Help2man' from any GNU archive site."           effect.  You can get Help2man from any GNU archive site."
269    
270      file=`echo "$*" | sed -n "$sed_output"`      file=`echo "$*" | sed -n "$sed_output"`
271      test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`      test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
# Line 291  WARNING: \`$1' is $msg.  You should only Line 280  WARNING: \`$1' is $msg.  You should only
280    
281    makeinfo*)    makeinfo*)
282      echo 1>&2 "\      echo 1>&2 "\
283  WARNING: \`$1' is $msg.  You should only need it if  WARNING: '$1' is $msg.  You should only need it if
284           you modified a \`.texi' or \`.texinfo' file, or any other file           you modified a '.texi' or '.texinfo' file, or any other file
285           indirectly affecting the aspect of the manual.  The spurious           indirectly affecting the aspect of the manual.  The spurious
286           call might also be the consequence of using a buggy \`make' (AIX,           call might also be the consequence of using a buggy 'make' (AIX,
287           DU, IRIX).  You might want to install the \`Texinfo' package or           DU, IRIX).  You might want to install the Texinfo package or
288           the \`GNU make' package.  Grab either from any GNU archive site."           the GNU make package.  Grab either from any GNU archive site."
289      # The file to touch is that specified with -o ...      # The file to touch is that specified with -o ...
290      file=`echo "$*" | sed -n "$sed_output"`      file=`echo "$*" | sed -n "$sed_output"`
291      test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`      test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
# Line 318  WARNING: \`$1' is $msg.  You should only Line 307  WARNING: \`$1' is $msg.  You should only
307      touch $file      touch $file
308      ;;      ;;
309    
   tar*)  
     shift  
   
     # We have already tried tar in the generic part.  
     # Look for gnutar/gtar before invocation to avoid ugly error  
     # messages.  
     if (gnutar --version > /dev/null 2>&1); then  
        gnutar "$@" && exit 0  
     fi  
     if (gtar --version > /dev/null 2>&1); then  
        gtar "$@" && exit 0  
     fi  
     firstarg="$1"  
     if shift; then  
         case $firstarg in  
         *o*)  
             firstarg=`echo "$firstarg" | sed s/o//`  
             tar "$firstarg" "$@" && exit 0  
             ;;  
         esac  
         case $firstarg in  
         *h*)  
             firstarg=`echo "$firstarg" | sed s/h//`  
             tar "$firstarg" "$@" && exit 0  
             ;;  
         esac  
     fi  
   
     echo 1>&2 "\  
 WARNING: I can't seem to be able to run \`tar' with the given arguments.  
          You may want to install GNU tar or Free paxutils, or check the  
          command line arguments."  
     exit 1  
     ;;  
   
310    *)    *)
311      echo 1>&2 "\      echo 1>&2 "\
312  WARNING: \`$1' is needed, and is $msg.  WARNING: '$1' is needed, and is $msg.
313           You might have modified some files without having the           You might have modified some files without having the
314           proper tools for further handling them.  Check the \`README' file,           proper tools for further handling them.  Check the 'README' file,
315           it often tells you about the needed prerequisites for installing           it often tells you about the needed prerequisites for installing
316           this package.  You may also peek at any GNU archive site, in case           this package.  You may also peek at any GNU archive site, in case
317           some other package would contain this missing \`$1' program."           some other package would contain this missing '$1' program."
318      exit 1      exit 1
319      ;;      ;;
320  esac  esac

Legend:
Removed from v.1155  
changed lines
  Added in v.1375

svnadmin@ircd-hybrid.org
ViewVC Help
Powered by ViewVC 1.1.28