Summary: | app-office/libreoffice-7.2.5.2-r1 WebDAV broken | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Joe Breuer <gentoo> |
Component: | Current packages | Assignee: | Gentoo Office Team <office> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | bill, eric.chatellier, joost, sam |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=891903 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 835426 | ||
Attachments: |
Makeshift app-office/libreoffice-7.1.8.1 ebuild
fix myereconf in ebuild to build with working WebDAV support |
Description
Joe Breuer
2022-03-01 11:30:55 UTC
Rebuilding with USE="debug" has the desired effect, using SAL_LOG="+INFO+WARN-INFO.vcl.schedule-INFO.i18nlangtag-INFO.sal.osl.condition-INFO.vcl-INFO.drawinglayer" I see a lot of log output now. Not far to the culprit: info:ucb.ucp.gio:131336:131336:ucb/source/ucp/gio/gio_provider.cxx:36: QueryContent: https://hidden.host.name:443/alfresco/webdav/Sites/HIDDEN/documentLibrary/!HIDDEN/ info:ucb.ucp.gio:131336:131336:ucb/source/ucp/gio/gio_content.cxx:81: New Content ('https://hidden.host.name:443/alfresco/webdav/Sites/HIDDEN/documentLibrary/!HIDDEN/') info:ucb.ucp.gio:131336:131336:ucb/source/ucp/gio/gio_content.cxx:939: Content::execute open warn:ucb.ucp.gio:131336:131336:ucb/source/ucp/gio/gio_content.cxx:399: ignoring GError "HTTP Client Error: Unauthorized" for <https://hidden.host.name:443/alfresco/webdav/Sites/HIDDEN/documentLibrary/!HIDDEN/> warn:uui:131336:131336:uui/source/iahndl.cxx:237: replaceMessageWithArguments: No arguments passed! info:toolkit:131336:131336:toolkit/source/awt/vclxwindows.cxx:2279: XDialog created (some private information hidden) Upon getting the (perfectly normal) 401 Unauthorized when requesting without credentials, this version/build of libreoffice now errors out instead of asking for credentials (that was how it behaved up to and including 7.1.7.2). Instead, the nondescript error dialog "Nonexistent file." is shown immediately. Might be related to this libreoffice issue (affecting ssh, not WebDAV - but the problem of not asking for credentials seems related): https://bugs.documentfoundation.org/show_bug.cgi?id=144318 As a matter of form, I'll try building the (newest, masked) app-office/libreoffice-7.3.1.1-r1 and see if there's any change. A pity the (in this regard working) app-office/libreoffice-7.1.7.2 is no longer in the portage tree; but I see I can dig it out of the VCS repo - in case anyone else needs a quick workaround: https://gitweb.gentoo.org/repo/gentoo.git/plain/app-office/libreoffice/libreoffice-7.1.7.2.ebuild?id=e152db69c1b42f75290f1d046db7546f9504e2fe Just confirmed here: 7.3.1.1-r1 exhibits exactly the same bug / behavior as 7.2.5.2-r1. I've added an upstream bug as https://bugs.documentfoundation.org/show_bug.cgi?id=147716 Created attachment 766138 [details]
Makeshift app-office/libreoffice-7.1.8.1 ebuild
To have a working stop-gap solution, and seeing that the libreoffice-7.1.7.2 dist files are no longer trivially available, I bumped the libreoffice-7.1.7.2 ebuild to version 7.1.8.1, which builds from currently-available original sources.
In this version, WebDAV works as expected, and it'll probably do for me until a fix exists for newer versions.
My time and motivation permitting, I'll continue to have a stab at figuring out what exactly is going wrong in the newer versions.
I tried 7.3 (as requested in the Libreoffice bug report) and unfortunately, the issue also exists there. Just a "me too" ... thankyou for the workaround ebuild. I am using the apache webdav module with the same issues with libreoffice. BillK I've spent some time digging after / reproducing this issue, and so far it seems to be confined to gentoo - J. Roeleveld, I gather you're using gentoo as well, in which case consider my question on the other ticket answered. But I do have a new one - see at the end. WebDAV works correctly in version 7.2.6-1 under Arch, and also works correctly when using the official 7.2.5 AppImage of LibreOffice under gentoo - on the same system where the ebuild experiences the bug. Which points to a bug with the ebuild and/or somewhere in the dependencies rather than upstream. Still, it appears that starting with versions 7.2.x, SOMETHING changed; since 7.1.8.1 builds a working version on gentoo with the "usual", unmodified ebuild. Maybe something changed about the spelling/naming/interdependencies of the long list of options in myeconfargs. I'll have a stab at this "soon". @J. Roeleveld: Could you post the USE flags your libreoffice was built with, for example from the output of 'equery u libreoffice' (equery is part of app-portage/gentoolkit)? I actually am using the "default" USE-flags. My profile is set to: default/linux/amd64/17.1/desktop/plasma I have currently masked libreoffice 7.2.5.2-r1 equery output: # equery u libreoffice [ Legend : U - final flag setting for installation] [ : I - package is installed with flag ] [ Colors : set, unset ] * Found these USE flags for app-office/libreoffice-7.1.8.1: U I - - accessibility : Add support for accessibility (eg 'at-spi' library) + + bluetooth : Enable Bluetooth Support + + branding : Enable Gentoo specific branding - - clang : <unknown> + + cups : Add support for CUPS (Common Unix Printing System) - - custom-cflags : Build with user-specified CFLAGS (unsupported) + + dbus : Enable dbus support for anything that needs it (gpsd, gnomemeeting, etc) - - debug : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces - - eds : Enable support for Evolution-Data-Server (EDS) - - googledrive : <unknown> - - gstreamer : Add support for media-libs/gstreamer (Streaming media) + + gtk : Add support for x11-libs/gtk+ (The GIMP Toolkit) - - java : Add support for Java + + kde : Add support for software made by KDE, a free software community - - ldap : Add LDAP support (Lightweight Directory Access Protocol) - - libreoffice_extensions_nlpsolver : LIBREOFFICE_EXTENSIONS option to build non-linear solver for calc - - libreoffice_extensions_scripting-beanshell : LIBREOFFICE_EXTENSIONS option to build beanshell scripts parser - - libreoffice_extensions_scripting-javascript : LIBREOFFICE_EXTENSIONS option to build javascript scripts parser - - libreoffice_extensions_wiki-publisher : LIBREOFFICE_EXTENSIONS option to build mediawiki integration - - mariadb : <unknown> - - odk : <unknown> - - pdfimport : <unknown> - - postgres : Add support for the postgresql database - - python_single_target_python3_10 : Build for Python 3.10 only - - python_single_target_python3_8 : Build for Python 3.8 only + + python_single_target_python3_9 : Build for Python 3.9 only - - test : Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently) - - vulkan : <unknown> Compiling libreoffice takes a while and I am very dependent on webdav functioning, so not too keen on installing the non-working version. If you know how to extract the same info from a binary package, I can provide that as well. (In reply to J. Roeleveld from comment #8) > I actually am using the "default" USE-flags. > > My profile is set to: > default/linux/amd64/17.1/desktop/plasma > > I have currently masked libreoffice 7.2.5.2-r1 > > equery output: > > # equery u libreoffice > [...] Thank you so much for your information! To have it all in one place: I'm also on default/linux/amd64/17.1/desktop/plasma In general, I have quite a few adjusted USE flags, but not too many of those affect libreoffice. I've added a first column 'D' (delta) below; 'o' means "same as J. Roeleveld, 'x' means "different": * Found these USE flags for app-office/libreoffice-7.2.5.2-r1: [here, the I column refers to my currently installed 7.1.8.1] D U I o - - accessibility o + + bluetooth o + + branding o - - clang o + + cups o - - custom-cflags o + + dbus o - - debug o - - eds o - - googledrive o - - gstreamer o + + gtk x + + java o + + kde o - - ldap o - - libreoffice_extensions_nlpsolver o - - libreoffice_extensions_scripting-beanshell o - - libreoffice_extensions_scripting-javascript o - - libreoffice_extensions_wiki-publisher x + - mariadb o - - odk x + - pdfimport o - - postgres o - - python_single_target_python3_10 o - - python_single_target_python3_8 o + + python_single_target_python3_9 o - - test x + + vulkan > + + kde On a hunch, I'd rebuilt libreoffice-7.2.5.2 with USE="-kde", but this makes no difference to this bug. > - - java > - - mariadb > - - pdfimport Those should, by rights, have nothing at all to do with WebDAV. > Compiling libreoffice takes a while and I am very dependent on webdav > functioning, so not too keen on installing the non-working version. If you > know how to extract the same info from a binary package, I can provide that > as well. I fully understand that, and I feel that pain, too. Here is some documentation on how to get at the USE flags from a binary package: https://wiki.gentoo.org/wiki/Binary_package_guide#Understanding_the_binary_package_format so, something like this: $ cd /tmp or any other suitable scratch directory $ qtbz2 -s /path/to/gentoo/packages/app-office/libreoffice-7.2.5.2-r1.tbz2 /path/to/gentoo/packages defaults to /var/cache/binpkgs on newer installs, /usr/portage/packages on older installs, and you can always see the value using: emerge --info | grep PKGDIR $ qxpak -x libreoffice-7.2.5.2-r1.xpak USE $ cat USE to get a simple, space-separated list of all USE flags that were relevant to this binary package. I'd be glad to have them, but it's not super important/required, if this is a hassle to you. Storage isn't a problem and this is less then 1 minute of work :) $ cat USE abi_x86_64 amd64 bluetooth branding cups dbus elibc_glibc gtk kde kernel_linux python_single_target_python3_9 userland_GNU I did a quick comparison in ebuilds, and the newer versions (7.2.x and later) all have " --with-webdav " in them (but no USE-flag to affect it). Previous ones did not. For the "-9999" version, this was added on 2021-10-31. Would like to know which "configure" options are used for the binary builds that you found don't show this issue. Then we can compare that with what the ebuild does? Any chance you can extract those? With a list like that, I'm willing to waste a weekend recompiling to see which it might be as I feel it must be something like that. Or one of the patch-files, but those don't seem to do anything, apart from the kf-5.91 patch, but that might just be to have it work with a more recent kde-filewidget? Created attachment 770120 [details, diff] fix myereconf in ebuild to build with working WebDAV support J. Roeleveld and me have tracked down the issue, further information over in the corresponding LibreOffice ticket: https://bugs.documentfoundation.org/show_bug.cgi?id=147716 At this point, I believe the correct is simply to configure with --with-webdav=neon instead of --with-webdav I don't think a specific webdav USE flag is warranted, since neon was listed as a hard dependency before already anyway; and I cannot say if it is a good or useful idea to try to build without it - considering that LibreOffice will build but break run-time with a cryptic error message (instead of, for example, disabling the UI for the disabled functionality/dependency). I am unsure whether this fix warrants a revision bump - without the bump, the fix is silent and users bitten by the bug have to find this or recompile opportunistically - quite time-consuming in the case of LO. With the bump, everyone gets the fix but also everyone gets to rebuild, even if they're not using WebDAV at all. Oh, and I've confirmed that the current package of app-office/libreoffice-bin-7.2.5.2 also does not have working WebDAV, so it should also be fixed/rebuilt/... I don't know the details of how this bin package gets created. One more nugget to add here, we need to test 7.3 + seperately, as "neon" is supposedly being replaced with "curl": https://docs.libreoffice.org/ucb.html Quote: Historically, webdav had two ucps, one based on neon, the second one based on serf. Both are superseded by the current libcurl implementation (since LibreOffice 7.3) I just tested 7.2.6.2 with [ --with-webdav ] changed to [ --with-webdav="neon" ] and webdav works for me. Not done any other tests yet. (In reply to J. Roeleveld from comment #15) > I just tested 7.2.6.2 with [ --with-webdav ] changed to [ > --with-webdav="neon" ] and webdav works for me. > > Not done any other tests yet. The confusing part is: AC_ARG_WITH(webdav, AS_HELP_STRING([--with-webdav], [Specify which library to use for webdav implementation. Possible values: "neon", "serf", "no". The default value is "neon". Example: --with-webdav="serf"])) And this seems to be valid too from the usage. The only time it wouldn't be is with --enable-mpl-subset (which makes it call back to serf). I also don't see this changing any time recently. Hm. (In reply to Sam James from comment #16) > (In reply to J. Roeleveld from comment #15) > > I just tested 7.2.6.2 with [ --with-webdav ] changed to [ > > --with-webdav="neon" ] and webdav works for me. > > > > Not done any other tests yet. > > The confusing part is: > > AC_ARG_WITH(webdav, > AS_HELP_STRING([--with-webdav], > [Specify which library to use for webdav implementation. > Possible values: "neon", "serf", "no". The default value is "neon". > Example: --with-webdav="serf"])) > > And this seems to be valid too from the usage. The only time it wouldn't be > is with --enable-mpl-subset (which makes it call back to serf). > > I also don't see this changing any time recently. Hm. Apparently, the ebuild did change semi-recently, on 2022-10-31: https://bugs.documentfoundation.org/show_bug.cgi?id=147716#c14 https://gitlab.com/gentoo/gentoo/-/commit/c89c50467244be3f24d015c832c6d8a3efa8dfc4 Here, --enable-neon is dropped and --with-webdav is introduced. It would make sense that this change in libreoffice-9999 would have percolated over to the stabilized version about now. The last ebuilds of 7.1.x where WebDAV was still working out of the box have --enable-neon, and no mention of webdav at all. I agree that the behavior of the LO build from upstream is "peculiar" and does not match the expectations one would have from the flag description. Same as J. Roeleveld, I now have working WebDAV with the attached change. The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f1cd1c6fcdf419953be361fbff12391dbe695d0d commit f1cd1c6fcdf419953be361fbff12391dbe695d0d Author: Sam James <sam@gentoo.org> AuthorDate: 2022-04-12 23:48:03 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-04-12 23:48:53 +0000 app-office/libreoffice: fix --with-webdav option (runtime problems) Not clear how this actually deviates from the default but multiple people report this fixing the issue for them. Closes: https://bugs.gentoo.org/834438 Acked-by: Andreas K. Hüttel <dilfridge@gentoo.org> Signed-off-by: Sam James <sam@gentoo.org> .../{libreoffice-7.2.6.2.ebuild => libreoffice-7.2.6.2-r1.ebuild} | 2 +- .../{libreoffice-7.3.2.2.ebuild => libreoffice-7.3.2.2-r1.ebuild} | 2 +- app-office/libreoffice/libreoffice-7.3.9999.ebuild | 2 +- app-office/libreoffice/libreoffice-9999.ebuild | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) (In reply to Joe Breuer from comment #17) > (In reply to Sam James from comment #16) > > (In reply to J. Roeleveld from comment #15) > > > I just tested 7.2.6.2 with [ --with-webdav ] changed to [ > > > --with-webdav="neon" ] and webdav works for me. > > > > > > Not done any other tests yet. > > > > The confusing part is: > > > > AC_ARG_WITH(webdav, > > AS_HELP_STRING([--with-webdav], > > [Specify which library to use for webdav implementation. > > Possible values: "neon", "serf", "no". The default value is "neon". > > Example: --with-webdav="serf"])) > > > > And this seems to be valid too from the usage. The only time it wouldn't be > > is with --enable-mpl-subset (which makes it call back to serf). > > > > I also don't see this changing any time recently. Hm. > > Apparently, the ebuild did change semi-recently, on 2022-10-31: > That makes sense for "why it started breaking now" but still odd that I don't see what teh bug is yet. But oh well. Please try the new revision. (In reply to Joe Breuer from comment #17) > It would make sense that this change in libreoffice-9999 would have > percolated over to the stabilized version about now. The last ebuilds of > 7.1.x where WebDAV was still working out of the box have --enable-neon, and > no mention of webdav at all. 7.2 was branched way before in June 2021, and 7.3 only very shortly after that particular commit. (In reply to Sam James from comment #19) > (In reply to Joe Breuer from comment #17) > > (In reply to Sam James from comment #16) > > > (In reply to J. Roeleveld from comment #15) > > > > I just tested 7.2.6.2 with [ --with-webdav ] changed to [ > > > > --with-webdav="neon" ] and webdav works for me. > > > > > > > > Not done any other tests yet. > > > > > > The confusing part is: > > > > > > AC_ARG_WITH(webdav, > > > AS_HELP_STRING([--with-webdav], > > > [Specify which library to use for webdav implementation. > > > Possible values: "neon", "serf", "no". The default value is "neon". > > > Example: --with-webdav="serf"])) > > > > > > And this seems to be valid too from the usage. The only time it wouldn't be > > > is with --enable-mpl-subset (which makes it call back to serf). > > > > > > I also don't see this changing any time recently. Hm. > > > > Apparently, the ebuild did change semi-recently, on 2022-10-31: > > > > That makes sense for "why it started breaking now" but still odd that I > don't see what teh bug is yet. But oh well. At least, it's clear and visible from the configure output, see: https://bugs.documentfoundation.org/show_bug.cgi?id=147716#c12 configure will output either: checking for webdav library... neon or: checking for webdav library... none, disabled It does the latter when just '--with-webdav' is used. <shrug> I do agree that the check in LO appears broken, but I wouldn't know where to start looking into this. autoconf, for all the great things it does, is a can of worms to me. > Please try the new revision. WebDAV in libreoffice-7.2.6.2-r1 now works as expected. For completeness' sake, I'll also verify with 7.3.2.2-r1. Thank you for getting this fix into the tree! I just had an "epiphany of the staircase" how that config option doc comment could be interpreted: --with-webdav is *only* concerned with WHICH library to use for WebDAV; NOT with enabling/disabling WebDAV per se at all. So, --with-webdav=neon will choose neon, --with-webdav=serf will choose serf (presumably), and, as we can see: just --with-webdav 'resolves' to --with-webdav="" => no WebDAV library for you. It certainly could be less confusing, but at least it makes some sense this way. As expected, WebDAV now also works in app-office/libreoffice-7.3.2.2-r1. Thanks everyone, that's great! For app-office/libreoffice-9999 this was fixed upstream with https://github.com/LibreOffice/core/commit/2177f48b16b8cd68c0ef4ec817ca391f28324418 "Simplify --with-webdav ...to just be yes/no, now that curl is the only remaining implementation option. (A drawback of the existing code was that it silently treated --with-webdav or --with-webav=neon etc. the same as --without-webdav.)" Please revert the change in app-office/libreoffice-9999 ebuild. Could somebody inform the people on the upstream bug? The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d337da8cae2c579cc96068de531d0f7c3613f79 commit 2d337da8cae2c579cc96068de531d0f7c3613f79 Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2023-03-02 19:21:05 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2023-03-02 19:27:13 +0000 app-office/libreoffice: Drop obsolete dependency and configure flag Upstream commits: 023ebf17898db4bca63129f079fd90b5cf76c1a9 (ucb: remove --with-webdav=neon) df9cbdd22658131b881e6527467c8e2a2dd36c70 (Drop remnants of --with-webdav=neon) 2177f48b16b8cd68c0ef4ec817ca391f28324418 (Simplify --with-webdav) Bug: https://bugs.gentoo.org/891903 Bug: https://bugs.gentoo.org/834438 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> app-office/libreoffice/libreoffice-7.4.9999.ebuild | 2 -- app-office/libreoffice/libreoffice-7.5.1.2.ebuild | 2 -- app-office/libreoffice/libreoffice-7.5.9999.ebuild | 2 -- app-office/libreoffice/libreoffice-9999.ebuild | 2 -- 4 files changed, 8 deletions(-) |