Package: unoconv
Version: 0.9.0-0sero1
Severity: important

Dear Maintainer,

pyuno in LibreOffice 26.2 has removed unohelper.absolutize in favor of
uno.absolutize to avoid duplication.
https://opengrok.libreoffice.org/history/core/pyuno/source/module/unohelper.py

unoconv makes use of unohelper.absolutize, which leads to a crash with

File "/usr/bin/unoconv", line 1003, in convert
        inputurl = unohelper.absolutize(self.cwd, 
unohelper.systemPathToFileUrl(inputfn))
                   ^^^^^^^^^^^^^^^^^^^^
    AttributeError: module 'unohelper' has no attribute 'absolutize'

This bug is also discussed here:
https://ask.libreoffice.org/t/is-this-unoconv-issue-a-regression-in-libreoffice/131807

Patch against unoconv 0.9.0 (not currently in Debian):

Description: Use uno.absolutize instead of unohelper.absolutize
 pyuno in LibreOffice 26.2 dropped unohelp.absolutize in favor of uno.absolutize
 to avoid duplication.
Author: Sergey Romanov <[email protected]>
Forwarded: not-needed
Last-Update: 2026-08-03
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/unoconv
+++ b/unoconv
@@ -1000,7 +1000,7 @@
                 inputurl = 'private:stream'
             else:
                 if os.path.exists(inputfn):
-                    inputurl = unohelper.absolutize(self.cwd, 
unohelper.systemPathToFileUrl(inputfn))
+                    inputurl = uno.absolutize(self.cwd, 
unohelper.systemPathToFileUrl(inputfn))
                 else:
                     inputurl = inputfn
             document = self.desktop.loadComponentFromURL( inputurl , "_blank", 
0, inputprops )
@@ -1014,7 +1014,7 @@
                 if os.path.exists(op.template):
                     info(1, "Template file: %s" % op.template)
                     templateprops = UnoProps(OverwriteStyles=True)
-                    templateurl = unohelper.absolutize(self.cwd, 
unohelper.systemPathToFileUrl(op.template))
+                    templateurl = uno.absolutize(self.cwd, 
unohelper.systemPathToFileUrl(op.template))
                     document.StyleFamilies.loadStylesFromURL(templateurl, 
templateprops)
                 else:
                     print('unoconv: template file `%s\' does not exist.' % 
op.template, file=sys.stderr)
@@ -1157,7 +1157,7 @@
                 else:
                     outputfn = realpath(inbase + os.extsep + 
outputfmt.extension)

-                outputurl = unohelper.absolutize( self.cwd, 
unohelper.systemPathToFileUrl(outputfn) )
+                outputurl = uno.absolutize( self.cwd, 
unohelper.systemPathToFileUrl(outputfn) )

             info(1, "Output file: %s" % outputurl)

I've uploaded patched unoconv 0.9.0 source Debian package I'm currently using
here:
https://app.box.com/s/r34cbeunbnr3b9he71x0ogjbj9xb3isv

That version includes diverse changes apart from this patch, see
debian/changelog there.

BTW, unoconv is deprecated upstream in favor of unoserver:
https://github.com/unoconv/unoconv/commit/36f1435e8becf29e94b21e90339c32238ccb090b


I've made a preliminary package of unoserver as well. It can be found here:
https://app.box.com/s/mlmgk0w3wl7rxwfb8hn59kcfzym2u75f

However, unoserver doesn't provide all the features of unoconv as of yet.
Besides, they are quite different.

HTH,

Sergey Romanov

-- System Information:
Ubuntu Release: resolute
  APT prefers resolute-updates
  APT policy: (500, 'resolute-updates'), (500, 'resolute-security'), (500, 
'resolute')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 7.0.0-28-generic (SMP w/4 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages unoconv depends on:
ii  python3               3.14.3-0ubuntu2
ii  python3-looseversion  1.3.0-4
ii  python3-uno           4:26.2.4.2-0ubuntu0.26.04.2

Versions of packages unoconv recommends:
ii  libreoffice-calc     4:26.2.4.2-0ubuntu0.26.04.2
pn  libreoffice-draw     <none>
pn  libreoffice-impress  <none>
ii  libreoffice-writer   4:26.2.4.2-0ubuntu0.26.04.2

unoconv suggests no packages.

-- no debconf information

-- debsums errors found:
debsums: changed file /usr/bin/unoconv (from unoconv package)

Reply via email to