diff options
author | PKI Team <PKI Team@c9f7a03b-bd48-0410-a16d-cbbf54688b0b> | 2008-03-18 22:36:57 +0000 |
---|---|---|
committer | PKI Team <PKI Team@c9f7a03b-bd48-0410-a16d-cbbf54688b0b> | 2008-03-18 22:36:57 +0000 |
commit | d0f2e4efbd3eb0f1d7f5a28e7f97c1fb4ec027bb (patch) | |
tree | 7e7473fae8af5ad7e6cda7eabbef787093fc59a7 /pki/base/tps/apache/pki_subsystem_command_wrapper | |
parent | 273f8d85df5c31293a908185622b378c8f3cf7e8 (diff) | |
download | pki-d0f2e4efbd3eb0f1d7f5a28e7f97c1fb4ec027bb.tar.gz pki-d0f2e4efbd3eb0f1d7f5a28e7f97c1fb4ec027bb.tar.xz pki-d0f2e4efbd3eb0f1d7f5a28e7f97c1fb4ec027bb.zip |
Initial open source version based upon proprietary Red Hat Certificate System (RHCS) 7.3.
git-svn-id: svn+ssh://svn.fedorahosted.org/svn/pki/trunk@2 c9f7a03b-bd48-0410-a16d-cbbf54688b0b
Diffstat (limited to 'pki/base/tps/apache/pki_subsystem_command_wrapper')
-rw-r--r-- | pki/base/tps/apache/pki_subsystem_command_wrapper | 176 |
1 files changed, 176 insertions, 0 deletions
diff --git a/pki/base/tps/apache/pki_subsystem_command_wrapper b/pki/base/tps/apache/pki_subsystem_command_wrapper new file mode 100644 index 000000000..a8f4344b7 --- /dev/null +++ b/pki/base/tps/apache/pki_subsystem_command_wrapper @@ -0,0 +1,176 @@ +#!/bin/sh +# --- BEGIN COPYRIGHT BLOCK --- +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301 USA +# +# Copyright (C) 2007 Red Hat, Inc. +# All rights reserved. +# --- END COPYRIGHT BLOCK --- + +# Check to insure that this script's original invocation directory +# has not been deleted! +CWD=`/bin/pwd > /dev/null 2>&1` +if [ $? -ne 0 ] ; then + echo "Cannot invoke '$0' from non-existent directory!" + exit 255 +fi + + +############################################################################### +## (1) Specify variables used by this script. ## +############################################################################### + +PRODUCT=[PKI_PRODUCT] +SUBSYSTEM=[PKI_SUBSYSTEM] +COMMAND=[PKI_COMMAND] + + +############################################################################### +## (2) Define helper functions. ## +############################################################################### + +invalid_operating_system() { + echo + echo "ERROR: '$0' does not execute on the '$1' operating system!" + echo +} + +invalid_architecture() { + echo + echo "ERROR: '$0' does not execute on the '$1' architecture!" + echo +} + + +############################################################################### +## (3) Set environment variables. ## +## ## +## Set the LD_LIBRARY_PATH environment variable to determine the ## +## search order this command wrapper uses to find shared libraries. ## +## ## +## Set the PATH environment variable to determine the search ## +## order this command wrapper uses to find binary executables. ## +## ## +## NOTE: Since the wrappers themselves are ALWAYS located in ## +## "/usr/bin" on 32-bit and 64-bit Linux as well as both ## +## 32-bit Solaris and 64-bit Solaris, this directory ## +## will always be excluded from the search path. ## +## ## +## Additionally, since "/bin" is nothing more than a symbolic ## +## link to "/usr/bin" on Solaris, this directory will also ## +## always be excluded from the search path on this platform. ## +## ## +############################################################################### + +OS=`pkiname` +ARCHITECTURE=`pkiarch` + +if [ "${OS}" = "Linux" ] ; then + if [ "${ARCHITECTURE}" = "i386" ] ; then + LD_LIBRARY_PATH=/usr/lib/java:/usr/lib:/lib + LD_LIBRARY_PATH=/usr/lib/${PRODUCT}:${LD_LIBRARY_PATH} + LD_LIBRARY_PATH=/usr/lib/${PRODUCT}/${SUBSYSTEM}:${LD_LIBRARY_PATH} + LD_LIBRARY_PATH=/usr/lib/dirsec:${LD_LIBRARY_PATH} + LD_LIBRARY_PATH=/usr/lib/java/dirsec:${LD_LIBRARY_PATH} + export LD_LIBRARY_PATH + + PATH=/usr/lib/${PRODUCT}:/bin + PATH=/usr/lib/${PRODUCT}/${SUBSYSTEM}:${PATH} + export PATH + elif [ "${ARCHITECTURE}" = "x86_64" ] ; then + LD_LIBRARY_PATH=/usr/lib/java:/usr/lib:/lib + LD_LIBRARY_PATH=/usr/lib/${PRODUCT}:${LD_LIBRARY_PATH} + LD_LIBRARY_PATH=/usr/lib/${PRODUCT}/${SUBSYSTEM}:${LD_LIBRARY_PATH} + LD_LIBRARY_PATH=/usr/lib/dirsec:${LD_LIBRARY_PATH} + LD_LIBRARY_PATH=/usr/lib/java/dirsec:${LD_LIBRARY_PATH} + LD_LIBRARY_PATH=/usr/lib64/java:/usr/lib64:/lib64:${LD_LIBRARY_PATH} + LD_LIBRARY_PATH=/usr/lib64/${PRODUCT}:${LD_LIBRARY_PATH} + LD_LIBRARY_PATH=/usr/lib64/${PRODUCT}/${SUBSYSTEM}:${LD_LIBRARY_PATH} + LD_LIBRARY_PATH=/usr/lib64/dirsec:${LD_LIBRARY_PATH} + LD_LIBRARY_PATH=/usr/lib64/java/dirsec:${LD_LIBRARY_PATH} + export LD_LIBRARY_PATH + + PATH=/usr/lib/${PRODUCT} + PATH=/usr/lib/${PRODUCT}/${SUBSYSTEM}:${PATH} + PATH=/usr/lib64/${PRODUCT}:/bin:${PATH} + PATH=/usr/lib64/${PRODUCT}/${SUBSYSTEM}:${PATH} + export PATH + else + invalid_architecture "${ARCHITECTURE}" + exit 255 + fi +elif [ "${OS}" = "SunOS" ] ; then + if [ "${ARCHITECTURE}" = "sparc" ] ; then + LD_LIBRARY_PATH=/usr/lib/java:/usr/lib:/lib + LD_LIBRARY_PATH=/usr/lib/${PRODUCT}:${LD_LIBRARY_PATH} + LD_LIBRARY_PATH=/usr/lib/${PRODUCT}/${SUBSYSTEM}:${LD_LIBRARY_PATH} + LD_LIBRARY_PATH=/usr/lib/dirsec:${LD_LIBRARY_PATH} + LD_LIBRARY_PATH=/usr/lib/java/dirsec:${LD_LIBRARY_PATH} + export LD_LIBRARY_PATH + + PATH=/usr/lib/${PRODUCT} + PATH=/usr/lib/${PRODUCT}/${SUBSYSTEM}:${PATH} + export PATH + elif [ "${ARCHITECTURE}" = "sparcv9" ] ; then + LD_LIBRARY_PATH=/usr/lib/java:/usr/lib:/lib + LD_LIBRARY_PATH=/usr/lib/${PRODUCT}:${LD_LIBRARY_PATH} + LD_LIBRARY_PATH=/usr/lib/${PRODUCT}/${SUBSYSTEM}:${LD_LIBRARY_PATH} + LD_LIBRARY_PATH=/usr/lib/dirsec:${LD_LIBRARY_PATH} + LD_LIBRARY_PATH=/usr/lib/java/dirsec:${LD_LIBRARY_PATH} + LD_LIBRARY_PATH=/usr/lib/sparcv9:/lib/sparcv9:${LD_LIBRARY_PATH} + LD_LIBRARY_PATH=/usr/lib/sparcv9/java:${LD_LIBRARY_PATH} + LD_LIBRARY_PATH=/usr/lib/sparcv9/${PRODUCT}:${LD_LIBRARY_PATH} + LD_LIBRARY_PATH=/usr/lib/sparcv9/${PRODUCT}/${SUBSYSTEM}:${LD_LIBRARY_PATH} + LD_LIBRARY_PATH=/usr/lib/sparcv9/dirsec:${LD_LIBRARY_PATH} + LD_LIBRARY_PATH=/usr/lib/sparcv9/java/dirsec:${LD_LIBRARY_PATH} + export LD_LIBRARY_PATH + + PATH=/usr/lib/${PRODUCT} + PATH=/usr/lib/${PRODUCT}/${SUBSYSTEM}:${PATH} + PATH=/usr/lib/sparcv9/${PRODUCT}:${PATH} + PATH=/usr/lib/sparcv9/${PRODUCT}/${SUBSYSTEM}:${PATH} + export PATH + else + invalid_architecture "${ARCHITECTURE}" + exit 255 + fi +else + invalid_operating_system "${OS}" + exit 255 +fi + + +############################################################################### +## (4) Execute the binary executable specified by this command wrapper ## +## based upon the preset LD_LIBRARY_PATH and PATH environment variables.## +############################################################################### + +ORIGINAL_IFS=${IFS} +IFS=: + +for dir in ${PATH} +do + if [ -x ${dir}/${COMMAND} ] + then + IFS=${ORIGINAL_IFS} + ${dir}/${COMMAND} "$@" + exit $? + fi +done + +echo "Unable to find \"${COMMAND}\" in \"${PATH}\"!" + +exit 255 + |