Hi Charles, I didn't see a reply to your email so I'll have a try: - java1-runtime stands for Java1 (i.e. up to Java 1.2). - java2-runtime stands for Java2 (i.e. Java 1.3 and higher).- free VMs generally only provide java1-runtime (java-runtime is IMHO wrong or a typo). - the Sun/Blackdown packages as generated through java-package do provide both and even a bit more.
- this said, the Debian policy ('lintian -i' will tell you which chapter) says that you need to always provide a real package name before a virtual one (so that apt has a package to pull by default).
Conclusion:- if your package works with free VMs, you should write something like: kaffe | sablevm | java1-runtime. - if your package does only work with Sun's Java, something like sun-j2re1.4 | sun-j2re1.5 | java2-runtime. (You'll see a lot of 'j2re1.4|java2-runtime' but it's more or less history as an inofficial virtual package).
Hope this helps, Eric Charles Fry wrote:
Hi, I am trying to get the proper Depends line for the Bouncy Castle library that I am packaging. Per the policy I found on the web, I depended on java2-runtime, but then got a warning that virtual-package-depends-without-real-package-depends. Looking at other similar packages, I found that they would often depend on kaffe or sablevm. However kaffe doesn't provide java2-runtime, and sablevm provides java1-runtime and java-runtime. For that matter, http://packages.debian.org/unstable/virtual/ contains java-runtime and java1-runtime, but not java2-runtime. Can someone please help me better understand the java*-runtime packages, and the proper dependencies that I should be using. thanks, Charles