Bug 739201

Summary: pkisilent does not take arch into account as Java packages migrated to arch-dependent directories
Product: [Fedora] Fedora Reporter: Alexander Bokovoy <abokovoy>
Component: pki-silentAssignee: Matthew Harmsen <mharmsen>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 16CC: dennis, kwright
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-02-14 02:54:33 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 699785    
Attachments:
Description Flags
Update Classpath to search "/usr/lib64/java" . . .
none
Update Classpath to search "/usr/lib64/java" . . .
none
Update Classpath to search "/usr/lib64/java" . . . alee: review+

Description Alexander Bokovoy 2011-09-16 18:45:03 UTC
Description of problem:

Jars for JNI-based packages are moved to /usr/lib64/java on x86_64,
but pkisilent still tries to use /usr/lib/java as classpath. This
results in inability to launch anything (we get class not found exception).

Version-Release number of selected component (if applicable):
pki-silent-9.0.14-1.fc16.noarch

How reproducible:
always on x86_64

Steps to Reproduce:
[root@host3 ~]# uname -r
3.1.0-0.rc5.git0.0.fc16.x86_64
[root@host3 ~]# grep java /usr/bin/pkisilent 
##      (as well as the ${libpath} java property) to determine the           ##
		$ENV{LD_LIBRARY_PATH} = "/usr/lib/java:/usr/lib:/lib"
					. "/usr/lib/java/dirsec:";
		$ENV{LD_LIBRARY_PATH} = "/usr/lib/java:/usr/lib:/lib"
					. "/usr/lib/sparcv9/java:"
					. "/usr/lib/sparcv9/java/dirsec:";
$ENV{CLASSPATH} = "/usr/share/java/${PRODUCT}/pki-silent.jar:"
	. "/usr/share/java/${PRODUCT}/pki-certsrv.jar:"
	. "/usr/share/java/${PRODUCT}/pki-cmscore.jar:"
	. "/usr/share/java/${PRODUCT}/pki-nsutil.jar:"
	. "/usr/share/java/${PRODUCT}/pki-cmsutil.jar:"
	. "/usr/share/java/${PRODUCT}/pki-tools.jar:"
	. "/usr/share/java/ldapjdk.jar:"
	. "/usr/share/java/xerces-j2.jar:"
	. "/usr/share/java/xml-commons-apis.jar:"
	. "/usr/share/java/xml-commons-resolver.jar:"
	. "/usr/lib/java/dirsec/jss4.jar:"
	. "/usr/lib/java/jss4.jar:"
	. "/usr/lib/java/dirsec/osutil.jar:"
	. "/usr/lib/java/osutil.jar:";
##  (5) Execute the java command specified by this java command wrapper      ##
my $output = `java -cp $ENV{CLASSPATH} @ARGV`;

Actual results:
When launching pkisilent with proper arguments following is reported:
Exception in thread "main" java.lang.NoClassDefFoundError: org/mozilla/jss/crypto/AlreadyInitializedException
	at ConfigureCA.ConfigureCAInstance(ConfigureCA.java:1140)
	at ConfigureCA.main(ConfigureCA.java:1672)
Caused by: java.lang.ClassNotFoundException: org.mozilla.jss.crypto.AlreadyInitializedException
	at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
	... 2 more
#######################################################################

Expected results:
pkisilent successfuly launches pki to perform required action.

Additional info:

Comment 1 Alexander Bokovoy 2011-09-16 18:46:22 UTC
assigning to mharmsen as requested.

Comment 2 Matthew Harmsen 2011-09-23 00:17:39 UTC
Created attachment 524520 [details]
Update Classpath to search "/usr/lib64/java" . . .

Comment 3 Matthew Harmsen 2011-09-23 01:46:35 UTC
Created attachment 524525 [details]
Update Classpath to search "/usr/lib64/java" . . .

Comment 4 Matthew Harmsen 2011-09-23 01:59:08 UTC
Created attachment 524528 [details]
Update Classpath to search "/usr/lib64/java" . . .

Comment 5 Matthew Harmsen 2011-09-23 02:23:21 UTC
TIP:

# cd pki/base

# svn status | grep -v ^$ | grep -v ^P | grep -v ^X | grep -v ^?
M       silent/scripts/pkisilent

# svn commit
Sending        base/silent/scripts/pkisilent
Transmitting file data .
Committed revision 2223.

Comment 6 Fedora End Of Life 2013-02-14 02:54:37 UTC
Fedora 16 changed to end-of-life (EOL) status on 2013-02-12. Fedora 16 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.