Jabref: flawed dependencies force installation of OpenJDK java

Bug #1123186 reported by Erwin
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
jabref (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Jabref (2.7~beta1+ds-5) requires Java, the package depends on openjdk-6-jre or sun-java6-jre. The latter is, however, not available anymore as a package in Ubuntu 12.04 LTS.

Sun/Oracle Java may be installed via apt-get (see package update-sun-jre from http://www.duinsoft.nl/pkg). But since the package is not known in the jabref dependency list, installing jabref will result in the needless installation of some 100 MB OpenJDK Java. I consider the dependency list of jabref flawed since it forces users effectively to a specific variant of Java.

IMHO, the simplest solution would be replacing "sun-java6-jre" by "update-sun-jre", which is however from an external source.

A better solution would be a dependency to a virtual package, which is satisfied when _any_ Java installation is available.

Revision history for this message
Erwin (junkmail-hoefling) wrote :

A similar issue has been reported in Bug #712132. Unlike pdftk, jabref does not link to a specific Java library. It works with Sun Java as well.

Actually, the dependeny list of jabref appears pretty long to me. Taking into account that the file jabref.jar file and a simple wrapper script do the job:

<code>
/etc/alternatives/java -jar /usr/share/java/jabref.jar $@
</code>

Revision history for this message
gregor herrmann (gregoa) wrote : Re: [Bug 1123186] [NEW] Jabref: flawed dependencies force installation of OpenJDK java

On Tue, 12 Feb 2013 15:50:02 -0000, Erwin wrote:

> A better solution would be a dependency to a virtual package, which is
> satisfied when _any_ Java installation is available.

Virtual packages are not allowed as the first alternative in a
dependency by the Debian Policy.

Last time I looked, JabRef only worked with OpenJDK and Sun Java but
not with other alternatives; if you know other working
implementations I'm happy to add them.

BTW: Ubuntu/raring and Debian/experimental have 2.9~beta2+ds-1 or
newer with:
"openjdk-7-jre | java6-runtime"
(with java6-runtime being provided by default-jre, openjdk-6-jre,
openjdk-7-jre, sun-java6-jre in Debian.)

Does this already address your concern?

Cf. also http://bugs.debian.org/689253

Cheers,
gregor

--
 .''`. Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06
 : :' : Debian GNU/Linux user, admin, and developer - http://www.debian.org/
 `. `' Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `- NP: Ludwig Hirsch: Boogie woogie

Revision history for this message
Erwin (junkmail-hoefling) wrote :

Thanks for the quick reply. Indeed, changing the dependency to "openjdk-7-jre | java6-runtime" would fix the issue for me. The package update-sun-jre mentioned above also provides java-runtime as well as java6-runtime.

Is it possible to include the fixed dependencies for Ubuntu 12.04 as well? In particular sun-java6-jre should be deleted since it does not exist anymore in the repositories.

Erwin

Revision history for this message
Tony Mancill (tmancill) wrote : Re: [Bug 1123186] Re: Jabref: flawed dependencies force installation of OpenJDK java

On 02/12/2013 08:45 AM, gregor herrmann wrote:
> On Tue, 12 Feb 2013 15:50:02 -0000, Erwin wrote:
>
>> A better solution would be a dependency to a virtual package, which is
>> satisfied when _any_ Java installation is available.
>
> Virtual packages are not allowed as the first alternative in a
> dependency by the Debian Policy.
>
> Last time I looked, JabRef only worked with OpenJDK and Sun Java but
> not with other alternatives; if you know other working
> implementations I'm happy to add them.
>
> BTW: Ubuntu/raring and Debian/experimental have 2.9~beta2+ds-1 or
> newer with:
> "openjdk-7-jre | java6-runtime"
> (with java6-runtime being provided by default-jre, openjdk-6-jre,
> openjdk-7-jre, sun-java6-jre in Debian.)

In addition to Gregor's response regarding the ordering of tangible vs.
virtual dependencies, it is difficult to know a priori what package
names (outside of those distributed directly by Debian or Ubuntu) will
satisfy the JRE/JDK dependency. If you would like to use a non-distro
JRE/JDK, you can use equivs (or a similar mechanism) to ensure that the
package will satisfy java6-runtime.

Cheers,
tony

Revision history for this message
gregor herrmann (gregoa) wrote :

On Tue, 12 Feb 2013 17:11:22 -0000, Erwin wrote:

> Thanks for the quick reply. Indeed, changing the dependency to
> "openjdk-7-jre | java6-runtime" would fix the issue for me. The package
> update-sun-jre mentioned above also provides java-runtime as well as
> java6-runtime.

Great!

> Is it possible to include the fixed dependencies for Ubuntu 12.04 as
> well? In particular sun-java6-jre should be deleted since it does not
> exist anymore in the repositories.

To be honest: I'm not sure how this works in Ubuntu (I'm maintaining
jabref, together with Tony, in Debian), but I agree that having this
fixed for 12.04 would be nice.

If it helps i can prepare a debdiff, but I guess whoever has upload
rights can just change the dependency themselves too :)

Cheers,
gregor, bcc'ing a potential helper

--
 .''`. Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06
 : :' : Debian GNU/Linux user, admin, and developer - http://www.debian.org/
 `. `' Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `- NP: Rolling Stones: Hand-of-fate

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in jabref (Ubuntu):
status: New → Confirmed
Revision history for this message
Erwin (junkmail-hoefling) wrote :

Dear Gregor,

Sorry for the delayed response. I contacted somebody from Ubuntu about how to fix the bug. He named you as the package maintainer of jabref and that you are eligible to package fixes.

If I understand this guide http://developer.ubuntu.com/packaging/html/security-and-stable-release-updates.html right, the patch has to be submitted to launchpad as a merge proposal along with notifying ubuntu-sru about the bug.

I'm not too familiar with packaging, but let me know if I can be of any further help.

Erwin

Revision history for this message
gregor herrmann (gregoa) wrote :

On Fri, 08 Mar 2013 09:08:36 -0000, Erwin wrote:

> Dear Gregor,
> Sorry for the delayed response.

No problem, thanks for looking into this issue further.

> I contacted somebody from Ubuntu about
> how to fix the bug. He named you as the package maintainer of jabref and
> that you are eligible to package fixes.

Well, I still don't have upload permissions in Ubuntu :)

> If I understand this guide
> http://developer.ubuntu.com/packaging/html/security-and-stable-release-updates.html
> right, the patch has to be submitted to launchpad as a merge
> proposal along with notifying ubuntu-sru about the bug.

It seems you've already subscribed ubuntu-sru to the bug, thanks.

I've now created a debdiff for precise -> precise-proposed which
should fix this issue and be ready for an upload (attached).

> I'm not too familiar with packaging, but let me know if I can be of any
> further help.

According to https://wiki.ubuntu.com/StableReleaseUpdates there might
be some other steps necessary to actually get this uploaded; maybe
marking the bug as Fixed (in raring) and/or updating the description
and/or subscribing ubuntu-sponsors is also necessary? - So if you
could point someone who can actually get this patch into precise to
his bug that would be great :)

Cheers,
gregor

--
 .''`. Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06
 : :' : Debian GNU/Linux user, admin, and developer - http://www.debian.org/
 `. `' Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `- NP: Red Hot Chili Peppers: Wet Sand

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.