Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 834438 - app-office/libreoffice-7.2.5.2-r1 WebDAV broken
Summary: app-office/libreoffice-7.2.5.2-r1 WebDAV broken
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Office Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 835426
  Show dependency tree
 
Reported: 2022-03-01 11:30 UTC by Joe Breuer
Modified: 2023-03-02 19:27 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Makeshift app-office/libreoffice-7.1.8.1 ebuild (libreoffice-7.1.8.1.tar.gz,46.04 KB, application/octet-stream)
2022-03-02 08:10 UTC, Joe Breuer
Details
fix myereconf in ebuild to build with working WebDAV support (libreoffice-7.2.5.2-r1-WebDAV.patch,372 bytes, patch)
2022-04-11 14:06 UTC, Joe Breuer
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Joe Breuer 2022-03-01 11:30:55 UTC
I'm using app-office/libreoffice to edit documents residing on an Alfresco server, accessing those via WebDAV (WebDAVs / https / SSL).

After upgrading from 7.1.7.2 to now-current 7.2.5.2-r1, WebDAV access no longer works - choosing the remote service (or trying to add a new one) in LibreOffice's "Open Remote File..." dialog will give an "Nonexistent file." error. Nothing is logged to the console. It is not possible to open any WebDAV resources either from the "Open Remote" menu item, nor from the recent documents items.

This happens with all WebDAV Services / URLs I have configured / access to; KDE's Dolphin accesses those WebDAV locations without any issues.

Running libreoffice with SAL_LOG="+INFO+WARN" does not produce any output, I guess this needs USE="debug" enabled - I'm rebuilding libreoffice right now with the debug USE flag enabled, in the hopes of getting some logging out of it.


My emerge --info:

Portage 3.0.30 (python 3.9.9-final-0, default/linux/amd64/17.1/desktop/plasma/systemd, gcc-11.2.0, glibc-2.33-r7, 5.15.23-gentoo x86_64)
=================================================================
System uname: Linux-5.15.23-gentoo-x86_64-Intel-R-_Core-TM-_i7-6700HQ_CPU_@_2.60GHz-with-glibc2.33
KiB Mem:    16171764 total,   1854412 free
KiB Swap:   16777212 total,  16777212 free
Timestamp of repository gentoo: Mon, 28 Feb 2022 06:45:01 +0000
Head commit of repository gentoo: 15bc432d8976bacc019a08fc483f98ee7b94adfe
sh bash 5.1_p16
ld GNU ld (Gentoo 2.37_p1 p2) 2.37
distcc 3.4 x86_64-pc-linux-gnu [disabled]
ccache version 4.5.1 [disabled]
app-misc/pax-utils:        1.3.3::gentoo
app-shells/bash:           5.1_p16::gentoo
dev-java/java-config:      2.3.1::gentoo
dev-lang/perl:             5.34.0-r6::gentoo
dev-lang/python:           2.7.18_p13::gentoo, 3.9.9-r1::gentoo, 3.10.0_p1-r1::gentoo
dev-lang/rust:             1.58.1::gentoo
dev-util/ccache:           4.5.1::gentoo
dev-util/cmake:            3.22.2::gentoo
dev-util/meson:            0.60.3::gentoo
sys-apps/baselayout:       2.7-r3::gentoo
sys-apps/sandbox:          2.25::gentoo
sys-apps/systemd:          249.9::gentoo
sys-devel/autoconf:        2.13-r1::gentoo, 2.71-r1::gentoo
sys-devel/automake:        1.16.4::gentoo
sys-devel/binutils:        2.37_p1-r2::gentoo
sys-devel/binutils-config: 5.4::gentoo
sys-devel/clang:           13.0.0::gentoo
sys-devel/gcc:             11.2.0::gentoo
sys-devel/gcc-config:      2.5-r1::gentoo
sys-devel/libtool:         2.4.6-r6::gentoo
sys-devel/lld:             13.0.0::gentoo
sys-devel/llvm:            13.0.0::gentoo
sys-devel/make:            4.3::gentoo
sys-kernel/linux-headers:  5.15-r3::gentoo (virtual/os-headers)
sys-libs/glibc:            2.33-r7::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.de.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-max-age: 24
    sync-rsync-verify-jobs: 1
    sync-rsync-extra-opts: 

LOCAL
    location: /usr/local/portage
    masters: gentoo
    priority: 0

fortunelay
    location: /var/lib/layman/fortunelay
    sync-type: laymansync
    sync-uri: https://github.com/Alessandro-Barbieri/fortunelay.git
    masters: gentoo
    priority: 50

gentoo-zh
    location: /var/lib/layman/gentoo-zh
    masters: gentoo
    priority: 50

jmbreuer
    location: /var/lib/layman/jmbreuer
    masters: gentoo
    priority: 50

seden
    location: /var/lib/layman/seden
    masters: gentoo
    priority: 50

steam-overlay
    location: /var/lib/layman/steam-overlay
    masters: gentoo
    priority: 50

tlp
    location: /var/lib/layman/tlp
    masters: gentoo
    priority: 50

