[Libreoffice-commits] core.git: 5 commits - configmgr/Library_configmgr.mk configmgr/source instsetoo_native/CustomTarget_setup.mk scp2/source
Stephan Bergmann
sbergman at redhat.com
Tue Sep 1 06:07:10 PDT 2015
configmgr/Library_configmgr.mk | 2
configmgr/source/components.cxx | 63 +-
configmgr/source/components.hxx | 5
configmgr/source/dconf.cxx | 968 +++++++++++++++++++++++++++++++++
configmgr/source/dconf.hxx | 25
configmgr/source/readdconflayer.cxx | 953 --------------------------------
configmgr/source/readdconflayer.hxx | 25
instsetoo_native/CustomTarget_setup.mk | 2
scp2/source/ooo/common_brand.scp | 4
9 files changed, 1046 insertions(+), 1001 deletions(-)
New commits:
commit 21e713a751d4c6d1ad43f7eaa53b06e395b0cb3e
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Tue Sep 1 15:05:19 2015 +0200
Handle dconf_client_new failure
Change-Id: Ib873ca03a2552dc0405236ed87040672ba359e5e
diff --git a/configmgr/source/dconf.cxx b/configmgr/source/dconf.cxx
index 4490259..ca94a9b 100644
--- a/configmgr/source/dconf.cxx
+++ b/configmgr/source/dconf.cxx
@@ -954,6 +954,10 @@ void readDir(
void readLayer(Data & data, int layer) {
GObjectHolder<DConfClient> client(dconf_client_new());
+ if (client.get() == nullptr) {
+ SAL_WARN("configmgr.dconf", "dconf_client_new failed");
+ return;
+ }
readDir(
data, layer, rtl::Reference<Node>(), data.getComponents(), client,
"/org/libreoffice/registry/");
commit 9da6318b4e62a0e30d15df00d564dad61a74933e
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Tue Sep 1 13:08:39 2015 +0200
dconf: fix check for matching template
Change-Id: I8319bf10310d55e2f29de8103d983e34a53f87df
diff --git a/configmgr/source/dconf.cxx b/configmgr/source/dconf.cxx
index 44e8038..4490259 100644
--- a/configmgr/source/dconf.cxx
+++ b/configmgr/source/dconf.cxx
@@ -816,47 +816,47 @@ void readDir(
}
rtl::Reference<Node> member(members.findNode(layer, name));
bool insert = !member.is();
- if (!remove && (replace || insert)) {
- if (!node.is()) {
- SAL_WARN("configmgr.dconf", "bad unmatched " << path);
- continue;
- }
- switch (node->kind()) {
- case Node::KIND_LOCALIZED_PROPERTY:
- member.set(new LocalizedValueNode(layer));
- break;
- case Node::KIND_GROUP:
- if (!static_cast<GroupNode *>(node.get())->isExtensible()) {
+ if (!remove) {
+ if (replace || insert) {
+ if (!node.is()) {
SAL_WARN("configmgr.dconf", "bad unmatched " << path);
continue;
}
- member.set(
- new PropertyNode(
- layer, TYPE_ANY, true, css::uno::Any(), true));
- break;
- case Node::KIND_SET:
- assert(!templ.isEmpty());
- member = data.getTemplate(layer, templ);
- if (!member.is()) {
- SAL_WARN(
- "configmgr.dconf",
- "bad " << path << " denoting undefined template "
- << templ);
- continue;
+ switch (node->kind()) {
+ case Node::KIND_LOCALIZED_PROPERTY:
+ member.set(new LocalizedValueNode(layer));
+ break;
+ case Node::KIND_GROUP:
+ if (!static_cast<GroupNode *>(node.get())->isExtensible()) {
+ SAL_WARN("configmgr.dconf", "bad unmatched " << path);
+ continue;
+ }
+ member.set(
+ new PropertyNode(
+ layer, TYPE_ANY, true, css::uno::Any(), true));
+ break;
+ case Node::KIND_SET:
+ assert(!templ.isEmpty());
+ member = data.getTemplate(layer, templ);
+ if (!member.is()) {
+ SAL_WARN(
+ "configmgr.dconf",
+ "bad " << path << " denoting undefined template "
+ << templ);
+ continue;
+ }
+ break;
+ default:
+ assert(false); // cannot happen
}
- break;
- default:
- assert(false); // cannot happen
+ } else if (!templ.isEmpty() && templ != member->getTemplateName()) {
+ SAL_WARN(
+ "configmgr.dconf",
+ "bad " << path
+ << " denoting set element of non-matching template "
+ << member->getTemplateName());
+ continue;
}
- } else if (!(templ.isEmpty()
- || (node.is() && templ == node->getTemplateName())))
- {
- SAL_WARN(
- "configmgr.dconf",
- "bad " << path
- << " denoting set element of non-matching template "
- << node->getTemplateName());
- continue;
}
if (member.is()) {
if (member->getFinalized() < layer) {
commit f262cfcf8ebf81d2d1407cf283b5d8eaaee053fd
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Tue Sep 1 13:07:44 2015 +0200
dconf: fix encoding of set element names
Change-Id: I6aba45a70a9ebee65be34af1036bb515fd2a22b7
diff --git a/configmgr/source/dconf.cxx b/configmgr/source/dconf.cxx
index 7d1bc79..44e8038 100644
--- a/configmgr/source/dconf.cxx
+++ b/configmgr/source/dconf.cxx
@@ -51,17 +51,25 @@
// N ; T ; O
//
// where ";" represents U+003B SEMICOLON; N is an encoding of the node name,
-// where each occurrence of U+003B SEMICOLON is replaced by the three
-// characters "\3B" and each ocurrence of U+005C REVERSE SOLIDUS is replaced
-// by the three characters "\5C"; T is an encoding of the full template name,
-// where each occurrence of U+002F SOLIDUS is replaced by the three characters
-// "\2F", each occurrence of U+003B SEMICOLON is replaced by the three
-// characters "\3B", and each ocurrence of U+005C REVERSE SOLIDUS is replaced
-// by the three characters "\5C"; and O is "fuse" or "replace", respectively.
+// where each occurrence of U+0000 NULL is replace by the three characters
+// "\00", each occurrence of U+002F SOLIDUS is replaced by the three
+// characters "\2F", each occurrence of U+003B SEMICOLON is replaced by the
+// three characters "\3B", and each ocurrence of U+005C REVERSE SOLIDUS is
+// replaced by the three characters "\5C"; T is an encoding of the full
+// template name, where each occurrence of U+002F SOLIDUS is replaced by the
+// three characters "\2F", each occurrence of U+003B SEMICOLON is replaced by
+// the three characters "\3B", and each ocurrence of U+005C REVERSE SOLIDUS is
+// replaced by the three characters "\5C"; and O is "fuse" or "replace",
+// respectively.
//
// * Set element and property "remove" operations are encoded as dconf key path
-// segments directly using the node name, and the associated value being a
-// GVariant of empty tuple type.
+// segments as follows, and the associated value being a GVariant of empty
+// tuple type. For set elements, the dconf key path segment consists of an
+// encoding of the node name, where each occurrence of U+0000 NULL is replace
+// by the three characters "\00", each occurrence of U+002F SOLIDUS is
+// replaced by the three characters "\2F", and each ocurrence of U+005C
+// REVERSE SOLIDUS is replaced by the three characters "\5C". For properties,
+// the dconf key path segment directly uses the node name.
//
// * Property and localized property value "fuse" operations map to GVariant
// instances as follows:
@@ -738,7 +746,7 @@ void readDir(
continue;
}
name = seg.copy(0, i1);
- if (!decode(&name, false, false, true)) {
+ if (!decode(&name, true, true, true)) {
continue;
}
++i1;
@@ -781,6 +789,9 @@ void readDir(
} else {
remove = true;
name = seg;
+ if (!decode(&name, true, true, false)) {
+ continue;
+ }
replace = false;
assert(!path.endsWith("/"));
GVariantHolder v(
commit 2921d6773698cc588f808172b37fb28d80b28a9c
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Fri Aug 28 14:41:40 2015 +0200
Rename stuff, in preparation of dconf::writeModifications
Change-Id: Icd472e91b222907e2cdcbdba1b78b33c44eff566
diff --git a/configmgr/Library_configmgr.mk b/configmgr/Library_configmgr.mk
index 36c316a..81367ca 100644
--- a/configmgr/Library_configmgr.mk
+++ b/configmgr/Library_configmgr.mk
@@ -43,7 +43,7 @@ $(eval $(call gb_Library_add_exception_objects,configmgr, \
configmgr/source/xcsparser \
configmgr/source/xcuparser \
configmgr/source/xmldata \
- $(if $(ENABLE_DCONF),configmgr/source/readdconflayer) \
+ $(if $(ENABLE_DCONF),configmgr/source/dconf) \
$(if $(filter $(OS),WNT),configmgr/source/winreg) \
))
diff --git a/configmgr/source/components.cxx b/configmgr/source/components.cxx
index d6f7144..1b9066a 100644
--- a/configmgr/source/components.cxx
+++ b/configmgr/source/components.cxx
@@ -66,7 +66,7 @@
#include "xcsparser.hxx"
#if ENABLE_DCONF
-#include <readdconflayer.hxx>
+#include <dconf.hxx>
#endif
#if defined WNT
@@ -536,7 +536,7 @@ Components::Components(
if (url == "!") {
modificationTarget_ = ModificationTarget::Dconf;
} else if (url == "*") {
- readDconfLayer(data_, layer);
+ dconf::readLayer(data_, layer);
} else {
throw css::uno::RuntimeException(
"CONFIGURATION_LAYERS: unknown \"dconf\" kind \"" + url
diff --git a/configmgr/source/readdconflayer.cxx b/configmgr/source/dconf.cxx
similarity index 99%
rename from configmgr/source/readdconflayer.cxx
rename to configmgr/source/dconf.cxx
index 035f554..7d1bc79 100644
--- a/configmgr/source/readdconflayer.cxx
+++ b/configmgr/source/dconf.cxx
@@ -20,12 +20,12 @@
#include <com/sun/star/uno/Sequence.hxx>
#include <data.hxx>
+#include <dconf.hxx>
#include <groupnode.hxx>
#include <localizedpropertynode.hxx>
#include <localizedvaluenode.hxx>
#include <nodemap.hxx>
#include <propertynode.hxx>
-#include <readdconflayer.hxx>
#include <setnode.hxx>
// component-data is encoded in dconf as follows:
@@ -95,7 +95,7 @@
//
// TODO: support "mandatory" and "external"?
-namespace configmgr {
+namespace configmgr { namespace dconf {
namespace {
@@ -941,13 +941,13 @@ void readDir(
}
-void readDconfLayer(Data & data, int layer) {
+void readLayer(Data & data, int layer) {
GObjectHolder<DConfClient> client(dconf_client_new());
readDir(
data, layer, rtl::Reference<Node>(), data.getComponents(), client,
"/org/libreoffice/registry/");
}
-}
+} }
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/configmgr/source/readdconflayer.hxx b/configmgr/source/dconf.hxx
similarity index 72%
rename from configmgr/source/readdconflayer.hxx
rename to configmgr/source/dconf.hxx
index 63a4698..0f63e04 100644
--- a/configmgr/source/readdconflayer.hxx
+++ b/configmgr/source/dconf.hxx
@@ -7,18 +7,18 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
-#ifndef INCLUDED_CONFIGMGR_SOURCE_READDCONFLAYER_HXX
-#define INCLUDED_CONFIGMGR_SOURCE_READDCONFLAYER_HXX
+#ifndef INCLUDED_CONFIGMGR_SOURCE_DCONF_HXX
+#define INCLUDED_CONFIGMGR_SOURCE_DCONF_HXX
#include <sal/config.h>
namespace configmgr { struct Data; }
-namespace configmgr {
+namespace configmgr { namespace dconf {
-void readDconfLayer(Data & data, int layer);
+void readLayer(Data & data, int layer);
-}
+} }
#endif
commit 12f92e6d9ea8bf05bda6d3c42f9b6f0aba000cb0
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Fri Aug 28 13:49:56 2015 +0200
Support modification write-back to other than registrymodifications.xcu
...to eventually support writing to dconf (see TODO).
Even when writing somewhere else, it may still be useful to read from the
current "user:" location, so a new convention was introduced to
CONFIGURATION_LAYERS types that support write-back:
- A leading "!" indicates that the layer is indeed used for write-back (probably
in addition to reading from it). For backwards compatibility (when users use
own settings of CONFIGURATION_LAYERS, instead of depending on the value in the
shipped fundamental ini-file), no prefix on the "user:" is now interpreted the
same as a "!" prefix.
- A leading "*" indicates that the layer is not used for write-back (but only
for reading from it).
Change-Id: I399cc7bfe927db50586834f9630c184aaa2153f2
diff --git a/configmgr/source/components.cxx b/configmgr/source/components.cxx
index b3c8acb..d6f7144 100644
--- a/configmgr/source/components.cxx
+++ b/configmgr/source/components.cxx
@@ -279,12 +279,21 @@ void Components::addModification(Path const & path) {
void Components::writeModifications() {
- if (!(data_.modifications.empty() || modificationFileUrl_.isEmpty()
- || writeThread_.is()))
- {
- writeThread_ = new WriteThread(
- &writeThread_, *this, modificationFileUrl_, data_);
- writeThread_->launch();
+ if (!data_.modifications.empty()) {
+ switch (modificationTarget_) {
+ case ModificationTarget::None:
+ break;
+ case ModificationTarget::File:
+ if (!writeThread_.is()) {
+ writeThread_ = new WriteThread(
+ &writeThread_, *this, modificationFileUrl_, data_);
+ writeThread_->launch();
+ }
+ break;
+ case ModificationTarget::Dconf:
+ //TODO
+ break;
+ }
}
}
@@ -455,7 +464,8 @@ css::beans::Optional< css::uno::Any > Components::getExternalValue(
Components::Components(
css::uno::Reference< css::uno::XComponentContext > const & context):
- context_(context), sharedExtensionLayer_(-1), userExtensionLayer_(-1)
+ context_(context), sharedExtensionLayer_(-1), userExtensionLayer_(-1),
+ modificationTarget_(ModificationTarget::None)
{
assert(context.is());
lock_ = lock();
@@ -468,9 +478,10 @@ Components::Components(
if (i == conf.getLength()) {
break;
}
- if (!modificationFileUrl_.isEmpty()) {
+ if (modificationTarget_ != ModificationTarget::None) {
throw css::uno::RuntimeException(
- "CONFIGURATION_LAYERS: \"user\" followed by further layers");
+ "CONFIGURATION_LAYERS: modification target layer followed by"
+ " further layers");
}
sal_Int32 c = i;
for (;; ++c) {
@@ -522,11 +533,15 @@ Components::Components(
++layer; //TODO: overflow
#if ENABLE_DCONF
} else if (type == "dconf") {
- if (!url.isEmpty()) {
+ if (url == "!") {
+ modificationTarget_ = ModificationTarget::Dconf;
+ } else if (url == "*") {
+ readDconfLayer(data_, layer);
+ } else {
throw css::uno::RuntimeException(
- "CONFIGURATION_LAYERS: non-empty \"dconf\" URL");
+ "CONFIGURATION_LAYERS: unknown \"dconf\" kind \"" + url
+ + "\"");
}
- readDconfLayer(data_, layer);
++layer; //TODO: overflow
#endif
#if defined WNT
@@ -549,12 +564,24 @@ Components::Components(
++layer; //TODO: overflow
#endif
} else if (type == "user") {
+ bool write;
+ if (url.startsWith("!", &url)) {
+ write = true;
+ } else if (url.startsWith("*", &url)) {
+ write = false;
+ } else {
+ write = true; // for backwards compatibility
+ }
if (url.isEmpty()) {
throw css::uno::RuntimeException(
"CONFIGURATION_LAYERS: empty \"user\" URL");
}
- modificationFileUrl_ = url;
- parseModificationLayer(url);
+ if (write) {
+ modificationTarget_ = ModificationTarget::File;
+ modificationFileUrl_ = url;
+ }
+ parseModificationLayer(write ? Data::NO_LAYER : layer, url);
+ ++layer; //TODO: overflow
} else {
throw css::uno::RuntimeException(
"CONFIGURATION_LAYERS: unknown layer type \"" + type + "\"");
@@ -789,9 +816,9 @@ void Components::parseResLayer(int layer, OUString const & url) {
parseFiles(layer, ".xcu", &parseXcuFile, resUrl, false);
}
-void Components::parseModificationLayer(OUString const & url) {
+void Components::parseModificationLayer(int layer, OUString const & url) {
try {
- parseFileLeniently(&parseXcuFile, url, Data::NO_LAYER, 0, 0, 0);
+ parseFileLeniently(&parseXcuFile, url, layer, 0, 0, 0);
} catch (css::container::NoSuchElementException &) {
SAL_INFO(
"configmgr", "user registrymodifications.xcu does not (yet) exist");
@@ -799,7 +826,7 @@ void Components::parseModificationLayer(OUString const & url) {
// longer relevant, probably OOo 4; also see hack for xsi namespace in
// xmlreader::XmlReader::registerNamespaceIri):
parseFiles(
- Data::NO_LAYER, ".xcu", &parseXcuFile,
+ layer, ".xcu", &parseXcuFile,
expand(
"${$BRAND_BASE_DIR/" LIBO_ETC_FOLDER "/" SAL_CONFIGFILE("bootstrap")
":UserInstallation}/user/registry/data"),
diff --git a/configmgr/source/components.hxx b/configmgr/source/components.hxx
index 25d0d6e..43e682e 100644
--- a/configmgr/source/components.hxx
+++ b/configmgr/source/components.hxx
@@ -139,7 +139,7 @@ private:
void parseResLayer(int layer, OUString const & url);
- void parseModificationLayer(OUString const & url);
+ void parseModificationLayer(int layer, OUString const & url);
int getExtensionLayer(bool shared);
@@ -153,6 +153,8 @@ private:
class WriteThread;
+ enum class ModificationTarget { None, File, Dconf };
+
css::uno::Reference< css::uno::XComponentContext >
context_;
Data data_;
@@ -161,6 +163,7 @@ private:
rtl::Reference< WriteThread > writeThread_;
int sharedExtensionLayer_;
int userExtensionLayer_;
+ ModificationTarget modificationTarget_;
OUString modificationFileUrl_;
std::shared_ptr<osl::Mutex> lock_;
};
diff --git a/instsetoo_native/CustomTarget_setup.mk b/instsetoo_native/CustomTarget_setup.mk
index 209ab0a..14809b9 100644
--- a/instsetoo_native/CustomTarget_setup.mk
+++ b/instsetoo_native/CustomTarget_setup.mk
@@ -52,7 +52,7 @@ $(call gb_CustomTarget_get_workdir,instsetoo_native/setup)/$(call gb_Helper_get_
&& echo 'BRAND_BASE_DIR=$${ORIGIN}/..' \
&& echo 'BRAND_INI_DIR=$${ORIGIN}' \
&& echo 'BRAND_SHARE_SUBDIR=$(LIBO_SHARE_FOLDER)' \
- && echo 'CONFIGURATION_LAYERS=xcsxcu:$${BRAND_BASE_DIR}/$(LIBO_SHARE_FOLDER)/registry res:$${BRAND_BASE_DIR}/$(LIBO_SHARE_FOLDER)/registry $(if $(ENABLE_DCONF),dconf: )$(if $(filter WNT,$(OS)),winreg:LOCAL_MACHINE )bundledext:$${$${BRAND_BASE_DIR}/$(LIBO_ETC_FOLDER)/$(call gb_Helper_get_rcfile,louno):BUNDLED_EXTENSIONS_USER}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini sharedext:$${$${BRAND_BASE_DIR}/$(LIBO_ETC_FOLDER)/$(call gb_Helper_get_rcfile,louno):SHARED_EXTENSIONS_USER}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini userext:$${$${BRAND_BASE_DIR}/$(LIBO_ETC_FOLDER)/$(call gb_Helper_get_rcfile,louno):UNO_USER_PACKAGES_CACHE}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini $(if $(filter WNT,$(OS)),winreg:CURRENT_USER )user:$${$$BRAND_BASE_DIR/$(LIBO_ETC_FOLDER)/$(call gb_Helper_get_rcfile,bootstrap):UserInstallation}/user/registrymodifications.xcu' \
+ && echo 'CONFIGURATION_LAYERS=xcsxcu:$${BRAND_BASE_DIR}/$(LIBO_SHARE_FOLDER)/registry res:$${BRAND_BASE_DIR}/$(LIBO_SHARE_FOLDER)/registry $(if $(ENABLE_DCONF),dconf:* )$(if $(filter WNT,$(OS)),winreg:LOCAL_MACHINE )bundledext:$${$${BRAND_BASE_DIR}/$(LIBO_ETC_FOLDER)/$(call gb_Helper_get_rcfile,louno):BUNDLED_EXTENSIONS_USER}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini sharedext:$${$${BRAND_BASE_DIR}/$(LIBO_ETC_FOLDER)/$(call gb_Helper_get_rcfile,louno):SHARED_EXTENSIONS_USER}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini userext:$${$${BRAND_BASE_DIR}/$(LIBO_ETC_FOLDER)/$(call gb_Helper_get_rcfile,louno):UNO_USER_PACKAGES_CACHE}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini $(if $(filter WNT,$(OS)),winreg:CURRENT_USER )user:!$${$$BRAND_BASE_DIR/$(LIBO_ETC_FOLDER)/$(call gb_Helper_get_rcfile,bootstrap):UserInstallation}/user/registrymodifications.xcu' \
&& echo 'LO_JAVA_DIR=$${BRAND_BASE_DIR}/$(LIBO_SHARE_JAVA_FOLDER)' \
&& echo 'LO_LIB_DIR=$${BRAND_BASE_DIR}/$(LIBO_LIB_FOLDER)' \
&& echo 'BAK_EXTENSIONS=$${$$ORIGIN/$(call gb_Helper_get_rcfile,louno):TMP_EXTENSIONS}' \
diff --git a/scp2/source/ooo/common_brand.scp b/scp2/source/ooo/common_brand.scp
index 1a30bd6..1933551 100644
--- a/scp2/source/ooo/common_brand.scp
+++ b/scp2/source/ooo/common_brand.scp
@@ -1119,7 +1119,7 @@ ProfileItem gid_Brand_Profileitem_Fundamental_Ure_Bin_Dir
End
#if ENABLE_DCONF
-#define CONFIGURATION_LAYERS_DCONF " dconf:"
+#define CONFIGURATION_LAYERS_DCONF " dconf:*"
#else
#define CONFIGURATION_LAYERS_DCONF
#endif
@@ -1135,7 +1135,7 @@ ProfileItem gid_Brand_Profileitem_Fundamental_Configuration_Layers
ModuleID = gid_Module_Root_Brand;
Section = "Bootstrap";
Key = "CONFIGURATION_LAYERS";
- Value = "xcsxcu:${BRAND_BASE_DIR}/" LIBO_SHARE_FOLDER "/registry res:${BRAND_BASE_DIR}/" LIBO_SHARE_FOLDER "/registry" CONFIGURATION_LAYERS_DCONF CONFIGURATION_LAYERS_WINREG " bundledext:${${BRAND_BASE_DIR}/" LIBO_ETC_FOLDER "/" PROFILENAME(louno) ":BUNDLED_EXTENSIONS_USER}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini sharedext:${${BRAND_BASE_DIR}/" LIBO_ETC_FOLDER "/" PROFILENAME(louno) ":SHARED_EXTENSIONS_USER}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini userext:${${BRAND_BASE_DIR}/" LIBO_ETC_FOLDER "/" PROFILENAME(louno) ":UNO_USER_PACKAGES_CACHE}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini " CONFIGURATION_LAYERS_WINUSERREG " user:${$BRAND_BASE_DIR/" LIBO_ETC_FOLDER "/" PROFILENAME(bootstrap) ":UserInstallation}/user/registrymodifications.xcu";
+ Value = "xcsxcu:${BRAND_BASE_DIR}/" LIBO_SHARE_FOLDER "/registry res:${BRAND_BASE_DIR}/" LIBO_SHARE_FOLDER "/registry" CONFIGURATION_LAYERS_DCONF CONFIGURATION_LAYERS_WINREG " bundledext:${${BRAND_BASE_DIR}/" LIBO_ETC_FOLDER "/" PROFILENAME(louno) ":BUNDLED_EXTENSIONS_USER}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini sharedext:${${BRAND_BASE_DIR}/" LIBO_ETC_FOLDER "/" PROFILENAME(louno) ":SHARED_EXTENSIONS_USER}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini userext:${${BRAND_BASE_DIR}/" LIBO_ETC_FOLDER "/" PROFILENAME(louno) ":UNO_USER_PACKAGES_CACHE}/registry/com.sun.star.comp.deployment.configuration.PackageRegistryBackend/configmgr.ini " CONFIGURATION_LAYERS_WINUSERREG " user:!${$BRAND_BASE_DIR/" LIBO_ETC_FOLDER "/" PROFILENAME(bootstrap) ":UserInstallation}/user/registrymodifications.xcu";
End
#undef CONFIGURATION_LAYERS_DCONF
#undef CONFIGURATION_LAYERS_WINREG
More information about the Libreoffice-commits
mailing list