Blame missing

Packit Service 102f81
#! /bin/sh
Packit Service 102f81
# Common stub for a few missing GNU programs while installing.
Packit Service 102f81
Packit Service 102f81
scriptversion=2005-06-08.21
Packit Service 102f81
Packit Service 102f81
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
Packit Service 102f81
#   Free Software Foundation, Inc.
Packit Service 102f81
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
Packit Service 102f81
Packit Service 102f81
# This program is free software; you can redistribute it and/or modify
Packit Service 102f81
# it under the terms of the GNU General Public License as published by
Packit Service 102f81
# the Free Software Foundation; either version 2, or (at your option)
Packit Service 102f81
# any later version.
Packit Service 102f81
Packit Service 102f81
# This program is distributed in the hope that it will be useful,
Packit Service 102f81
# but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 102f81
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit Service 102f81
# GNU General Public License for more details.
Packit Service 102f81
Packit Service 102f81
# You should have received a copy of the GNU General Public License
Packit Service 102f81
# along with this program; if not, write to the Free Software
Packit Service 102f81
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
Packit Service 102f81
# 02110-1301, USA.
Packit Service 102f81
Packit Service 102f81
# As a special exception to the GNU General Public License, if you
Packit Service 102f81
# distribute this file as part of a program that contains a
Packit Service 102f81
# configuration script generated by Autoconf, you may include it under
Packit Service 102f81
# the same distribution terms that you use for the rest of that program.
Packit Service 102f81
Packit Service 102f81
if test $# -eq 0; then
Packit Service 102f81
  echo 1>&2 "Try \`$0 --help' for more information"
Packit Service 102f81
  exit 1
Packit Service 102f81
fi
Packit Service 102f81
Packit Service 102f81
run=:
Packit Service 102f81
Packit Service 102f81
# In the cases where this matters, `missing' is being run in the
Packit Service 102f81
# srcdir already.
Packit Service 102f81
if test -f configure.ac; then
Packit Service 102f81
  configure_ac=configure.ac
Packit Service 102f81
else
Packit Service 102f81
  configure_ac=configure.in
Packit Service 102f81
fi
Packit Service 102f81
Packit Service 102f81
msg="missing on your system"
Packit Service 102f81
Packit Service 102f81
case "$1" in
Packit Service 102f81
--run)
Packit Service 102f81
  # Try to run requested program, and just exit if it succeeds.
Packit Service 102f81
  run=
Packit Service 102f81
  shift
Packit Service 102f81
  "$@" && exit 0
Packit Service 102f81
  # Exit code 63 means version mismatch.  This often happens
Packit Service 102f81
  # when the user try to use an ancient version of a tool on
Packit Service 102f81
  # a file that requires a minimum version.  In this case we
Packit Service 102f81
  # we should proceed has if the program had been absent, or
Packit Service 102f81
  # if --run hadn't been passed.
Packit Service 102f81
  if test $? = 63; then
Packit Service 102f81
    run=:
Packit Service 102f81
    msg="probably too old"
Packit Service 102f81
  fi
Packit Service 102f81
  ;;
Packit Service 102f81
Packit Service 102f81
  -h|--h|--he|--hel|--help)
Packit Service 102f81
    echo "\
Packit Service 102f81
$0 [OPTION]... PROGRAM [ARGUMENT]...
Packit Service 102f81
Packit Service 102f81
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
Packit Service 102f81
error status if there is no known handling for PROGRAM.
Packit Service 102f81
Packit Service 102f81
Options:
Packit Service 102f81
  -h, --help      display this help and exit
Packit Service 102f81
  -v, --version   output version information and exit
Packit Service 102f81
  --run           try to run the given command, and emulate it if it fails
