Bug 2294823

Summary: LibreOffice Draw package provides unstartable application
Product: [Fedora] Fedora Reporter: René Genz <liebundartig>
Component: libreofficeAssignee: libreoffice-sig
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 40CC: dtardon, erack, gwync, libreoffice-sig, mattia.verga, maxwell, sberg.fun
Target Milestone: ---Keywords: Desktop
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: libreoffice-24.2.5.2-1.fc41 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-07-12 04:06:25 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description René Genz 2024-06-30 17:14:24 UTC
The package libreoffice-draw provides "/usr/bin/oodraw". In certain circumstances this, as well as `libreoffice --draw`, cannot start LO Draw.

Reproducible: Always

Steps to Reproduce:
1. $ sudo dnf remove libreoffice\*
2. $ sudo dnf install -y libreoffice-draw
Actual Results:  
Both `libreoffice --draw` and `/usr/bin/oodraw` shows splash-screen, in which the progress bar gets partially filled, then splash-screen disappears, but no LO Draw window appears. No output in terminal or system log.

Expected Results:  
Both `libreoffice --draw` and `/usr/bin/oodraw` start LO Draw.

workaround/solution:
$ sudo dnf install -y libreoffice-impress # installs only this single package
= both `libreoffice --draw` and `/usr/bin/oodraw` start LO Draw.will not be able to


interesting note 1:
from libreoffice-impress package only this file is required to start LO Draw:
/usr/lib64/libreoffice/share/config/soffice.cfg/simpress/styles.xml

You can delete the other ones, see `rpm -ql libreoffice-impress`.


interesting note 2:
$ sudo dnf remove -y libreoffice-draw # removes only this single package
= `libreoffice --draw` can start LO Draw; `/usr/bin/oodraw` does not exist as expected


history:
I could reproduce this behaviour with older versions. On F40:
$ dnf list libreoffice --showduplicates
...
libreoffice.x86_64  1:24.2.2.1-3.fc40  fedora 
libreoffice.x86_64  1:24.2.4.2-2.fc40  updates
$ sudo dnf install -y libreoffice-draw-1:24.2.2.1-3.fc40.x86_64

And on F38:
7.5.9.2-1.fc38.x86_64 and 7.5.2.2-1.
I did not test older versions.

Comment 1 René Genz 2024-06-30 17:36:26 UTC
From LibreOffice website:
https://www.libreoffice.org/download/download-libreoffice/
I downloaded "LibreOffice_24.2.4_Linux_x86-64_rpm.tar.gz", extracted archive, cd'ed into RPMs folder and installed:
$ sudo dnf install {libobasis24.2-core,libobasis24.2-draw,libobasis24.2-images,libobasis24.2-ooofonts,libreoffice24.2,libreoffice24.2-draw,libreoffice24.2-ure}-24.2.4.2-2.x86_64.rpm

This fulfills their RPM package requirements, but `/opt/libreoffice24.2/program/sdraw` shows splash-screen and a "LibreOffice 24.2 - Fatal Error" titled window, but window's content copied splash-screen, hence you cannot read its content. No output in terminal. Output in system log:
$ sudo journalctl -f
...
Jun 30 17:30:29 ... gnotheyme-shell[5832]: Window manager warning: Invalid WM_TRANSIENT_FOR window 0x1b6 specified for 0x3800016.

You can force-quit the window by clicking the "<" (or black rectangle) in its upper left corner.
$ 

Further testing led to a "mostly minimal" working set:
$ rpm -qa "*libreoffice*" "*libobasis24.2*" | sort
libobasis24.2-core-24.2.4.2-2.x86_64
libobasis24.2-draw-24.2.4.2-2.x86_64
libobasis24.2-en-US-24.2.4.2-2.x86_64
libobasis24.2-images-24.2.4.2-2.x86_64
libobasis24.2-impress-24.2.4.2-2.x86_64
libobasis24.2-ooofonts-24.2.4.2-2.x86_64$ 
libreoffice24.2-24.2.4.2-2.x86_64
libreoffice24.2-draw-24.2.4.2-2.x86_64
libreoffice24.2-ure-24.2.4.2-2.x86_64

"mostly minimal" because you can skip/uninstall libreoffice24.2-draw, and use `/opt/libreoffice24.2/program/soffice --draw` to start LO Draw.
The package "libobasis24.2-impress" provides, among others:
/opt/libreoffice24.2/share/config/soffice.cfg/simpress/styles.xml
If it is not present, then you cannot start LO Draw.

Comment 2 Gwyn Ciesla 2024-07-01 16:05:37 UTC
This bugzilla is only to support the Fedora rpm packages, not those from the LibreOffice website. Does the problem occur with the Fedora rpms?

Comment 3 René Genz 2024-07-01 17:34:01 UTC
Problem occurs with Fedora RPMs as described in #c0.

Comment 4 Gwyn Ciesla 2024-07-01 19:43:46 UTC
Ok, thank you. Looking into it.

Comment 5 Mattia Verga 2024-07-02 07:08:49 UTC
`/usr/bin/oodraw` is just a shortcut to `libreoffice --draw`. LO is not supposed to be splitted out in its components, what we do in Fedora is a little awkward.

I think the simplest solution is to just make libreoffice-draw package require libreoffice-impress. Another one would be to move `%{baseinstdir}/share/config/soffice.cfg/simpress/styles.xml` to libreoffice-core, but then we would need to move `%dir %{baseinstdir}/share/config/soffice.cfg/simpress` to -core also.

Comment 6 David Tardon 2024-07-02 12:26:41 UTC
(In reply to Mattia Verga from comment #5)
> I think the simplest solution is to just make libreoffice-draw package
> require libreoffice-impress.

At that point you may just as well merge them into a single subpackage.

> Another one would be to move
> `%{baseinstdir}/share/config/soffice.cfg/simpress/styles.xml` to
> libreoffice-core, but then we would need to move `%dir
> %{baseinstdir}/share/config/soffice.cfg/simpress` to -core also.

That's the approach we always took previously, i.e., whenever some files were needed by more than one subpackage, we moved them into -core. IOW, -core is the main libreoffice subpackage--the application subpackages only contain stuff that's absolutely app-specific. And not even all of that, e.g., templates or UI config. files are all in -core.

Comment 7 Mattia Verga 2024-07-02 17:00:03 UTC
I've found that also -ogltrans put some one file under `%{baseinstdir}/share/config/soffice.cfg/simpress` so in https://src.fedoraproject.org/rpms/libreoffice/pull-request/31 I've moved the directory and those two files under -core.

Comment 8 Fedora Update System 2024-07-12 00:45:43 UTC
FEDORA-2024-7191b53bc8 (libreoffice-24.2.5.2-1.fc41) has been submitted as an update to Fedora 41.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-7191b53bc8

Comment 9 Fedora Update System 2024-07-12 04:06:25 UTC
FEDORA-2024-7191b53bc8 (libreoffice-24.2.5.2-1.fc41) has been pushed to the Fedora 41 stable repository.
If problem still persists, please make note of it in this bug report.