retitle 867209 libreoffice: Letter wizard can't find wizard templates when Wiki Publisher installed thanks
thanks Hi, I did a strace now. Seeing some very much ENOENT etc. for __pycache__ which clobber the output but are expected (no cache, no permission to write there( I stumbled upon 6636 access("/usr/lib/libreoffice/program/../share/extensions/wiki-publisher/templates/wizard", F_OK) = -1 ENOENT (No such file or directory) 6636 access("/usr/lib/libreoffice/program/../share/extensions/wiki-publisher/templates/wizard", F_OK) = -1 ENOENT (No such file or directory) 6636 clone(child_stack=0x7efdfa91cc30, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x7efdfa91d9d0, tls=0x7efdfa91d700, child_tidptr=0x7efdfa91d9d0) = 6667 6636 futex(0x560e1f5a178c, FUTEX_WAIT_PRIVATE, 1, NULL <unfinished ...> 6667 set_robust_list(0x7efdfa91d9e0, 24) = 0 6667 futex(0x560e1f5a178c, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x560e1f5a1788, FUTEX_OP_SET<<28|0<<12|FUTEX_OP_CMP_GT<<24|0x1 <unfinished ...> [...] 6636 futex(0x560e1f5a178c, FUTEX_WAKE_OP_PRIVATE, 1, 1, 0x560e1f5a1788, FUTEX_OP_SET<<28|0<<12|FUTEX_OP_CMP_GT<<24|0x1) = 0 6636 stat("/usr/lib/libreoffice/program/wizards/letter/LetterWizardDialogImpl.py", {st_mode=S_IFREG|0644, st_size=42582, ...}) = 0 6636 open("/usr/lib/libreoffice/program/wizards/letter/LetterWizardDialogImpl.py", O_RDONLY|O_CLOEXEC) = 52 6636 fstat(52, {st_mode=S_IFREG|0644, st_size=42582, ...}) = 0 6636 ioctl(52, TCGETS, 0x7ffe67d954c0) = -1 ENOTTY (Inappropriate ioctl for device) 6636 lseek(52, 0, SEEK_CUR) = 0 6636 read(52, "#\n# This file is part of the Lib"..., 4096) = 4096 6636 lseek(52, 0, SEEK_CUR) = 4096 6636 read(52, "lf.myConfig.cp_PrivateOfficialLe"..., 8192) = 8192 6636 read(52, "(self):\n self.xDialogMode"..., 8192) = 8192 6636 read(52, "rCompanyAddress.State != 0:\n "..., 8192) = 8192 6636 read(52, " self.xDialogModel.tx"..., 8192) = 8192 6636 read(52, " UnoDataAware.attachL"..., 8192) = 5718 6636 read(52, "", 8192) = 0 6636 close(52) = 0 6636 stat("/usr/lib/libreoffice/program/wizards/ui/WizardDialog.py", {st_mode=S_IFREG|0644, st_size=18866, ...}) = 0 6636 open("/usr/lib/libreoffice/program/wizards/ui/WizardDialog.py", O_RDONLY|O_CLOEXEC) = 52 6636 fstat(52, {st_mode=S_IFREG|0644, st_size=18866, ...}) = 0 6636 ioctl(52, TCGETS, 0x7ffe67d954c0) = -1 ENOTTY (Inappropriate ioctl for device) 6636 lseek(52, 0, SEEK_CUR) = 0 6636 read(52, "#\n# This file is part of the Lib"..., 4096) = 4096 6636 lseek(52, 0, SEEK_CUR) = 4096 6636 read(52, " self.oRoadmap.CurrentItemID = I"..., 8192) = 8192 6636 read(52, " (True, iButtonHeight, "..., 8192) = 6578 6636 read(52, "", 8192) = 0 6636 close(52) = 0 6636 write(2, "Traceback (most recent call last"..., 35) = 35 6636 write(2, " File \"/usr/lib/libreoffice/pro"..., 131) = 131 6636 write(2, " File \"/usr/lib/libreoffice/pro"..., 150) = 150 6636 write(2, "Exception: could not find wizard"..., 43) = 43 Which prints the message. Upstream didn't ship this either: rene@frodo:~/Downloads/LibreOfficeDev_5.4.0.0.beta2_Linux_x86-64_deb/DEBS$ dpkg --contents lodevbasis5.4-extension-mediawiki-publisher_5.4.0.0.beta2-1_amd64.deb | grep template drwxr-xr-x root/root 0 2017-06-07 19:33 ./opt/libreofficedev5.4/share/extensions/wiki-publisher/templates/ drwxr-xr-x root/root 0 2017-06-07 19:33 ./opt/libreofficedev5.4/share/extensions/wiki-publisher/templates/MediaWiki/ -rw-r--r-- root/root 6304 2017-06-07 19:33 ./opt/libreofficedev5.4/share/extensions/wiki-publisher/templates/MediaWiki/mediawiki.ott rene@frodo:~/Downloads/LibreOfficeDev_5.4.0.0.beta2_Linux_x86-64_deb/DEBS$ When I mkdir said path it breaks even more horribly: Traceback (most recent call last): File "/usr/lib/libreoffice/program/wizards/common/FileAccess.py", line 156, in getFolderTitles nameList = xInterface.getFolderContents(FolderName, False) wizards.common.FileAccess.com.sun.star.ucb.InteractiveAugmentedIOException: an error occurred during opening a directory Traceback (most recent call last): File "/usr/lib/libreoffice/program/wizards/common/FileAccess.py", line 156, in getFolderTitles nameList = xInterface.getFolderContents(FolderName, False) wizards.common.FileAccess.com.sun.star.ucb.InteractiveAugmentedIOException: an error occurred during opening a directory Traceback (most recent call last): File "/usr/lib/libreoffice/program/wizards/common/FileAccess.py", line 156, in getFolderTitles nameList = xInterface.getFolderContents(FolderName, False) wizards.common.FileAccess.com.sun.star.ucb.InteractiveAugmentedIOException: an error occurred during opening a directory Traceback (most recent call last): File "/usr/lib/libreoffice/program/wizards/letter/LetterWizardDialogImpl.py", line 96, in startWizard self.initializeTemplates(xMSF) File "/usr/lib/libreoffice/program/wizards/letter/LetterWizardDialogImpl.py", line 766, in initializeTemplates tuple(self.BusinessFiles[0]) IndexError: list index out of range After removing said dir again *AND* removing libreoffice-wiki-publisher the wizard starts for me... (Interestingly in a upstream installation it works even with lodevbasis5.4-extension-mediawiki-publisher installed)... Quick chat with upstream: 20:29 < mst_> _rene_: "/usr/lib/libreoffice/program/../share/extensions/wiki-publisher/templates/wizard" ? interesting ... it's possible that there is some list-of-paths setting for Templates and the wiki-publisher adds an entry there and the wizard only looks at the first path, not all of them 20:30 < _rene_> yes, but a) that doesn't happen in upstreams deb (dpkg -i *.deb so with wiki-publisher) 20:30 < _rene_> and b) mkdir'ing that dir makes it worse 20:32 < _rene_> but yeah, it does. for that templates/MediaWiki/mediawiki.ott 20:34 < _rene_> ah, sigh. have an idea That pushed me into the right direction, there is root@sid:/usr/lib/libreoffice/share/extensions/wiki-publisher# grep -ri template * | grep \.xc filter/math/entities.xsl: <xsl:when test="starts-with($content,'¡')"><xsl:value-of select="'\textexclamdown '" /><xsl:call-template name="replaceEntities"><xsl:with-param name="content" select="substring-after($content, '¡')"/></xsl:call-template></xsl:when> filter/math/tokens.xsl: <xsl:message>Exception at color template</xsl:message> filter/math/tokens.xsl: <xsl:message>Exception at Hex2Decimal template</xsl:message> Paths.xcu: <node oor:name="Template" oor:op="fuse"> Paths.xcu: <node oor:name="%origin%/templates" oor:op="fuse"/> WikiExtension.xcs: <templates> WikiExtension.xcs: </templates> 20:34 < _rene_> shrugs. that was it. 20:36 < _rene_> old patch cargo-culted over breaking it 20:36 < _rene_> (that patch fixed a bug once, though) 20:36 < _rene_> https://anonscm.debian.org/cgit/pkg-openoffice/libreoffice.git/tree/patches/mediwiki-oor-replace.diff?h=debian-experimental-5.4 20:36 < _rene_> for the Template, back replace -> fuse. works. (in Paths.xcu) So you could fix Paths.xcu until the next upload where it will be included... Regards, Rene