1#!/bin/sh 2# Prints a package's identification PACKAGE VERSION or PACKAGE. 3# 4# Copyright (C) 2001-2003, 2005 Free Software Foundation, Inc. 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 3 of the License, or 9# (at your option) 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, see <http://www.gnu.org/licenses/>. 18 19want_version="$1" 20 21# NLS nuisances: Letter ranges are different in the Estonian locale. 22LC_ALL=C 23 24while true; do 25 if test -f configure; then 26 package=`(grep '^PACKAGE_NAME=' configure; grep '^ *PACKAGE=' configure) | grep -v '=[ ]*$' | sed -e '1q' | sed -e 's/^[^=]*=//' | sed -e "s/^'//" -e "s/'$//"` 27 case "$package" in 28 *[\"\$\`\{\}]*) 29 # Some packages (gcal) retrieve the package name dynamically. 30 package= 31 ;; 32 esac 33 if test -n "$package"; then 34 is_gnu=`LC_ALL=C grep "GNU $package" * 2>/dev/null | grep -v '^libtool:'` 35 if test -n "$is_gnu"; then 36 package="GNU $package" 37 fi 38 if test -n "$want_version"; then 39 version=`(grep '^PACKAGE_VERSION=' configure; grep '^ *VERSION=' configure) | grep -v '=[ ]*$' | sed -e '1q' | sed -e 's/^[^=]*=//' | sed -e "s/^'//" -e "s/'$//"` 40 case "$version" in 41 *[\"\$\`\{\}]*) 42 # Some packages (gcal, gcc, clisp) retrieve the version dynamically. 43 version= 44 ;; 45 esac 46 if test -n "$version"; then 47 echo "$package $version" 48 else 49 echo "$package" 50 fi 51 else 52 echo "$package" 53 fi 54 exit 0 55 fi 56 fi 57 dir=`basename \`pwd\`` 58 case "$dir" in 59 i18n) 60 # This directory name, used in GNU make, is not the top level directory. 61 ;; 62 *[A-Za-z]*[0-9]*) 63 package=`echo "$dir" | sed -e 's/^\([^0-9]*\)[0-9].*$/\1/' -e 's/[-_]$//'` 64 if test -n "$want_version"; then 65 version=`echo "$dir" | sed -e 's/^[^0-9]*\([0-9].*\)$/\1/'` 66 echo "$package $version" 67 else 68 echo "$package" 69 fi 70 exit 0 71 ;; 72 esac 73 # Go to parent directory 74 last=`/bin/pwd` 75 cd .. 76 curr=`/bin/pwd` 77 if test "$last" = "$curr"; then 78 # Oops, didn't find the package name. 79 if test -n "$want_version"; then 80 echo "PACKAGE VERSION" 81 else 82 echo "PACKAGE" 83 fi 84 exit 0 85 fi 86done 87