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/silent/scripts/pkisilent | |
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/silent/scripts/pkisilent')
-rwxr-xr-x | pki/base/silent/scripts/pkisilent | 163 |
1 files changed, 163 insertions, 0 deletions
diff --git a/pki/base/silent/scripts/pkisilent b/pki/base/silent/scripts/pkisilent new file mode 100755 index 000000000..b05e0d689 --- /dev/null +++ b/pki/base/silent/scripts/pkisilent @@ -0,0 +1,163 @@ +#!/usr/bin/perl +# --- 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; either +# +# 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 --- + +############################################################################### +## (1) Specify variables used by this script. ## +############################################################################### + +my $PRODUCT="rhpki"; +my $libpath=""; + + +############################################################################### +## (2) Define helper functions. ## +############################################################################### + +sub invalid_operating_system() +{ + print "\n"; + print "ERROR: pkisilent does not execute on this operating system!\n"; + print "ERROR: check to make sure rhpki-native-tools package is installed!\n"; + print "\n"; +} + +sub invalid_architecture() +{ + print "\n"; + print "ERROR: pkisilent does not execute on this architecture\n"; + print "ERROR: check to make sure rhpki-native-tools package is installed!\n"; + print "\n"; +} + + +############################################################################### +## (3) Set the LD_LIBRARY_PATH environment variable ## +## (as well as the ${libpath} java property) to determine the ## +## search order this command uses to find shared libraries. ## +############################################################################### + +my $OS=`pkiname`; +my $ARCHITECTURE=`pkiarch`; +chop($OS); +chop($ARCHITECTURE); + + +if($OS eq "Linux") +{ + if($ARCHITECTURE eq "i386") + { + $libpath="/usr/lib"; + + $ENV{LD_LIBRARY_PATH} = "/usr/lib/java::" + . "/usr/lib/${PRODUCT}:" + . "/usr/lib/dirsec:" + . "/usr/lib/java/dirsec:" + . "/usr/lib/jvm/jre-1.5.0-ibm/lib/i386/:" + . "/usr/lib/jvm/jre-1.5.0-ibm/lib/i386/native_threads:" + . "/usr/lib/:/lib/:" ; + } + + elsif($ARCHITECTURE eq "x86_64") + { + $libpath="/usr/lib64"; + + $ENV{LD_LIBRARY_PATH} = "/usr/lib/java:/usr/lib:/lib" + . "/usr/lib/${PRODUCT}:" + . "/usr/lib/dirsec:" + . "/usr/lib/java/dirsec:" + . "/usr/lib64/java:/usr/lib64:/lib64:" + . "/usr/lib64/${PRODUCT}:" + . "/usr/lib64/dirsec:" + . "/usr/lib64/java/dirsec:"; + } + else + { + invalid_architecture(); + exit(255); + } +} +elsif (${OS} eq "SunOS") +{ + if (${ARCHITECTURE} eq "sparc") + { + $libpath="/usr/lib"; + $ENV{LD_LIBRARY_PATH} = "/usr/lib/java:/usr/lib:/lib" + . "/usr/lib/${PRODUCT}:" + . "/usr/lib/dirsec:" + . "/usr/lib/java/dirsec:"; + } + + elsif (${ARCHITECTURE} eq "sparcv9") + { + $libpath="/usr/lib/sparcv9"; + + $ENV{LD_LIBRARY_PATH} = "/usr/lib/java:/usr/lib:/lib" + . "/usr/lib/${PRODUCT}:" + . "/usr/lib/dirsec:" + . "/usr/lib/sparcv9:/lib/sparcv9:" + . "/usr/lib/sparcv9/java:" + . "/usr/lib/sparcv9/${PRODUCT}:" + . "/usr/lib/sparcv9/dirsec:" + . "/usr/lib/sparcv9/java/dirsec:"; + } + else + { + invalid_architecture(); + exit(255); + } +} +else +{ + invalid_operating_system(); + exit(255); +} + + +############################################################################### +## (4) Set the CP environment variable to determine the search ## +## order this command wrapper uses to find jar files. ## +############################################################################### + +print "libpath=$libpath\n"; + +$ENV{CLASSPATH} = "/usr/share/java/pkisilent.jar:" + . "${libpath}/java/dirsec/jss4.jar:" + . "/usr/share/java/ldapjdk.jar:" + . "/usr/share/java/${PRODUCT}/certsrv.jar:" + . "/usr/share/java/${PRODUCT}/cmscore.jar:" + . "/usr/share/java/${PRODUCT}/nsutil.jar:" + . "/usr/share/java/${PRODUCT}/cmsutil.jar:" + . "/usr/share/java/${PRODUCT}/cstools.jar:" + . "/usr/share/${PRODUCT}/classes:" + . "/usr/share/java/xml-commons-resolver.jar:" + . "/usr/share/java/xerces-j2.jar:" + . "/usr/lib/java/osutil.jar:"; + + +############################################################################### +## (5) Execute the java command specified by this java command wrapper ## +## based upon the preset LD_LIBRARY_PATH and CP environment variables. ## +############################################################################### + +my $output = `java -cp $ENV{CLASSPATH} @ARGV`; + +print "#######################################################################\n"; +print "$output\n"; +print "#######################################################################\n"; |