From 20b9d956aab21a5a2a61162e6c88fbee5828a9e9 Mon Sep 17 00:00:00 2001 From: Jack Magne Date: Mon, 11 Aug 2014 17:25:21 -0700 Subject: Misc TPS packaging tasks: 1. Make sure the new TPS packages all the applet files, like the old TPS has done. 2. Create a small new package called "pki-tps-client", which will hold ONLY the command line utility "tpsclient" and all of its supporting libraries. 3. Move the directory pki/base/tps to pki/base/tps-client We will do this until we can rewrite "tpclien" on the new Java TPS system. Add package pki-tps-client. --- .../apache/pki_subsystem_command_wrapper | 182 +++++++++++++++++++++ 1 file changed, 182 insertions(+) create mode 100644 base/tps-client/apache/pki_subsystem_command_wrapper (limited to 'base/tps-client/apache/pki_subsystem_command_wrapper') diff --git a/base/tps-client/apache/pki_subsystem_command_wrapper b/base/tps-client/apache/pki_subsystem_command_wrapper new file mode 100644 index 000000000..4285b767a --- /dev/null +++ b/base/tps-client/apache/pki_subsystem_command_wrapper @@ -0,0 +1,182 @@ +#!/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=`uname -s` +ARCHITECTURE="" + +if [ "${OS}" = "Linux" ] ; then + ARCHITECTURE=`arch` + if [ "${ARCHITECTURE}" = "i686" ] ; 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 + ARCHITECTURE=`uname -p` + if [ "${ARCHITECTURE}" = "sparc" ] && + [ -d "/usr/lib/sparcv9/" ] ; then + ARCHITECTURE="sparcv9" + fi + 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 + -- cgit