File jss-4.5.0-nojavah.patch of Package mozilla-jss
--- jss-4.5.0/build_java.pl
+++ jss-4.5.0/build_java.pl
@@ -13,51 +13,58 @@ org/mozilla/jss/pkix/cert/X509Certificate\.java
samples/
);
-@javah_classes = qw(
-org.mozilla.jss.DatabaseCloser
-org.mozilla.jss.CryptoManager
-org.mozilla.jss.crypto.Algorithm
-org.mozilla.jss.crypto.EncryptionAlgorithm
-org.mozilla.jss.crypto.PQGParams
-org.mozilla.jss.crypto.SecretDecoderRing
-org.mozilla.jss.asn1.ASN1Util
-org.mozilla.jss.pkcs11.CertProxy
-org.mozilla.jss.pkcs11.CipherContextProxy
-org.mozilla.jss.pkcs11.PK11Module
-org.mozilla.jss.pkcs11.ModuleProxy
-org.mozilla.jss.pkcs11.PK11Cert
-org.mozilla.jss.pkcs11.PK11Cipher
-org.mozilla.jss.pkcs11.PK11KeyWrapper
-org.mozilla.jss.pkcs11.PK11MessageDigest
-org.mozilla.jss.pkcs11.PK11PrivKey
-org.mozilla.jss.pkcs11.PK11PubKey
-org.mozilla.jss.pkcs11.PK11SymKey
-org.mozilla.jss.pkcs11.PK11KeyPairGenerator
-org.mozilla.jss.pkcs11.PK11SymmetricKeyDeriver
-org.mozilla.jss.pkcs11.PK11KeyGenerator
-org.mozilla.jss.pkcs11.PK11Token
-org.mozilla.jss.pkcs11.PrivateKeyProxy
-org.mozilla.jss.pkcs11.PublicKeyProxy
-org.mozilla.jss.pkcs11.SymKeyProxy
-org.mozilla.jss.pkcs11.KeyProxy
-org.mozilla.jss.pkcs11.PK11Token
-org.mozilla.jss.pkcs11.TokenProxy
-org.mozilla.jss.pkcs11.PK11Signature
-org.mozilla.jss.pkcs11.PK11Store
-org.mozilla.jss.pkcs11.PK11KeyPairGenerator
-org.mozilla.jss.pkcs11.SigContextProxy
-org.mozilla.jss.pkcs11.PK11RSAPublicKey
-org.mozilla.jss.pkcs11.PK11DSAPublicKey
-org.mozilla.jss.pkcs11.PK11ECPublicKey
-org.mozilla.jss.pkcs11.PK11SecureRandom
-org.mozilla.jss.provider.java.security.JSSKeyStoreSpi
-org.mozilla.jss.SecretDecoderRing.KeyManager
-org.mozilla.jss.ssl.SSLSocket
-org.mozilla.jss.ssl.SSLServerSocket
-org.mozilla.jss.ssl.SocketBase
-org.mozilla.jss.util.Password
+# source list equivalent to the old @javah_classes
+@wanted_sources = qw(
+org/mozilla/jss/DatabaseCloser.java
+org/mozilla/jss/CryptoManager.java
+org/mozilla/jss/crypto/EncryptionAlgorithm.java
+org/mozilla/jss/crypto/PQGParams.java
+org/mozilla/jss/crypto/SecretDecoderRing.java
+org/mozilla/jss/asn1/ASN1Util.java
+org/mozilla/jss/pkcs11/CipherContextProxy.java
+org/mozilla/jss/pkcs11/PK11Module.java
+org/mozilla/jss/pkcs11/ModuleProxy.java
+org/mozilla/jss/pkcs11/PK11Cert.java
+org/mozilla/jss/pkcs11/PK11Cipher.java
+org/mozilla/jss/pkcs11/PK11KeyWrapper.java
+org/mozilla/jss/pkcs11/PK11MessageDigest.java
+org/mozilla/jss/pkcs11/PK11PrivKey.java
+org/mozilla/jss/pkcs11/PK11PubKey.java
+org/mozilla/jss/pkcs11/PK11SymKey.java
+org/mozilla/jss/pkcs11/PK11KeyPairGenerator.java
+org/mozilla/jss/pkcs11/PK11SymmetricKeyDeriver.java
+org/mozilla/jss/pkcs11/PK11KeyGenerator.java
+org/mozilla/jss/pkcs11/PK11Token.java
+org/mozilla/jss/pkcs11/PK11Token.java
+org/mozilla/jss/pkcs11/TokenProxy.java
+org/mozilla/jss/pkcs11/PK11Signature.java
+org/mozilla/jss/pkcs11/PK11Store.java
+org/mozilla/jss/pkcs11/PK11KeyPairGenerator.java
+org/mozilla/jss/pkcs11/PK11RSAPublicKey.java
+org/mozilla/jss/pkcs11/PK11DSAPublicKey.java
+org/mozilla/jss/pkcs11/PK11ECPublicKey.java
+org/mozilla/jss/pkcs11/PK11SecureRandom.java
+org/mozilla/jss/provider/java/security/JSSKeyStoreSpi.java
+org/mozilla/jss/SecretDecoderRing/KeyManager.java
+org/mozilla/jss/ssl/SSLSocket.java
+org/mozilla/jss/ssl/SSLServerSocket.java
+org/mozilla/jss/ssl/SocketBase.java
+org/mozilla/jss/util/Password.java
);
+# Removed the following from the list:
+# error: file not found: org/mozilla/jss/crypto.Algorithm.java
+# error: file not found: org/mozilla/jss/pkcs11/CertProxy.java
+# error: file not found: org/mozilla/jss/pkcs11/PrivateKeyProxy.java
+# error: file not found: org/mozilla/jss/pkcs11/PublicKeyProxy.java
+# error: file not found: org/mozilla/jss/pkcs11/SymKeyProxy.java
+# error: file not found: org/mozilla/jss/pkcs11/SigContextProxy.java
+# error: file not found: org/mozilla/jss/util/Debug.java
+#
+# Additinally Password has no native methos
+# no .c file and grep native on it comes empty
+# org/mozilla/jss/util/Password.java
+
@packages = qw(
org.mozilla.jss
org.mozilla.jss.asn1
@@ -176,6 +182,11 @@ sub setup_vars {
$javac_deprecation_flag = "";
}
+ if( $ENV{ADD_MODULES} ) {
+ $add_modules_flag = "--add-modules java.se.ee,jdk.crypto.cryptoki,java.xml.bind";
+ } else {
+ $add_modules_flag = "";
+ }
# retrieve present working directory
$jss_dir = `pwd`;
$jss_dir =~ chomp $jss_dir;
@@ -335,23 +346,31 @@ MyLabel
}
my @source_list = keys(%source_list);
+ #
+ # the sources that need jni headers generated
+ #
+ my $jni_source_list = printList;
+
#
# build the java sources
#
if( scalar(@source_list) > 0 ) {
ensure_dir_exists($class_dir);
- print_do("$javac $javac_opt_flag $javac_deprecation_flag -sourcepath . -d $class_dir " .
+ ensure_dir_exists($jni_header_dir);
+ print_do("$javac $javac_opt_flag $add_modules_flag $javac_deprecation_flag -sourcepath . -d $class_dir " .
"$classpath " . join(" ",@source_list));
+
+ #
+ # create the JNI header files
+ # by compiling the ones we want with "-h $jni_header_dir" flag
+ #
+ ensure_dir_exists($jni_header_dir);
+ print_do("$javac $javac_opt_flag $add_modules_flag $javac_deprecation_flag -sourcepath . -d $class_dir -h $jni_header_dir " .
+ "$classpath " . join(" ", @wanted_sources) );
+
print_do("sh -c 'cd $dist_dir/classes && $jar cvmf $dist_dir/MANIFEST.MF $dist_dir/xpclass.jar *'");
print "Exit status was " . ($?>>8) . "\n";
}
-
- #
- # create the JNI header files
- #
- ensure_dir_exists($jni_header_dir);
- print_do("$javah -classpath $class_dir -d $jni_header_dir " .
- (join " ", @javah_classes) );
}
sub print_do {
@@ -425,7 +444,7 @@
ensure_dir_exists("$dist_dir/jssdoc");
my $targets = join(" ", @packages);
print "$targets\n";
- print_do("$javadoc -breakiterator $classpath -sourcepath . -d $dist_dir/jssdoc $html_header_opt $targets");
+ print_do("$javadoc -breakiterator $add_modules_flag $classpath -sourcepath . -d $dist_dir/jssdoc $html_header_opt $targets");
print_do("cp $dist_dir/jssdoc/index.html $dist_dir/jssdoc/index.html.bak");
print_do("cp $dist_dir/jssdoc/overview-summary.html $dist_dir/jssdoc/index.html");
}
--- jss-4.5.0/org/mozilla/jss/crypto/Algorithm.c
+++ jss-4.5.0/org/mozilla/jss/crypto/Algorithm.c
@@ -13,7 +13,6 @@
#include <jssutil.h>
-#include "_jni/org_mozilla_jss_crypto_Algorithm.h"
#include "Algorithm.h"
static PRStatus
--- jss-4.5.0/org/mozilla/jss/tests/all.pl
+++ jss-4.5.0/org/mozilla/jss/tests/all.pl
@@ -195,7 +195,7 @@ sub setup_vars {
if ($osname =~ /Darwin/) {
$java = "$ENV{JAVA_HOME}/bin/java";
} else {
- $java = "$ENV{JAVA_HOME}/jre/bin/java$exe_suffix";
+ $java = "$ENV{JAVA_HOME}/bin/java$exe_suffix";
}
#
@@ -221,10 +221,6 @@ sub setup_vars {
(-f $java) or die "'$java' does not exist\n";
$java = $java . $ENV{NATIVE_FLAG};
- if ($ENV{USE_64} && !$java_64bit) {
- $java = $java . " -d64";
- }
-
#MAC OS X have the -Djava.library.path for the JSS JNI library
if ($osname =~ /Darwin/ || $osname =~ /Linux/) {
$java = $java . " -Djava.library.path=$jss_lib_dir";
--- jss-4.5.0/org/mozilla/jss/util/jssutil.c
+++ jss-4.5.0/org/mozilla/jss/util/jssutil.c
@@ -12,7 +12,6 @@
#include "jss_exceptions.h"
#include "java_ids.h"
-#include "_jni/org_mozilla_jss_util_Password.h"
/***********************************************************************
**