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

Bug#858655: Please move Java dependencies to libreoffice-java-common



severity 858655 wishlist
tag 858655 + wontfix
thanks

Hi,

On Fri, Mar 24, 2017 at 07:00:22PM -0400, Daniel Richard G. wrote:
> A regular LibreOffice install has many Java dependencies:
> 
>     # apt-get -s install libreoffice | grep '^Inst' | egrep 'jre|jdk|java'

Description-en: office productivity suite (metapackage)
 LibreOffice is a full-featured office productivity suite that provides
 a near drop-in replacement for Microsoft(R) Office.
 .
 This metapackage installs all components of libreoffice:
  * libreoffice-writer: Word processor
  * libreoffice-calc: Spreadsheet
  * libreoffice-impress: Presentation
  * libreoffice-draw: Drawing
  * libreoffice-base: Database
  * libreoffice-math: Equation editor
 It also recommends additional packages (e.g. fonts) in order to match an
 upstream LibreOffice install as closely as possible.

Because you install the metapackage which installs those "all components".
And libreoffice-base (well, its internal database) _is written in Java_.

>     Inst libreoffice-java-common (1:5.2.5-2 Debian:testing [all])
>     Inst ca-certificates-java (20161107 Debian:testing [all]) []
>     Inst java-common (0.58 Debian:testing [all]) []
>     Inst openjdk-8-jre-headless (8u121-b13-4 Debian:testing [amd64])
>     [long list of Java-related packages elided]

Yes. Note that "libreoffice" DOES NOT depend on the JRE or Java libs itself.

That's pulled in by -base and -report-builder.

> Let's try installing sans what appears to be LibreOffice's main Java-
> dependency package:

It's the base stuff without which Java stuff inside LO won't work. Basically anything
needed for Java in LO is inside that one (besides those which belong into the UNO runtime
environment or have specializied packages).

> This doesn't make much sense to me. I can't decline installation of
> lo-java-common, but I can decline default-jre, yet some of the resulting

It does make perfect sense.

> installed packages are useless (lo-report-buildir-bin without
> lo-report-builder?) or at worse broken.

lo-report-builder-bin without -report-builder installed is not breaking stuff.
It's more or less a noop. It's installed because in a standard upstream install
it's in "core" packages afaicr (witgh -report-builder being in a extra "package"
there, too)

In fact, the RB is in report-builder and report-builder-bin is just arch-dep
support libraries and it appears only then.

> Looking through the dependencies in the various LibreOffice packages,
> one issue I see is that several of them depend directly on default-jre
> (or more specifically, "default-jre | openjdk-8-jre | openjdk-7-jre |
> openjdk-6-jre | gcj-jre | sun-java5-jre | sun-java6-jre | java5-runtime
> | jre") as well as lo-java-common, when the JRE dependency should in fact
> be redundant alongside lo-java-common.

No, why should simple support libraries (and this is -java-common) depend on a
JRE? Stuff needing a JRE should depend on a JRE, not some "random" package
containing just libraries. Doing this causes many issues also for normal
Java library packages in Debian. Count this package as having only many
LO-internal Java libraries.

> (Interestingly, libreoffice-script-provider-{bsh,js} depend on a JRE
> _without_ depending on lo-java-common. Does that make sense?)

That is probably a bug... I'd assume those ScriptProviders need
/usr/share/libreoffice/program/classes/ScriptFramework.jar which
is in -java-common.

> What I would like to see is for all the various LibreOffice packages
> that can/must make use of Java to Depends:/Recommends:/Suggests:

That is *exactly* what we have right now.

libreoffice installs everything you need. Including a JRE.

If you don't want it/want more control, install the various modules
yourself. The only one where you really do need Java is Base (and the
script providers mentioned above and the Java-based extensions of course)

> lo-java-common, and then have lo-java-common Depends: default-jre et al.
> That way, when installing LibreOffice, I can decline lo-java-common, the
> JRE won't get pulled in, and no LibreOffice package that requires Java
> (or is related to one that does) will get installed.

If you install "libreoffice" you install Base.

Which 100% needs Java right now (because of -sdbc-hsqldb).
Of course, if you disable Recommends:, you won't see it, but it's there.[1]



The current structure is a result of long thinking about it and shuffling around
various times and you need a compromise there. Knowledgeable users can avoid
Java by avoiding the libreoffice metapackage and/or the packages which need Java,

-> wontfix (maybe except the -script-provider-* part, but this bug is about a greater
wish.)

Regards,

Rene

[1] There's the theoretical possibility to use firebird thus -base recommends both,
and firebird might be default engine in a future release.

> 


Reply to: