[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#606506: lintian: default-jdk-builddep is deprecated and dh_nativejava is not provided by default-jdk



Package: lintian
Version: 2.4.3
Tags: patch

Hi

Due to the wide spread misunderstanding of how default-jdk-builddep was
supposed to be used, it has been deprecated by the Java Team. It has
been replaced by default-jdk and gcj-native-helper[1].

The idea is that default-jdk will provide a Java Development Kit (particularly
a java compiler and a jar tool) to compile java files into class files and stuff
them into jar files (as it always have).

gcj-native-helper is a new meta-package to pull the necessary tools to take
a jar file and compile it into native application or library (e.g.
dh_nativejava).
  Note that gcj-native-helper is *not* intended to supply a JDK, javac or jar.
Any package needing to compile java files to class/jar files also need to
depend on default-jdk (or similar).


gcj-native-helper was introduced in java-common 0.38 and for the sake of
backwards compatibility it also depends on default-jdk and also provides
default-jdk-builddep.
  This is why I have suppressed a "missing-b-d" tag for dh_nativejava if
default-jdk-builddep is used. However, since we (the Java Team) would like
to remove all references to default-jdk-builddep, we would like to remove
the provides (post Squeeze of course).


~Niels

[1] http://lists.debian.org/debian-java/2010/04/msg00070.html

Basically people thought it was a "Java Build Essential".
  However, it was default-jdk + tools to compile jar files into native
applications/libraries. On some architectures this ends up pulling two
Java Development Kits (which is a waste of time on the buildd machines)
From f9a5e2fafc22c6f8766bb8755f8c3b8f6badbc3f Mon Sep 17 00:00:00 2001
From: Niels Thykier <niels@thykier.net>
Date: Thu, 9 Dec 2010 21:50:02 +0100
Subject: [PATCH] Deprecate default-jdk-builddep and correct list of packages providing dh_nativejava.

---
 checks/debhelper                                   |    8 +++++---
 data/fields/obsolete-packages                      |    4 ++++
 .../debian/debian/control.in                       |    2 +-
 3 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/checks/debhelper b/checks/debhelper
index 56bbc00..32adec2 100644
--- a/checks/debhelper
+++ b/checks/debhelper
@@ -120,10 +120,12 @@ while (<RULES>) {
 	    if ($dh_commands_depends->known($dhcommand)) {
 		my $dep = $dh_commands_depends->value($dhcommand);
 
-		# Special-case default-jdk-builddep.  It appears to be a sort
-		# of build-essential for Java applications.
+		# Special-case gcj-native-helper, which is a meta-package to
+		# pull this helper. default-jdk-builddep is obsolete, but
+		# we keep it for backwards compatibility, because it used to
+		# serve this purpose.
 		if ($dhcommand eq 'dh_nativejava') {
-		    $dep = "$dep | default-jdk | default-jdk-builddep";
+		    $dep = "$dep | gcj-native-helper | default-jdk-builddep";
 		}
 		$missingbdeps{$dep} = $dhcommand;
 	    }
diff --git a/data/fields/obsolete-packages b/data/fields/obsolete-packages
index 9726cf0..e4f2a17 100644
--- a/data/fields/obsolete-packages
+++ b/data/fields/obsolete-packages
@@ -56,3 +56,7 @@ xlibmesa-gl
 xlibmesa-gl-dev
 xlibmesa-glu
 xutils
+
+# Last seen in Squeeze
+default-jdk-builddep
+
diff --git a/t/tests/debhelper-dh-nativejava/debian/debian/control.in b/t/tests/debhelper-dh-nativejava/debian/debian/control.in
index cff247e..ccc9a46 100644
--- a/t/tests/debhelper-dh-nativejava/debian/debian/control.in
+++ b/t/tests/debhelper-dh-nativejava/debian/debian/control.in
@@ -3,7 +3,7 @@ Priority: extra
 Section: {$section}
 Maintainer: {$author}
 Standards-Version: {$standards_version}
-Build-Depends: debhelper (>= 7), default-jdk-builddep
+Build-Depends: debhelper (>= 7), gcj-native-helper
 
 Package: {$srcpkg}
 Architecture: {$architecture}
-- 
1.7.2.3


Reply to: