* Timo Aaltonen:

>> Unfortunately, I do not know how to test whether the resulting package
>> still works.
>
> This is not for jss though?

Argh, yes, sorry, here's the right patch.

Cheers,
-Hilko
>From 3d0f46b544b2e30fd3a0d71b2ca27fe6db9a93f2 Mon Sep 17 00:00:00 2001
From: Hilko Bengen <ben...@debian.org>
Date: Tue, 11 Sep 2018 22:55:54 +0200
Subject: [PATCH] Use default-jdk for build (Closes: #895643)

- Re-enable fix-jdk9-ftbfs.diff
- Add patch to cope with missing javah (as of OpenJDK 10)
---
 debian/control                   |  2 +-
 debian/patches/series            |  3 +-
 debian/patches/use-javac_-h.diff | 75 ++++++++++++++++++++++++++++++++
 debian/rules                     |  2 +-
 4 files changed, 79 insertions(+), 3 deletions(-)
 create mode 100644 debian/patches/use-javac_-h.diff

diff --git a/debian/control b/debian/control
index 8c31913..97f355b 100644
--- a/debian/control
+++ b/debian/control
@@ -4,7 +4,7 @@ Maintainer: Debian FreeIPA Team <pkg-freeipa-de...@alioth-lists.debian.net>
 Uploaders: Timo Aaltonen <tjaal...@debian.org>,
 Priority: optional
 Build-Depends: debhelper (>= 11),
- openjdk-8-jdk,
+ default-jdk-headless,
  libcommons-codec-java,
  libcommons-lang-java,
  libnss3-dev,
diff --git a/debian/patches/series b/debian/patches/series
index e39eacc..3813540 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
-#fix-jdk9-ftbfs.diff
+fix-jdk9-ftbfs.diff
+use-javac_-h.diff
diff --git a/debian/patches/use-javac_-h.diff b/debian/patches/use-javac_-h.diff
new file mode 100644
index 0000000..a408d62
--- /dev/null
+++ b/debian/patches/use-javac_-h.diff
@@ -0,0 +1,75 @@
+Index: jss/build_java.pl
+===================================================================
+--- jss.orig/build_java.pl
++++ jss/build_java.pl
+@@ -140,7 +140,6 @@ sub setup_vars {
+ 
+     $jar = "$ENV{JAVA_HOME}/bin/jar";
+     $javac = "$ENV{JAVA_HOME}/bin/javac";
+-    $javah = "$ENV{JAVA_HOME}/bin/javah";
+     $javadoc = "$ENV{JAVA_HOME}/bin/javadoc";
+ 
+     $dist_dir = abs_path($cmdline_vars{SOURCE_PREFIX});
+@@ -158,7 +157,7 @@ sub setup_vars {
+     $jni_header_dir = "$dist_dir/private/jss/_jni";
+ 
+     if( $ENV{DEBIAN_BUILD} ) {
+-        $jarFiles = "/usr/share/java/slf4j-api.jar:/usr/share/java/commons-codec.jar";
++        $jarFiles = "/usr/share/java/slf4j-api.jar:/usr/share/java/commons-codec.jar:/usr/share/java/jaxb-api.jar";
+     } else {
+         $jarFiles = "/usr/share/java/slf4j/slf4j-api.jar:/usr/share/java/commons-codec.jar";
+     }
+@@ -302,6 +301,7 @@ MyLabel
+     my %source_list;
+     find sub {
+         my $name = $File::Find::name;
++        next if $name =~ /[.]pc/;
+         if( $name =~ /\.java$/) { 
+             $source_list{$File::Find::name} = 1;
+         }
+@@ -329,18 +329,12 @@ MyLabel
+     #
+     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 $javac_deprecation_flag -sourcepath . -h $jni_header_dir -d $class_dir " .
+             "$classpath " . join(" ",@source_list));
+         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 {
+Index: jss/org/mozilla/jss/crypto/Algorithm.c
+===================================================================
+--- jss.orig/org/mozilla/jss/crypto/Algorithm.c
++++ jss/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
+Index: jss/org/mozilla/jss/util/jssutil.c
+===================================================================
+--- jss.orig/org/mozilla/jss/util/jssutil.c
++++ jss/org/mozilla/jss/util/jssutil.c
+@@ -12,8 +12,6 @@
+ #include "jss_exceptions.h"
+ #include "java_ids.h"
+ 
+-#include "_jni/org_mozilla_jss_util_Password.h"
+-
+ /***********************************************************************
+ **
+ ** J S S _ t h r o w M s g P r E r r A r g
diff --git a/debian/rules b/debian/rules
index 8ab31d7..58de3ef 100755
--- a/debian/rules
+++ b/debian/rules
@@ -36,7 +36,7 @@ export NSS_LIB_DIR=`/usr/bin/pkg-config --libs-only-L nss | sed 's/-L//'`
 export USE_INSTALLED_NSPR=1
 export USE_INSTALLED_NSS=1
 
-export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-$(DEB_BUILD_ARCH)
+export JAVA_HOME=/usr/lib/jvm/default-java
 
 # Generate symbolic info for debuggers
 XCFLAGS="-g"
-- 
2.18.0

Reply via email to