torbrowser
    location: /var/lib/layman/torbrowser
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=skylake -mtune=skylake -O2 -pipe -momit-leaf-frame-pointer"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/easy-rsa /usr/share/gnupg/qualified.txt /usr/share/sddm/scripts"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php8.0/ext-active/ /etc/php/cgi-php8.0/ext-active/ /etc/php/cli-php8.0/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /usr/share/X11/xkb"
CXXFLAGS="-march=skylake -mtune=skylake -O2 -pipe -momit-leaf-frame-pointer"
DISTDIR="/mnt/data/Archive/linux/gentoo/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=y --jobs=12 --load-average=6"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirror.netcologne.de/gentoo/ http://ftp.halifax.rwth-aachen.de/gentoo/ http://ftp.fau.de/gentoo http://mirror.eu.oneandone.net/linux/distributions/gentoo/gentoo/"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="en de"
MAKEOPTS="-j9 -l6"
PKGDIR="/mnt/data/Archive/linux/gentoo/packages/x64cd"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
SHELL="/bin/zsh"
USE="X Xaw3d a52 aac acl acpi activities alsa amd64 apache2 bluetooth bluray branding bzip2 cairo cdda cdr cjk cli crypt css cups curl cvs dbus declarative dga dri dts dv dvd dvdr emacs encode epub exif fame fastcgi ffmpeg flac flash fontconfig foomaticdb fortran fuse gcj gd gdbm gif glitz glut gphoto2 gpm gtk gui ibus iconv icu ieee1394 imap imlib innodb ipv6 jack java jce joystick jpeg kde kerberos kpathsea kwallet lame lcms leim libgda libglvnd libnotify libsamplerate libtirpc lzo mad matroska mbox mjpeg mng modplug mono motif mozilla mp3 mp4 mpeg mplayer mtp mule multilib ncurses network network-cron networkmanager nls nptl nsplugin ntfs offensive ogg openal openexr opengl openmp opus pam pango pcap pcmcia pcre pda pdf plasma plotutils png policykit postscript ppds pulseaudio qml qt5 readline real rtsp samba scanner sdl seccomp semantic-desktop sensord slang slp smartcard sound spell split-usr sqlite ssl startup-notification stream subversion svg systemd theora threads tiff truetype trusted udev udisks unicode unwind upower usb v4l v4l2 vaapi vdpau vhosts vim-syntax vlm vorbis vpx webdav webp widgets wifi wmf wxwidgets x264 xanim xattr xcb xcomposite xft xinerama xml xscreensaver xv xvid xvmc zeroconf zlib zsh-completion" ABI_X86="64 32" ADA_TARGET="gnat_2020" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev synaptics" KERNEL="linux" L10N="en de" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-4 php8-0" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_9" PYTHON_TARGETS="python3_9" RUBY_TARGETS="ruby26 ruby27" SANE_BACKENDS="net" USERLAND="GNU" VIDEO_CARDS="intel i965 nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LEX, LFLAGS, LIBTOOL, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
Comment 1 Joe Breuer 2022-03-01 14:33:42 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
Comment 2 Joe Breuer 2022-03-01 19:00:10 UTC
Just confirmed here: 7.3.1.1-r1 exhibits exactly the same bug / behavior as 7.2.5.2-r1.
Comment 3 Joe Breuer 2022-03-01 19:17:34 UTC
I've added an upstream bug as https://bugs.documentfoundation.org/show_bug.cgi?id=147716
Comment 4 Joe Breuer 2022-03-02 08:10:32 UTC
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.
Comment 5 J. Roeleveld 2022-03-02 09:26:46 UTC
I tried 7.3 (as requested in the Libreoffice bug report) and unfortunately, the issue also exists there.
Comment 6 Bill Kenworthy 2022-03-15 00:49:26 UTC
Just a "me too" ... thankyou for the workaround ebuild.

I am using the apache webdav module with the same issues with libreoffice.

BillK
Comment 7 Joe Breuer 2022-04-07 20:10:49 UTC
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)?
Comment 8 J. Roeleveld 2022-04-08 07:00:26 UTC
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.
Comment 9 Joe Breuer 2022-04-08 12:16:52 UTC
(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.
Comment 10 J. Roeleveld 2022-04-08 13:30:39 UTC
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.
Comment 11 J. Roeleveld 2022-04-08 13:38:53 UTC
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?
Comment 12 Joe Breuer 2022-04-11 14:06:51 UTC
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.
Comment 13 Joe Breuer 2022-04-11 14:20:54 UTC
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.
Comment 14 J. Roeleveld 2022-04-11 15:29:34 UTC
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)
Comment 15 J. Roeleveld 2022-04-12 04:42:51 UTC
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.
Comment 16 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-04-12 04:51:06 UTC
(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.
Comment 17 Joe Breuer 2022-04-12 09:24:39 UTC
(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.
Comment 18 Larry the Git Cow gentoo-dev 2022-04-12 23:49:02 UTC
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(-)
Comment 19 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-04-12 23:51:37 UTC
(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.
Comment 20 Andreas Sturmlechner gentoo-dev 2022-04-13 07:37:36 UTC
(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.
Comment 21 Joe Breuer 2022-04-14 05:44:24 UTC
(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!
Comment 22 Joe Breuer 2022-04-14 05:49:11 UTC
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.
Comment 23 Joe Breuer 2022-04-14 19:56:18 UTC
As expected, WebDAV now also works in app-office/libreoffice-7.3.2.2-r1.

Thanks everyone, that's great!
Comment 24 jospezial 2022-05-02 06:14:42 UTC
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?
Comment 25 Larry the Git Cow gentoo-dev 2023-03-02 19:27:24 UTC
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(-)