ant dependency on jython and antlr

Daniel Bonniot Daniel.Bonniot@inria.fr
Sat Dec 20 14:15:02 2003


Hi java maintainers,

Since version 1.5.3-2, the package ant depends on jython and antlr. The 
justification was:

 * Depend on the previously suggested packages jython and antlr to avoid
     dangling symlinks in /usr/share/ant/lib


The Debian policy, section 7.2, says:

* Depends
This declares an absolute dependency. A package will not be configured 
unless all of the packages listed in its Depends field have been 
correctly configured.

The Depends field should be used if the depended-on package is required 
for the depending package to provide a significant amount of functionality.

[...]

* Suggests
This is used to declare that one package may be more useful with one or 
more others. Using this field tells the packaging system and the user 
that the listed packages are related to this one and can perhaps enhance 
its usefulness, but that installing this one without them is perfectly 
reasonable.


It seems pretty clear that ant does not *depend* on jython or antlr, 
since those are not required for ant to "provide a significant amount of 
functionality." The Suggests was probably right.

Now I understand the technical problem there was with the dangling 
symlink. However, I think the propoer solution for this would be to have 
the link in the jython and antlr packages, respectively. They should 
probably suggest ant, too.

Note that this is what the eclipse-javac package does: it includes the 
ant link:

  $ dpkg -L eclipse-javac|grep ant/lib
  /usr/share/ant/lib
  /usr/share/ant/lib/jdtCompilerAdapter.jar
  /usr/share/ant/lib/jdtcore.jar
  $ ls -l /usr/share/ant/lib/jdtcore.jar
lrwxrwxrwx    1 root     root           60 Aug  3 15:28 
/usr/share/ant/lib/jdtcore.jar -> 
../../eclipse/plugins/org.eclipse.jdt.core_2.1.1/jdtcore.jar

Eclipse-javac should additionally at least suggest ant, I think.

Does everybody agree? Should this be made part of the Java policy? Here 
is my proposal:
  "If a package provides ant tasks, it should include a symlink from 
/usr/share/ant/lib/<package-name><suffix>.jar to the jar file including 
the task. It should also at least suggest the package ant."

Cheers,

Daniel