Packit Service 102f81
Packit Service 102f81
Supported PROGRAM values:
Packit Service 102f81
  aclocal      touch file \`aclocal.m4'
Packit Service 102f81
  autoconf     touch file \`configure'
Packit Service 102f81
  autoheader   touch file \`config.h.in'
Packit Service 102f81
  automake     touch all \`Makefile.in' files
Packit Service 102f81
  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
Packit Service 102f81
  flex         create \`lex.yy.c', if possible, from existing .c
Packit Service 102f81
  help2man     touch the output file
Packit Service 102f81
  lex          create \`lex.yy.c', if possible, from existing .c
Packit Service 102f81
  makeinfo     touch the output file
Packit Service 102f81
  tar          try tar, gnutar, gtar, then tar without non-portable flags
Packit Service 102f81
  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
Packit Service 102f81
Packit Service 102f81
Send bug reports to <bug-automake@gnu.org>."
Packit Service 102f81
    exit $?
Packit Service 102f81
    ;;
Packit Service 102f81
Packit Service 102f81
  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
Packit Service 102f81
    echo "missing $scriptversion (GNU Automake)"
Packit Service 102f81
    exit $?
Packit Service 102f81
    ;;
Packit Service 102f81
Packit Service 102f81
  -*)
Packit Service 102f81
    echo 1>&2 "$0: Unknown \`$1' option"
Packit Service 102f81
    echo 1>&2 "Try \`$0 --help' for more information"
Packit Service 102f81
    exit 1
Packit Service 102f81
    ;;
Packit Service 102f81
Packit Service 102f81
esac
Packit Service 102f81
Packit Service 102f81
# Now exit if we have it, but it failed.  Also exit now if we
Packit Service 102f81
# don't have it and --version was passed (most likely to detect
Packit Service 102f81
# the program).
Packit Service 102f81
case "$1" in
Packit Service 102f81
  lex|yacc)
Packit Service 102f81
    # Not GNU programs, they don't have --version.
Packit Service 102f81
    ;;
Packit Service 102f81
Packit Service 102f81
  tar)
Packit Service 102f81
    if test -n "$run"; then
Packit Service 102f81
       echo 1>&2 "ERROR: \`tar' requires --run"
Packit Service 102f81
       exit 1
Packit Service 102f81
    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
Packit Service 102f81
       exit 1
Packit Service 102f81
    fi
Packit Service 102f81
    ;;
Packit Service 102f81
Packit Service 102f81
  *)
Packit Service 102f81
    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
Packit Service 102f81
       # We have it, but it failed.
Packit Service 102f81
       exit 1
Packit Service 102f81
    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
Packit Service 102f81
       # Could not run --version or --help.  This is probably someone
Packit Service 102f81
       # running `$TOOL --version' or `$TOOL --help' to check whether
Packit Service 102f81
       # $TOOL exists and not knowing $TOOL uses missing.
Packit Service 102f81
       exit 1
Packit Service 102f81
    fi
Packit Service 102f81
    ;;
Packit Service 102f81
esac
Packit Service 102f81
Packit Service 102f81
# If it does not exist, or fails to run (possibly an outdated version),
Packit Service 102f81
# try to emulate it.
Packit Service 102f81
case "$1" in
Packit Service 102f81
  aclocal*)
Packit Service 102f81
    echo 1>&2 "\
Packit Service 102f81
WARNING: \`$1' is $msg.  You should only need it if
Packit Service 102f81
         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
Packit Service 102f81
         to install the \`Automake' and \`Perl' packages.  Grab them from
Packit Service 102f81
         any GNU archive site."
Packit Service 102f81
    touch aclocal.m4
Packit Service 102f81
    ;;
Packit Service 102f81
Packit Service 102f81
  autoconf)
Packit Service 102f81
    echo 1>&2 "\
Packit Service 102f81
WARNING: \`$1' is $msg.  You should only need it if
Packit Service 102f81
         you modified \`${configure_ac}'.  You might want to install the
Packit Service 102f81
         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
Packit Service 102f81
         archive site."
Packit Service 102f81
    touch configure
Packit Service 102f81
    ;;
Packit Service 102f81
Packit Service 102f81
  autoheader)
Packit Service 102f81
    echo 1>&2 "\
Packit Service 102f81
WARNING: \`$1' is $msg.  You should only need it if
Packit Service 102f81
         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
Packit Service 102f81
         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
Packit Service 102f81
         from any GNU archive site."
Packit Service 102f81
    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
Packit Service 102f81
    test -z "$files" && files="config.h"
Packit Service 102f81
    touch_files=
Packit Service 102f81
    for f in $files; do
Packit Service 102f81
      case "$f" in
Packit Service 102f81
      *:*) touch_files="$touch_files "`echo "$f" |
Packit Service 102f81
				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
Packit Service 102f81
      *) touch_files="$touch_files $f.in";;
Packit Service 102f81
      esac
Packit Service 102f81
    done
Packit Service 102f81
    touch $touch_files
Packit Service 102f81
    ;;
Packit Service 102f81
Packit Service 102f81
  automake*)
