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

Policy Changes: Executable jars and removal of Compiler section.


p1_remove_compiler_sect.patch will remove the section "Java Compilers"
and all references to the virtual packages java-virtual-machine,
java-compiler and java2-compiler.
  If accepted I will officially retire the following virtual packages on
behalf of the team:

 * java-virtual-machine
 * java-compiler
 * java2-compiler packages.

p2_java_executables.patch rewords the part about executable jar files
under the Java Programs section. It will allow Java Programs to install
in accordance with the Debian Policy (and not just in /usr/bin). It also
specifies where private jar files should be placed.

This patch are based on #227594 and #395372 and will allow us to close
them both.

Also, if you have a proposal (or your made one during the last patch
review) please feel free to submit it as a bug against java-common.
  You are also more than welcome to contact me if you need help with the
wording or just want to discuss the debate before submitting it.


Description: Removes the section "Java Compilers" and all
 references to the virtual packages java-virtual-machine,
 java-compiler and java2-compiler.
Notes: If accepted, I will officially retire the
 java-virtual-machine, java-compiler and
 java2-compiler packages.

--- policy.xml.orig	2010-04-12 16:12:30.259513068 +0200
+++ policy.xml	2010-04-12 16:17:05.107507926 +0200
@@ -6,11 +6,8 @@
 <!ENTITY mustnot "<emphasis>must not</emphasis>">
 <!ENTITY may "<emphasis>may</emphasis>">
 <!ENTITY should "<emphasis>should</emphasis>">
-<!ENTITY jvm "<emphasis>java-virtual-machine</emphasis>">
 <!ENTITY j1r "<emphasis>java1-runtime</emphasis>">
 <!ENTITY j2r "<emphasis>java2-runtime</emphasis>">
-<!ENTITY jc "<emphasis>java-compiler</emphasis>">
-<!ENTITY j2c "<emphasis>java2-compiler</emphasis>">
 <!ENTITY d-jdk "<emphasis>default-jdk</emphasis>">
 <!ENTITY d-jbdep "<emphasis>default-jdk-builddep</emphasis>">
 <!ENTITY d-jdoc "<emphasis>default-jdk-doc</emphasis>">
@@ -111,8 +108,7 @@
-      Virtual packages are created: &jc;, &j2c;,
-      &jvm;, &j1r; and &j2r;.
+      Virtual packages are created: &j1r; and &j2r;.
@@ -143,7 +139,7 @@
       <title>Virtual machines</title>
-	Java virtual machines &must; provide &jvm; and
+	Java virtual machines &must;
 	depend on java-common. They can also provide the runtime environment
 	that the package contains (&j1r; and/or &j2r;). If it does not
 	provide the files itself it &must; depend on the needed runtime
@@ -184,24 +180,6 @@
-    <sect1 id="policy-compiler">
-      <title>Java compilers</title>
-      <para>
-	Java compilers &must; provide &jc; and/or &j2c; and depend on
-	java-common. They &must; also depend on the needed runtime environment
-	(&j1r; and/or &j2r;).
-      </para>
-      <para>
-	They &should; use <filename>/etc/alternatives</filename>
-	for the name 'javac' if they are command-line compatible
-	with Sun's JDK javac. They &should; have a CLASSPATH predefined to
-	include the java core classes need for the compiler.
-      </para>
-    </sect1>
     <sect1 id="policy-programs">
       <title>Java programs</title>
@@ -223,7 +201,7 @@
-        Programs &must; depend on &jvm; and the needed
+        Programs &must; depend on the needed
 	runtime environment (&j1r; and/or &j2r;).
Description: Relax the restriction on install location of
 Java Programs to allow any location allowed by the Debian
 The rewording also removes binfmt_misc from the paragraph
 and specifies where privates jar files should be installed.
Closes: #395372, #227594

--- policy.xml.orig	2010-04-12 17:56:40.916744857 +0200
+++ policy.xml	2010-04-12 18:02:50.803500788 +0200
@@ -13,6 +13,7 @@
 <!ENTITY d-jdoc "<emphasis>default-jdk-doc</emphasis>">
 <!ENTITY JVM "<acronym>JVM</acronym>">
 <!ENTITY JIT "<acronym>JIT</acronym>">
+<!ENTITY debpol "http://www.debian.org/doc/debian-policy";>
@@ -184,21 +185,25 @@
       <title>Java programs</title>
-	Programs &must; have executable(s) in
-	<filename>/usr/bin</filename> and be executable. They can be Java
-	classes (using binfmt_misc) or wrappers. In any case, they &must; run
+	Programs &must; have one or more executables in one or more of
+	the directories defined by <ulink url="&debpol;/ch-opersys.html#s9.1">
+	9.1</ulink> of the Debian Policy. These &must; either be a wrapper
+	script or a symlink to an executable jar. In the latter case, the
+	package &must; have an absolute dependency on jarwrapper or an
+	equivalent package, which allows jar files to be executed directly
+	from PATH like a normal program. In any case, they &must; run
 	without specific environment variables (see
-	<ulink url="http://www.debian.org/doc/debian-policy/ch-opersys.html#s10.9";>Policy
+	<ulink url="&debpol;/ch-opersys.html#s10.9">Policy
 	  10.9</ulink>), for instance CLASSPATH. They &must; respect the Policy
 	rules for executables (for instance a manual page per executable, see
-	<ulink url="http://www.debian.org/doc/debian-policy/ch-docs.html#s13.1";>
+	<ulink url="&debpol;/ch-docs.html#s13.1">
 	  Policy 13.1</ulink>).
-        If they have their own auxiliary classes, they
-	&must; be in a jar file in <filename>/usr/share/java</filename>. The
-        name of the jar &should; follow the same naming conventions as for
-        libraries.
+	Additional classes in the package must be packaged in one or more JARs 
+	which can be put into /usr/share/java (if they are intended to be used 
+	by other programs) or into a private directory in
+	/usr/share/&lt;package&gt;.
         Programs &must; depend on the needed

Attachment: signature.asc
Description: OpenPGP digital signature

Reply to: