summaryrefslogtreecommitdiff
path: root/configmgr
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2018-04-04 15:44:40 +0200
committerStephan Bergmann <sbergman@redhat.com>2018-04-04 17:22:25 +0200
commit8bd827c976037381be963d4ef99bfb9a2d720889 (patch)
treec2c19971b56f5c0c6b46e2fd44725ff16299f011 /configmgr
parent480309b6a7f4ed182f005be70de436ae2fbcd1a7 (diff)
Ignore dangling symlink configuration files
This will be used by the Flatpak build, to offload per-locale data to a Locale extension (which expects all per-locale files to be in one place, so we need to add---potentially dangling, if a given locale is not installed---symlinks from the original places to the location where that Locale extension stores the actual files). Change-Id: Id13b8c53fbc9e0763e53fd09c0c059c9e638c13d Reviewed-on: https://gerrit.libreoffice.org/52381 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'configmgr')
-rw-r--r--configmgr/source/components.cxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/configmgr/source/components.cxx b/configmgr/source/components.cxx
index 3f99191bb2d4..e296f8dfa8de 100644
--- a/configmgr/source/components.cxx
+++ b/configmgr/source/components.cxx
@@ -708,6 +708,10 @@ void Components::parseFiles(
parseFileLeniently(
parseFile, stat.getFileURL(), layer, nullptr, nullptr, nullptr);
} catch (css::container::NoSuchElementException & e) {
+ if (stat.getFileType() == osl::FileStatus::Link) {
+ SAL_WARN("configmgr", "dangling link <" << stat.getFileURL() << ">");
+ continue;
+ }
throw css::uno::RuntimeException(
"stat'ed file does not exist: " + e.Message);
}
@@ -784,6 +788,10 @@ void Components::parseXcdFiles(int layer, OUString const & url) {
stat.getFileURL(),
new XcdParser(layer, processedDeps, data_));
} catch (css::container::NoSuchElementException & e) {
+ if (stat.getFileType() == osl::FileStatus::Link) {
+ SAL_WARN("configmgr", "dangling link <" << stat.getFileURL() << ">");
+ continue;
+ }
throw css::uno::RuntimeException(
"stat'ed file does not exist: " + e.Message);
}