/usr/bin/opentool is in gnustep-common 2.6.6-3.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 | #! /bin/sh
#
# opentool. Generated from opentool.in by configure.
#
# Copyright (C) 1997 - 2007 Free Software Foundation, Inc.
#
# Author: Scott Predescu <ovidiu@net-community.com>
# Author: Ovidiu Predescu <ovidiu@net-community.com>
# Author: Nicola Pero <nicola.pero@meta-innovation.com>
# Date: 1997 - 2007
#
# This file is part of the GNUstep Makefile Package.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
#
# You should have received a copy of the GNU General Public
# License along with this library; see the file COPYING.
# If not, write to the Free Software Foundation,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
# 'opentool' is obsolete. You can invoke your tools directly, just
# put them in your PATH :-)
# Try to execute the GNUstep tool passed as argument. The tool is
# searched through the GNUstep directories if a complete or relative path name
# is not specified. The arguments passed after the tool name are passed
# unmodified to the tool.
if [ -z "$1" ]; then
echo usage: `basename "$0"` [--library-combo=...] tool [arguments...]
echo `basename "$0"` --help for help
exit 1
fi
# Try to determine GNUSTEP_MAKEFILES to source GNUstep.sh
if [ -z "$GNUSTEP_CONFIG_FILE" ]; then
GNUSTEP_CONFIG_FILE=/etc/GNUstep/GNUstep.conf
fi
if [ -z "$GNUSTEP_USER_CONFIG_FILE" ]; then
GNUSTEP_USER_CONFIG_FILE=.GNUstep.conf
fi
if [ -f "$GNUSTEP_CONFIG_FILE" ]; then
. "$GNUSTEP_CONFIG_FILE"
fi
GNUSTEP_HOME=~
if [ -n "$GNUSTEP_USER_CONFIG_FILE" ]; then
case "$GNUSTEP_USER_CONFIG_FILE" in
/*) # An absolute path
if [ -f "$GNUSTEP_USER_CONFIG_FILE" ]; then
. "$GNUSTEP_USER_CONFIG_FILE"
fi;;
*) # Something else
if [ -f "$GNUSTEP_HOME/$GNUSTEP_USER_CONFIG_FILE" ]; then
. "$GNUSTEP_HOME/$GNUSTEP_USER_CONFIG_FILE"
fi;;
esac
fi
if [ -z "$GNUSTEP_MAKEFILES" ]; then
GNUSTEP_MAKEFILES=/usr/share/GNUstep/Makefiles
fi
# OK, we now have GNUSTEP_MAKEFILES, source GNUstep.sh.
# Also, we'd like to get the GNUSTEP_*_TOOLS directories so we can
# search them, so tell GNUstep.sh to export all variabes.
GNUSTEP_SH_EXPORT_ALL_VARIABLES=yes
. $GNUSTEP_MAKEFILES/GNUstep.sh
unset GNUSTEP_SH_EXPORT_ALL_VARIABLES
if [ -z "$EXEEXT" ]; then
EXEEXT=
fi
# traps the parameters
while true
do
case "$1" in
--library-combo=*)
tmp_makefiles="$GNUSTEP_MAKEFILES"
. "$tmp_makefiles/GNUstep-reset.sh"
LIBRARY_COMBO=`echo "$1" | sed 's/--library-combo=//'`
. "$tmp_makefiles/GNUstep.sh"
echo "Switched to library combo $LIBRARY_COMBO"
shift
;;
--help)
echo usage: `basename "$0"` [--library-combo=...] tool [arguments...]
echo
echo tool is the complete or relative name of the tool executable
echo without any extension, like defaults
echo
echo [arguments...] are the arguments to the tool.
exit 0
;;
*)
break;;
esac
done
tool="$1";
shift;
if [ -n "$EXEEXT" ]; then
tool="$tool$EXEEXT"
fi
case "$tool" in
/*) # An absolute path.
full_toolname="$tool";;
*/*) # A relative path
tool_dir=`dirname "$tool"`;
tool_dir=`(cd "$tool_dir"; pwd)`;
tool_name=`basename "$tool"`;
full_toolname="${tool_dir}/${tool_name}";;
*) # A path that should be searched into GNUstep tool paths
# Search for a local tool
# We used to scan all ./*/$(GNUSTEP_HOST_LDIR)/ directories,
# but this facility was removed (GNUSTEP_HOST_LDIR is no
# longer even defined in this file), now we perform a much
# simpler search.
# The really important one is looking into ./obj, anyway here
# is the order in which we search local directories -
# First, we search in ./
# Second, we search in ./obj
# Third, we search in ./Tools/
# Fourth, we search in ./Tools/obj
for dir in . obj Tools Tools/obj; do
# echo "$dir/$tool";
if [ -x "$dir/$tool" ]; then
full_toolname="$dir/$tool"
# echo "Found: $dir/$tool";
break;
fi
done
if [ -z "$full_toolname" ]; then
# Local tool not found - Search for an installed one
# we search in the order in:
# GNUSTEP_USER_TOOLS
# GNUSTEP_LOCAL_TOOLS
# GNUSTEP_NETWORK_TOOLS
# GNUSTEP_SYSTEM_TOOLS
#
# We look in the GNUSTEP_HOST_CPU/GNUSTEP_HOST_OS/LIBRARY_COMBO
# subdirectory first, then the GNUSTEP_HOST_CPU/GNUSTEP_HOST_OS
# subdirectory, then the top-level directory.
# (For flattened systems we skip the first two options.
#
# TODO: Also search Admin Tools directories if appropriate
for dir in "$GNUSTEP_USER_TOOLS" "$GNUSTEP_LOCAL_TOOLS" "$GNUSTEP_NETWORK_TOOLS" "$GNUSTEP_SYSTEM_TOOLS" ; do
if [ "$GNUSTEP_IS_FLATTENED" = "no" ]; then
tmpgnudir="$dir/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS"
tmplibdir="$dir/$GNUSTEP_HOST_CPU/$GNUSTEP_HOST_OS/$LIBRARY_COMBO"
# echo "$tmplibdir/$tool";
if [ -x "$tmplibdir/$tool" ]; then
# echo "Found: $tmplibdir/$tool";
full_toolname="$tmplibdir/$tool"
break;
fi
if [ -x "$tmpgnudir/$tool" ]; then
# echo "Found: $tmpgnudir/$tool";
full_toolname="$tmpgnudir/$tool"
break;
fi
fi
# echo "$dir/$tool";
if [ -x "$dir/$tool" ]; then
# echo "Found: $dir/$tool";
full_toolname="$dir/$tool"
break;
fi
done
unset tmpgnudir
unset tmplibdir
fi
;;
esac
if [ -z "$full_toolname" ]; then
echo "Can't find the required tool: $tool!"
exit 1
fi
"$full_toolname" "$@"
|