Packit Service 102f81
    echo 1>&2 "\
Packit Service 102f81
WARNING: \`$1' is $msg.  You should only need it if
Packit Service 102f81
         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
Packit Service 102f81
         You might want to install the \`Automake' and \`Perl' packages.
Packit Service 102f81
         Grab them from any GNU archive site."
Packit Service 102f81
    find . -type f -name Makefile.am -print |
Packit Service 102f81
	   sed 's/\.am$/.in/' |
Packit Service 102f81
	   while read f; do touch "$f"; done
Packit Service 102f81
    ;;
Packit Service 102f81
Packit Service 102f81
  autom4te)
Packit Service 102f81
    echo 1>&2 "\
Packit Service 102f81
WARNING: \`$1' is needed, but is $msg.
Packit Service 102f81
         You might have modified some files without having the
Packit Service 102f81
         proper tools for further handling them.
Packit Service 102f81
         You can get \`$1' as part of \`Autoconf' from any GNU
Packit Service 102f81
         archive site."
Packit Service 102f81
Packit Service 102f81
    file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
Packit Service 102f81
    test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
Packit Service 102f81
    if test -f "$file"; then
Packit Service 102f81
	touch $file
Packit Service 102f81
    else
Packit Service 102f81
	test -z "$file" || exec >$file
Packit Service 102f81
	echo "#! /bin/sh"
Packit Service 102f81
	echo "# Created by GNU Automake missing as a replacement of"
Packit Service 102f81
	echo "#  $ $@"
Packit Service 102f81
	echo "exit 0"
Packit Service 102f81
	chmod +x $file
Packit Service 102f81
	exit 1
Packit Service 102f81
    fi
Packit Service 102f81
    ;;
Packit Service 102f81
Packit Service 102f81
  bison|yacc)
Packit Service 102f81
    echo 1>&2 "\
Packit Service 102f81
WARNING: \`$1' $msg.  You should only need it if
Packit Service 102f81
         you modified a \`.y' file.  You may need the \`Bison' package
Packit Service 102f81
         in order for those modifications to take effect.  You can get
Packit Service 102f81
         \`Bison' from any GNU archive site."
Packit Service 102f81
    rm -f y.tab.c y.tab.h
Packit Service 102f81
    if [ $# -ne 1 ]; then
Packit Service 102f81
        eval LASTARG="\${$#}"
Packit Service 102f81
	case "$LASTARG" in
Packit Service 102f81
	*.y)
Packit Service 102f81
	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
Packit Service 102f81
	    if [ -f "$SRCFILE" ]; then
Packit Service 102f81
	         cp "$SRCFILE" y.tab.c
Packit Service 102f81
	    fi
Packit Service 102f81
	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
Packit Service 102f81
	    if [ -f "$SRCFILE" ]; then
Packit Service 102f81
	         cp "$SRCFILE" y.tab.h
Packit Service 102f81
	    fi
Packit Service 102f81
	  ;;
Packit Service 102f81
	esac
Packit Service 102f81
    fi
Packit Service 102f81
    if [ ! -f y.tab.h ]; then
Packit Service 102f81
	echo >y.tab.h
Packit Service 102f81
    fi
Packit Service 102f81
    if [ ! -f y.tab.c ]; then
Packit Service 102f81
	echo 'main() { return 0; }' >y.tab.c
Packit Service 102f81
    fi
Packit Service 102f81
    ;;
Packit Service 102f81
Packit Service 102f81
  lex|flex)
Packit Service 102f81
    echo 1>&2 "\
Packit Service 102f81
WARNING: \`$1' is $msg.  You should only need it if
Packit Service 102f81
         you modified a \`.l' file.  You may need the \`Flex' package
Packit Service 102f81
         in order for those modifications to take effect.  You can get
Packit Service 102f81
         \`Flex' from any GNU archive site."
Packit Service 102f81
    rm -f lex.yy.c
Packit Service 102f81
    if [ $# -ne 1 ]; then
Packit Service 102f81
        eval LASTARG="\${$#}"
Packit Service 102f81
	case "$LASTARG" in
Packit Service 102f81
	*.l)
Packit Service 102f81
	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
Packit Service 102f81
	    if [ -f "$SRCFILE" ]; then
Packit Service 102f81
	         cp "$SRCFILE" lex.yy.c
Packit Service 102f81
	    fi
Packit Service 102f81
	  ;;
Packit Service 102f81
	esac
Packit Service 102f81
    fi
Packit Service 102f81
    if [ ! -f lex.yy.c ]; then
Packit Service 102f81
	echo 'main() { return 0; }' >lex.yy.c
Packit Service 102f81
    fi
Packit Service 102f81
    ;;
Packit Service 102f81
Packit Service 102f81
  help2man)
Packit Service 102f81
    echo 1>&2 "\
Packit Service 102f81
WARNING: \`$1' is $msg.  You should only need it if
Packit Service 102f81
	 you modified a dependency of a manual page.  You may need the
Packit Service 102f81
	 \`Help2man' package in order for those modifications to take
Packit Service 102f81
	 effect.  You can get \`Help2man' from any GNU archive site."
Packit Service 102f81
Packit Service 102f81
    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
Packit Service 102f81
    if test -z "$file"; then
Packit Service 102f81
	file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
Packit Service 102f81
    fi
Packit Service 102f81
    if [ -f "$file" ]; then
Packit Service 102f81
	touch $file
Packit Service 102f81
    else
Packit Service 102f81
	test -z "$file" || exec >$file
Packit Service 102f81
	echo ".ab help2man is required to generate this page"
Packit Service 102f81
	exit 1
Packit Service 102f81
    fi
Packit Service 102f81
    ;;
Packit Service 102f81
Packit Service 102f81
  makeinfo)
Packit Service 102f81
    echo 1>&2 "\
Packit Service 102f81
WARNING: \`$1' is $msg.  You should only need it if
Packit Service 102f81
         you modified a \`.texi' or \`.texinfo' file, or any other file
Packit Service 102f81
         indirectly affecting the aspect of the manual.  The spurious
Packit Service 102f81
         call might also be the consequence of using a buggy \`make' (AIX,
Packit Service 102f81
         DU, IRIX).  You might want to install the \`Texinfo' package or
Packit Service 102f81
         the \`GNU make' package.  Grab either from any GNU archive site."
Packit Service 102f81
    # The file to touch is that specified with -o ...
Packit Service 102f81
    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
Packit Service 102f81
    if test -z "$file"; then
Packit Service 102f81
      # ... or it is the one specified with @setfilename ...
Packit Service 102f81
      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
Packit Service 102f81
      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
Packit Service 102f81
      # ... or it is derived from the source name (dir/f.texi becomes f.info)
Packit Service 102f81
      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
Packit Service 102f81
    fi
Packit Service 102f81
    # If the file does not exist, the user really needs makeinfo;
Packit Service 102f81
    # let's fail without touching anything.
Packit Service 102f81
    test -f $file || exit 1
Packit Service 102f81
    touch $file
Packit Service 102f81
    ;;
Packit Service 102f81
Packit Service 102f81
  tar)
Packit Service 102f81
    shift
Packit Service 102f81
Packit Service 102f81
    # We have already tried tar in the generic part.
Packit Service 102f81
    # Look for gnutar/gtar before invocation to avoid ugly error
Packit Service 102f81
    # messages.
Packit Service 102f81
    if (gnutar --version > /dev/null 2>&1;; then
Packit Service 102f81
       gnutar "$@" && exit 0
Packit Service 102f81
    fi
Packit Service 102f81
    if (gtar --version > /dev/null 2>&1;; then
Packit Service 102f81
       gtar "$@" && exit 0
Packit Service 102f81
    fi
Packit Service 102f81
    firstarg="$1"
Packit Service 102f81
    if shift; then
Packit Service 102f81
	case "$firstarg" in
Packit Service 102f81
	*o*)
Packit Service 102f81
	    firstarg=`echo "$firstarg" | sed s/o//`
