summaryrefslogtreecommitdiff
path: root/officecfg
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2013-12-10 12:29:11 +0100
committerStephan Bergmann <sbergman@redhat.com>2013-12-10 13:49:27 +0100
commitb224c9ebc3a9364b0ffc2a806db097ddb3d3086a (patch)
treeda65c124c30772d9f9364592c6d95d1bb0771f53 /officecfg
parent971feed68f01901ec7a09786b0a5147c660d52f4 (diff)
Get rid of $(share_subdir_name) again
Quoting 56211a166ab25d80de84c2cccce22be15a9be051 "fdo#72394 Don't endlessly expand $(share_subdir_name) into itself": * The compile-time variable LIBO_SHARE_FOLDER should not end up as a runtime framework path variable, esp. since accidentally re-substituting it for "share" segments in unrelated URLs like <file:///export/share/for-all> does not make sense. ac4e19f9085dbd0103c7336a5318aa1e55b3e3e0 "fdo#68552: Don't (attempt to) do run-time expansion of build-time parameters" had already attempted a fix for that, but it had to be reverted again with 791a8b96f754798192875da287c84f8cfa4e533e because it "Unfortunately does not work if BUILDDIR is different from SRCDIR." So this time fix it not via configure-expanded *.in files, but via xsltproc (for officecfg/registry/ files) and sed (for wizards/soruce/configshare files). The changes to officecfg/util/alllang.xsl will replace @LIBO_SHARE_FOLDER@ only in oor:name attribues (and in <value> text), not in any other attributes, because I have no idea how to write that generically in XSLT and it happens to be only needed in oor:name for now. Change-Id: Iec78eb70dcbf1a5bbabf4e42f21c44dc65c3e438 (cherry picked from commit 87dd1780a31de9ea1df70a8511c262ff252bf99a)
Diffstat (limited to 'officecfg')
-rw-r--r--officecfg/registry/data/org/openoffice/Office/Paths.xcu24
-rw-r--r--officecfg/registry/data/org/openoffice/Office/WebWizard.xcu4
-rw-r--r--officecfg/registry/schema/org/openoffice/Office/Common.xcs42
-rw-r--r--officecfg/util/alllang.xsl55
-rw-r--r--officecfg/util/schema_trim.xsl40
5 files changed, 123 insertions, 42 deletions
diff --git a/officecfg/registry/data/org/openoffice/Office/Paths.xcu b/officecfg/registry/data/org/openoffice/Office/Paths.xcu
index ace000205363..4b5ec7dd2f8f 100644
--- a/officecfg/registry/data/org/openoffice/Office/Paths.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/Paths.xcu
@@ -26,7 +26,7 @@
</node>
<node oor:name="AutoCorrect" oor:op="fuse" oor:mandatory="true">
<node oor:name="InternalPaths">
- <node oor:name="$(insturl)/$(share_subdir_name)/autocorr" oor:op="fuse"/>
+ <node oor:name="$(insturl)/@LIBO_SHARE_FOLDER@/autocorr" oor:op="fuse"/>
</node>
<prop oor:name="WritePath">
<value>$(userurl)/autocorr</value>
@@ -34,7 +34,7 @@
</node>
<node oor:name="AutoText" oor:op="fuse" oor:mandatory="true">
<node oor:name="InternalPaths">
- <node oor:name="$(insturl)/$(share_subdir_name)/autotext/$(vlang)" oor:op="fuse"/>
+ <node oor:name="$(insturl)/@LIBO_SHARE_FOLDER@/autotext/$(vlang)" oor:op="fuse"/>
</node>
<prop oor:name="WritePath">
<value>$(userurl)/autotext</value>
@@ -52,7 +52,7 @@
</node>
<node oor:name="Basic" oor:op="fuse" oor:mandatory="true">
<node oor:name="InternalPaths">
- <node oor:name="$(insturl)/$(share_subdir_name)/basic" oor:op="fuse"/>
+ <node oor:name="$(insturl)/@LIBO_SHARE_FOLDER@/basic" oor:op="fuse"/>
</node>
<prop oor:name="WritePath">
<value>$(userurl)/basic</value>
@@ -60,12 +60,12 @@
</node>
<node oor:name="Bitmap" oor:op="fuse" oor:mandatory="true">
<node oor:name="InternalPaths">
- <node oor:name="$(insturl)/$(share_subdir_name)/config/symbol" oor:op="fuse"/>
+ <node oor:name="$(insturl)/@LIBO_SHARE_FOLDER@/config/symbol" oor:op="fuse"/>
</node>
</node>
<node oor:name="Config" oor:op="fuse" oor:mandatory="true">
<node oor:name="InternalPaths">
- <node oor:name="$(insturl)/$(share_subdir_name)/config" oor:op="fuse"/>
+ <node oor:name="$(insturl)/@LIBO_SHARE_FOLDER@/config" oor:op="fuse"/>
</node>
</node>
<node oor:name="Favorite" oor:op="fuse" oor:mandatory="true">
@@ -80,7 +80,7 @@
</node>
<node oor:name="Gallery" oor:op="fuse" oor:mandatory="true">
<node oor:name="InternalPaths">
- <node oor:name="$(insturl)/$(share_subdir_name)/gallery" oor:op="fuse"/>
+ <node oor:name="$(insturl)/@LIBO_SHARE_FOLDER@/gallery" oor:op="fuse"/>
</node>
<prop oor:name="WritePath">
<value>$(userurl)/gallery</value>
@@ -103,8 +103,8 @@
</node>
<node oor:name="Linguistic" oor:op="fuse" oor:mandatory="true">
<node oor:name="InternalPaths">
- <node oor:name="$(insturl)/$(share_subdir_name)/dict" oor:op="fuse"/>
- <node oor:name="$(insturl)/$(share_subdir_name)/dict/ooo" oor:op="fuse"/>
+ <node oor:name="$(insturl)/@LIBO_SHARE_FOLDER@/dict" oor:op="fuse"/>
+ <node oor:name="$(insturl)/@LIBO_SHARE_FOLDER@/dict/ooo" oor:op="fuse"/>
</node>
<prop oor:name="UserPaths">
<value>$(userurl)/wordbook</value>
@@ -112,7 +112,7 @@
</node>
<node oor:name="Dictionary" oor:op="fuse" oor:mandatory="true">
<node oor:name="InternalPaths">
- <node oor:name="$(insturl)/$(share_subdir_name)/wordbook" oor:op="fuse"/>
+ <node oor:name="$(insturl)/@LIBO_SHARE_FOLDER@/wordbook" oor:op="fuse"/>
</node>
<prop oor:name="WritePath">
<value>$(userurl)/wordbook</value>
@@ -135,7 +135,7 @@
</node>
<node oor:name="Fingerprint" oor:op="fuse" oor:mandatory="true">
<node oor:name="InternalPaths">
- <node install:module="internallibexttextcatdata" oor:name="$(insturl)/$(share_subdir_name)/fingerprint" oor:op="fuse"/>
+ <node install:module="internallibexttextcatdata" oor:name="$(insturl)/@LIBO_SHARE_FOLDER@/fingerprint" oor:op="fuse"/>
<node install:module="externallibexttextcatdata" oor:name="${SYSTEM_LIBEXTTEXTCAT_DATA}" oor:op="fuse"/>
</node>
</node>
@@ -158,7 +158,7 @@
</node>
<node oor:name="Template" oor:op="fuse" oor:mandatory="true">
<node oor:name="InternalPaths">
- <node oor:name="$(insturl)/$(share_subdir_name)/template/$(vlang)" oor:op="fuse"/>
+ <node oor:name="$(insturl)/@LIBO_SHARE_FOLDER@/template/$(vlang)" oor:op="fuse"/>
</node>
<prop oor:name="WritePath">
<value>$(userurl)/template</value>
@@ -166,7 +166,7 @@
</node>
<node oor:name="UIConfig" oor:op="fuse" oor:mandatory="true">
<node oor:name="InternalPaths">
- <node oor:name="$(insturl)/$(share_subdir_name)/config" oor:op="fuse"/>
+ <node oor:name="$(insturl)/@LIBO_SHARE_FOLDER@/config" oor:op="fuse"/>
</node>
</node>
<node oor:name="UserConfig" oor:op="fuse" oor:mandatory="true">
diff --git a/officecfg/registry/data/org/openoffice/Office/WebWizard.xcu b/officecfg/registry/data/org/openoffice/Office/WebWizard.xcu
index 70f0f097d9f2..3861af800175 100644
--- a/officecfg/registry/data/org/openoffice/Office/WebWizard.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/WebWizard.xcu
@@ -1241,12 +1241,12 @@
<node oor:name="BackgroundImages">
<node oor:name="1" oor:op="replace">
<prop oor:name="Href">
- <value>$(inst)/$(share_subdir_name)/gallery/www-back/</value>
+ <value>$(inst)/@LIBO_SHARE_FOLDER@/gallery/www-back/</value>
</prop>
</node>
<node oor:name="2" oor:op="replace">
<prop oor:name="Href">
- <value>$(inst)/$(share_subdir_name)/gallery/surface</value>
+ <value>$(inst)/@LIBO_SHARE_FOLDER@/gallery/surface</value>
</prop>
</node>
<node oor:name="3" oor:op="replace">
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
index 1c9081b51c14..069a12870ebe 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
@@ -1529,7 +1529,7 @@
<desc>Specifies the settings of the AutoCorrect dialog.</desc>
</info>
<value>
- <it>$(insturl)/$(share_subdir_name)/autocorr</it>
+ <it>$(insturl)/@LIBO_SHARE_FOLDER@/autocorr</it>
<it>$(userurl)/autocorr</it>
</value>
</prop>
@@ -1539,7 +1539,7 @@
modules.</desc>
</info>
<value>
- <it>$(insturl)/$(share_subdir_name)/autotext/$(vlang)</it>
+ <it>$(insturl)/@LIBO_SHARE_FOLDER@/autotext/$(vlang)</it>
<it>$(userurl)/autotext</it>
</value>
</prop>
@@ -1555,7 +1555,7 @@
AutoPilots.</desc>
</info>
<value>
- <it>$(insturl)/$(share_subdir_name)/basic</it>
+ <it>$(insturl)/@LIBO_SHARE_FOLDER@/basic</it>
<it>$(userurl)/basic</it>
</value>
</prop>
@@ -1564,20 +1564,20 @@
<desc>Contains the bitmap files which can be used for menu and
toolbar icons.</desc>
</info>
- <value>$(insturl)/$(share_subdir_name)/config/symbol</value>
+ <value>$(insturl)/@LIBO_SHARE_FOLDER@/config/symbol</value>
</prop>
<prop oor:name="Config" oor:type="xs:string" oor:nillable="false">
<info>
<desc>Contains the configuration files. This value cannot be changed
through the user interface.</desc>
</info>
- <value>$(insturl)/$(share_subdir_name)/config</value>
+ <value>$(insturl)/@LIBO_SHARE_FOLDER@/config</value>
</prop>
<prop oor:name="Dictionary" oor:type="xs:string" oor:nillable="false">
<info>
<desc>Contains the provided dictionaries.</desc>
</info>
- <value>$(insturl)/$(share_subdir_name)/wordbook</value>
+ <value>$(insturl)/@LIBO_SHARE_FOLDER@/wordbook</value>
</prop>
<prop oor:name="Favorite" oor:type="xs:string" oor:nillable="false">
<info>
@@ -1598,7 +1598,7 @@
and multimedia files.</desc>
</info>
<value>
- <it>$(insturl)/$(share_subdir_name)/gallery</it>
+ <it>$(insturl)/@LIBO_SHARE_FOLDER@/gallery</it>
<it>$(userurl)/gallery</it>
</value>
</prop>
@@ -1620,7 +1620,7 @@
<desc>Contains the files that are necessary for the
spellcheck.</desc>
</info>
- <value>$(insturl)/$(share_subdir_name)/dict</value>
+ <value>$(insturl)/@LIBO_SHARE_FOLDER@/dict</value>
</prop>
<prop oor:name="Module" oor:type="xs:string" oor:nillable="false">
<info>
@@ -1665,8 +1665,8 @@
sub-folders.</desc>
</info>
<value>
- <it>$(insturl)/$(share_subdir_name)/template/$(vlang)</it>
- <it>$(insturl)/$(share_subdir_name)/template/common</it>
+ <it>$(insturl)/@LIBO_SHARE_FOLDER@/template/$(vlang)</it>
+ <it>$(insturl)/@LIBO_SHARE_FOLDER@/template/common</it>
<it>$(userurl)/template</it>
</value>
</prop>
@@ -1677,7 +1677,7 @@
merged from UserConfig and from these folders.</desc>
</info>
<value>
- <it>$(insturl)/$(share_subdir_name)/config</it>
+ <it>$(insturl)/@LIBO_SHARE_FOLDER@/config</it>
</value>
</prop>
<prop oor:name="UserConfig" oor:type="xs:string" oor:nillable="false">
@@ -1720,7 +1720,7 @@
AutoCorrect dialog.</desc>
</info>
<value>
- <it>$(insturl)/$(share_subdir_name)/autocorr</it>
+ <it>$(insturl)/@LIBO_SHARE_FOLDER@/autocorr</it>
<it>$(userurl)/autocorr</it>
</value>
</prop>
@@ -1730,7 +1730,7 @@
located.</desc>
</info>
<value>
- <it>$(insturl)/$(share_subdir_name)/autotext/$(vlang)</it>
+ <it>$(insturl)/@LIBO_SHARE_FOLDER@/autotext/$(vlang)</it>
<it>$(userurl)/autotext</it>
</value>
</prop>
@@ -1747,7 +1747,7 @@
the AutoPilots, are located.</desc>
</info>
<value>
- <it>$(insturl)/$(share_subdir_name)/basic</it>
+ <it>$(insturl)/@LIBO_SHARE_FOLDER@/basic</it>
<it>$(userurl)/basic</it>
</value>
</prop>
@@ -1756,21 +1756,21 @@
<desc>Specifies the default directory where the bitmap files, which
can be used for the menu and toolbar icons, are located.</desc>
</info>
- <value>$(insturl)/$(share_subdir_name)/config/symbol</value>
+ <value>$(insturl)/@LIBO_SHARE_FOLDER@/config/symbol</value>
</prop>
<prop oor:name="Config" oor:type="xs:string" oor:nillable="false">
<info>
<desc>Specifies the default directory where the configuration files
are stored.</desc>
</info>
- <value>$(insturl)/$(share_subdir_name)/config</value>
+ <value>$(insturl)/@LIBO_SHARE_FOLDER@/config</value>
</prop>
<prop oor:name="Dictionary" oor:type="xs:string" oor:nillable="false">
<info>
<desc>Specifies the default directory where the provided
dictionaries are located.</desc>
</info>
- <value>$(insturl)/$(share_subdir_name)/wordbook/$(vlang)</value>
+ <value>$(insturl)/@LIBO_SHARE_FOLDER@/wordbook/$(vlang)</value>
</prop>
<prop oor:name="Favorite" oor:type="xs:string" oor:nillable="false">
<info>
@@ -1792,7 +1792,7 @@
multimedia files are located.</desc>
</info>
<value>
- <it>$(insturl)/$(share_subdir_name)/gallery</it>
+ <it>$(insturl)/@LIBO_SHARE_FOLDER@/gallery</it>
<it>$(userurl)/gallery</it>
</value>
</prop>
@@ -1815,7 +1815,7 @@
<desc>Specifies the default directory where the files that are
necessary for the spellcheck are saved.</desc>
</info>
- <value>$(insturl)/$(share_subdir_name)/dict</value>
+ <value>$(insturl)/@LIBO_SHARE_FOLDER@/dict</value>
</prop>
<prop oor:name="Module" oor:type="xs:string" oor:nillable="false">
<info>
@@ -1853,8 +1853,8 @@
are located in folders and sub-folders.</desc>
</info>
<value>
- <it>$(insturl)/$(share_subdir_name)/template/$(vlang)</it>
- <it>$(insturl)/$(share_subdir_name)/template/common</it>
+ <it>$(insturl)/@LIBO_SHARE_FOLDER@/template/$(vlang)</it>
+ <it>$(insturl)/@LIBO_SHARE_FOLDER@/template/common</it>
<it>$(userurl)/template</it>
</value>
</prop>
diff --git a/officecfg/util/alllang.xsl b/officecfg/util/alllang.xsl
index 252a0beefe66..31b53bccd853 100644
--- a/officecfg/util/alllang.xsl
+++ b/officecfg/util/alllang.xsl
@@ -34,6 +34,8 @@
<xsl:param name="schemaRoot">.</xsl:param>
<xsl:param name="fallback-locale">en-US</xsl:param>
+<xsl:param name="LIBO_SHARE_FOLDER"/>
+
<xsl:variable name="schemaRootURL">
<xsl:value-of select="$schemaRoot"/>
</xsl:variable>
@@ -91,7 +93,7 @@
<xsl:if test="@xml:lang=$locale and not(@install:module)">
<xsl:copy>
<xsl:apply-templates select = "@*" mode="locale"/>
- <xsl:copy-of select="node()"/>
+ <xsl:apply-templates select="node()"/>
</xsl:copy>
</xsl:if>
</xsl:template>
@@ -265,8 +267,7 @@
<xsl:when test="not($module) and ancestor-or-self::*/@install:module"/>
<xsl:otherwise>
<xsl:copy>
- <xsl:apply-templates select = "@*"/>
- <xsl:copy-of select="node()"/>
+ <xsl:apply-templates select = "@*|node()"/>
</xsl:copy>
</xsl:otherwise>
</xsl:choose>
@@ -275,12 +276,17 @@
<xsl:template match="value" mode="fallback-locale">
<xsl:if test="@xml:lang=$fallback-locale and not(@install:module)">
<xsl:copy>
- <xsl:apply-templates select = "@*"/>
- <xsl:copy-of select="node()"/>
+ <xsl:apply-templates select = "@*|node()"/>
</xsl:copy>
</xsl:if>
</xsl:template>
+ <xsl:template match ="it|unicode">
+ <xsl:copy>
+ <xsl:apply-templates select = "@*|node()"/>
+ </xsl:copy>
+ </xsl:template>
+
<xsl:template match = "@*">
<xsl:copy/>
</xsl:template>
@@ -333,4 +339,43 @@
<xsl:value-of select="$fileURL"/>
</xsl:template>
+ <xsl:template match="@oor:name">
+ <xsl:attribute name="oor:name">
+ <xsl:call-template name="replace">
+ <xsl:with-param name="input" select="current()"/>
+ <xsl:with-param name="pattern" select="'@LIBO_SHARE_FOLDER@'"/>
+ <xsl:with-param name="replace" select="$LIBO_SHARE_FOLDER"/>
+ </xsl:call-template>
+ </xsl:attribute>
+ </xsl:template>
+
+ <xsl:template match="text()">
+ <xsl:call-template name="replace">
+ <xsl:with-param name="input" select="current()"/>
+ <xsl:with-param name="pattern" select="'@LIBO_SHARE_FOLDER@'"/>
+ <xsl:with-param name="replace" select="$LIBO_SHARE_FOLDER"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template name="replace">
+ <xsl:param name="input"/>
+ <xsl:param name="pattern"/>
+ <xsl:param name="replace"/>
+ <xsl:choose>
+ <xsl:when test="contains($input, $pattern)">
+ <xsl:value-of select="substring-before($input, $pattern)"/>
+ <xsl:value-of select="$replace"/>
+ <xsl:call-template name="replace">
+ <xsl:with-param
+ name="input" select="substring-after($input, $pattern)"/>
+ <xsl:with-param name="pattern" select="$pattern"/>
+ <xsl:with-param name="replace" select="$replace"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$input"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
</xsl:transform>
diff --git a/officecfg/util/schema_trim.xsl b/officecfg/util/schema_trim.xsl
index 4f75348b2ecb..79b3c5c8cb4f 100644
--- a/officecfg/util/schema_trim.xsl
+++ b/officecfg/util/schema_trim.xsl
@@ -23,6 +23,8 @@
xmlns:oor="http://openoffice.org/2001/registry"
version="1.0">
+ <xsl:param name="LIBO_SHARE_FOLDER"/>
+
<!-- Get the correct format -->
<xsl:output method="xml" indent="yes"/>
<xsl:namespace-alias stylesheet-prefix="xs" result-prefix="xs"></xsl:namespace-alias>
@@ -68,9 +70,43 @@
<!-- copy all other values with content -->
<xsl:template match="value">
<xsl:copy>
- <xsl:apply-templates select="@*"/>
- <xsl:copy-of select="node()"/>
+ <xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
+ <xsl:template match ="it|unicode">
+ <xsl:copy>
+ <xsl:apply-templates select = "@*|node()"/>
+ </xsl:copy>
+ </xsl:template>
+
+ <xsl:template match="text()">
+ <xsl:call-template name="replace">
+ <xsl:with-param name="input" select="current()"/>
+ <xsl:with-param name="pattern" select="'@LIBO_SHARE_FOLDER@'"/>
+ <xsl:with-param name="replace" select="$LIBO_SHARE_FOLDER"/>
+ </xsl:call-template>
+ </xsl:template>
+
+ <xsl:template name="replace">
+ <xsl:param name="input"/>
+ <xsl:param name="pattern"/>
+ <xsl:param name="replace"/>
+ <xsl:choose>
+ <xsl:when test="contains($input, $pattern)">
+ <xsl:value-of select="substring-before($input, $pattern)"/>
+ <xsl:value-of select="$replace"/>
+ <xsl:call-template name="replace">
+ <xsl:with-param
+ name="input" select="substring-after($input, $pattern)"/>
+ <xsl:with-param name="pattern" select="$pattern"/>
+ <xsl:with-param name="replace" select="$replace"/>
+ </xsl:call-template>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$input"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:template>
+
</xsl:transform>