summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <smcv@debian.org>2020-08-11 11:45:10 +0100
committerSimon McVittie <smcv@debian.org>2020-08-11 12:09:47 +0100
commitdf477a3d6c1b86f1913e6dbf3fcb587114d11606 (patch)
treee682374f3206a438bf9704fef64383f6d8308832
parentd4c17527d04b8148e543d7c3be0e3ea5048ab7b1 (diff)
downloadgnome-desktop-df477a3d6c1b86f1913e6dbf3fcb587114d11606.tar.gz
thumbnail: Mount /etc/alternatives if it exists
On distributions that use dpkg's update-alternatives(8), Red Hat's reimplementation or some other fork or reimplementation of the same concept, /etc/alternatives is conceptually a configuration layer over part of /usr. On those distributions, we cannot rely on /usr to be self-contained, but the combination of /usr and /etc/alternatives probably *is* self-contained. Resolves: https://gitlab.gnome.org/GNOME/gnome-desktop/-/issues/92 Bug-Debian: https://bugs.debian.org/943434 Signed-off-by: Simon McVittie <smcv@debian.org>
-rw-r--r--libgnome-desktop/gnome-desktop-thumbnail-script.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/libgnome-desktop/gnome-desktop-thumbnail-script.c b/libgnome-desktop/gnome-desktop-thumbnail-script.c
index 6ffbe6d1..5a72e8b1 100644
--- a/libgnome-desktop/gnome-desktop-thumbnail-script.c
+++ b/libgnome-desktop/gnome-desktop-thumbnail-script.c
@@ -556,6 +556,18 @@ add_bwrap (GPtrArray *array,
if (!g_str_has_prefix (FONTCONFIG_CACHE_PATH, "/usr/"))
add_args (array, "--ro-bind-try", FONTCONFIG_CACHE_PATH, FONTCONFIG_CACHE_PATH, NULL);
+ /*
+ * Used in various distributions. On those distributions, /usr is not
+ * complete without it: some files in /usr might be a symbolic link
+ * like /usr/bin/composite -> /etc/alternatives/composite ->
+ * /usr/bin/composite-im6.q16.
+ *
+ * https://manpages.debian.org/stable/dpkg/update-alternatives.1.en.html
+ * https://docs.fedoraproject.org/en-US/packaging-guidelines/Alternatives/
+ * https://en.opensuse.org/openSUSE:Packaging_Multiple_Version_guidelines
+ */
+ add_args (array, "--ro-bind-try", "/etc/alternatives", "/etc/alternatives", NULL);
+
add_args (array,
"--proc", "/proc",
"--dev", "/dev",