Packit Service 102f81
	    tar "$firstarg" "$@" && exit 0
Packit Service 102f81
	    ;;
Packit Service 102f81
	esac
Packit Service 102f81
	case "$firstarg" in
Packit Service 102f81
	*h*)
Packit Service 102f81
	    firstarg=`echo "$firstarg" | sed s/h//`
Packit Service 102f81
	    tar "$firstarg" "$@" && exit 0
Packit Service 102f81
	    ;;
Packit Service 102f81
	esac
Packit Service 102f81
    fi
Packit Service 102f81
Packit Service 102f81
    echo 1>&2 "\
Packit Service 102f81
WARNING: I can't seem to be able to run \`tar' with the given arguments.
Packit Service 102f81
         You may want to install GNU tar or Free paxutils, or check the
Packit Service 102f81
         command line arguments."
Packit Service 102f81
    exit 1
Packit Service 102f81
    ;;
Packit Service 102f81
Packit Service 102f81
  *)
Packit Service 102f81
    echo 1>&2 "\
Packit Service 102f81
WARNING: \`$1' is needed, and is $msg.
Packit Service 102f81
         You might have modified some files without having the
Packit Service 102f81
         proper tools for further handling them.  Check the \`README' file,
Packit Service 102f81
         it often tells you about the needed prerequisites for installing
Packit Service 102f81
         this package.  You may also peek at any GNU archive site, in case
Packit Service 102f81
         some other package would contain this missing \`$1' program."
Packit Service 102f81
    exit 1
Packit Service 102f81
    ;;
Packit Service 102f81
esac
Packit Service 102f81
Packit Service 102f81
exit 0
Packit Service 102f81
Packit Service 102f81
# Local variables:
Packit Service 102f81
# eval: (add-hook 'write-file-hooks 'time-stamp)
Packit Service 102f81
# time-stamp-start: "scriptversion="
Packit Service 102f81
# time-stamp-format: "%:y-%02m-%02d.%02H"
Packit Service 102f81
# time-stamp-end: "$"
Packit Service 102f81
# End: