Blame missing

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