Skip to content
Snippets Groups Projects
Commit 1297ff95 authored by Ludovico de Nittis's avatar Ludovico de Nittis
Browse files

Merge branch 'wip/usr_warning' into 'master'

wrap: Send a more clear warning when attempting to bind /usr/* dirs

See merge request !284
parents f8eec677 f02230ec
No related branches found
No related tags found
1 merge request!284wrap: Send a more clear warning when attempting to bind /usr/* dirs
Pipeline #11303 passed
......@@ -381,6 +381,9 @@ bind_and_propagate_from_environ (FlatpakExports *exports,
canon = g_canonicalize_filename (values[i], NULL);
value_host = pv_current_namespace_path_to_host_path (canon);
if (flatpak_has_path_prefix (canon, "/usr"))
g_warning_once ("Binding directories that are located under \"/usr/\" is not supported!");
g_info ("Bind-mounting %s=\"%s%s%s\" from the current env as %s=\"%s%s%s\" in the host",
variable, before, values[i], after,
variable, before, value_host, after);
......@@ -2374,6 +2377,9 @@ main (int argc,
g_assert (g_path_is_absolute (opt_filesystems[i]));
g_info ("Bind-mounting \"%s\"", opt_filesystems[i]);
if (flatpak_has_path_prefix (opt_filesystems[i], "/usr"))
g_warning_once ("Binding directories that are located under \"/usr/\" "
"is not supported!");
flatpak_exports_add_path_expose (exports,
FLATPAK_FILESYSTEM_MODE_READ_WRITE,
opt_filesystems[i]);
......
......@@ -126,3 +126,25 @@ gchar *my_g_utf8_make_valid (const gchar *str,
G_LOG_LEVEL_INFO, \
__VA_ARGS__)
#endif
#if !GLIB_CHECK_VERSION(2, 64, 0)
#if defined(G_HAVE_ISO_VARARGS) && (!defined(G_ANALYZER_ANALYZING) || !G_ANALYZER_ANALYZING)
#define g_warning_once(...) \
G_STMT_START { \
static int G_PASTE (_GWarningOnceBoolean, __LINE__) = 0; /* (atomic) */ \
if (g_atomic_int_compare_and_exchange (&G_PASTE (_GWarningOnceBoolean, __LINE__), \
0, 1)) \
g_warning (__VA_ARGS__); \
} G_STMT_END
#elif defined(G_HAVE_GNUC_VARARGS) && (!defined(G_ANALYZER_ANALYZING) || !G_ANALYZER_ANALYZING)
#define g_warning_once(format...) \
G_STMT_START { \
static int G_PASTE (_GWarningOnceBoolean, __LINE__) = 0; /* (atomic) */ \
if (g_atomic_int_compare_and_exchange (&G_PASTE (_GWarningOnceBoolean, __LINE__), \
0, 1)) \
g_warning (format); \
} G_STMT_END
#else
#define g_warning_once g_warning
#endif
#endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment