mirror of
https://github.com/microsoft/vscode.git
synced 2025-12-24 20:26:08 +00:00
fix: glib schema generation for snaps (#179089)
This commit is contained in:
@@ -162,20 +162,20 @@ function compile_giomodules {
|
||||
if [ -f "$1/glib-2.0/gio-querymodules" ]; then
|
||||
rm -rf "$GIO_MODULE_DIR"
|
||||
ensure_dir_exists "$GIO_MODULE_DIR"
|
||||
ln -s "$1"/gio/modules/*.so "$GIO_MODULE_DIR"
|
||||
ln -s "$SNAP"/usr/lib/"$ARCH"/gio/modules/*.so "$GIO_MODULE_DIR"
|
||||
"$1/glib-2.0/gio-querymodules" "$GIO_MODULE_DIR"
|
||||
fi
|
||||
}
|
||||
if [ "$needs_update" = true ]; then
|
||||
async_exec compile_giomodules "$SNAP/usr/lib/$ARCH"
|
||||
async_exec compile_giomodules "/snap/core20/current/usr/lib/$ARCH"
|
||||
fi
|
||||
|
||||
# Setup compiled gsettings schema
|
||||
GS_SCHEMA_DIR="$SNAP_USER_DATA/.local/share/glib-2.0/schemas"
|
||||
export GSETTINGS_SCHEMA_DIR="$SNAP_USER_DATA/.local/share/glib-2.0/schemas"
|
||||
function compile_schemas {
|
||||
if [ -f "$1" ]; then
|
||||
rm -rf "$GS_SCHEMA_DIR"
|
||||
ensure_dir_exists "$GS_SCHEMA_DIR"
|
||||
rm -rf "$GSETTINGS_SCHEMA_DIR"
|
||||
ensure_dir_exists "$GSETTINGS_SCHEMA_DIR"
|
||||
for ((i = 0; i < ${#data_dirs_array[@]}; i++)); do
|
||||
schema_dir="${data_dirs_array[$i]}/glib-2.0/schemas"
|
||||
if [ -f "$schema_dir/gschemas.compiled" ]; then
|
||||
@@ -183,20 +183,20 @@ function compile_schemas {
|
||||
continue
|
||||
fi
|
||||
if [ -n "$(ls -A "$schema_dir"/*.xml 2>/dev/null)" ]; then
|
||||
ln -s "$schema_dir"/*.xml "$GS_SCHEMA_DIR"
|
||||
ln -s "$schema_dir"/*.xml "$GSETTINGS_SCHEMA_DIR"
|
||||
fi
|
||||
if [ -n "$(ls -A "$schema_dir"/*.override 2>/dev/null)" ]; then
|
||||
ln -s "$schema_dir"/*.override "$GS_SCHEMA_DIR"
|
||||
ln -s "$schema_dir"/*.override "$GSETTINGS_SCHEMA_DIR"
|
||||
fi
|
||||
done
|
||||
# Only compile schemas if we copied anything
|
||||
if [ -n "$(ls -A "$GS_SCHEMA_DIR"/*.xml "$GS_SCHEMA_DIR"/*.override 2>/dev/null)" ]; then
|
||||
"$1" "$GS_SCHEMA_DIR"
|
||||
if [ -n "$(ls -A "$GSETTINGS_SCHEMA_DIR"/*.xml "$GSETTINGS_SCHEMA_DIR"/*.override 2>/dev/null)" ]; then
|
||||
"$1" "$GSETTINGS_SCHEMA_DIR"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
if [ "$needs_update" = true ]; then
|
||||
async_exec compile_schemas "$SNAP/usr/lib/$ARCH/glib-2.0/glib-compile-schemas"
|
||||
async_exec compile_schemas "/snap/core20/current/usr/lib/$ARCH/glib-2.0/glib-compile-schemas"
|
||||
fi
|
||||
|
||||
# Gdk-pixbuf loaders
|
||||
|
||||
@@ -453,12 +453,14 @@ export class NativeHostMainService extends Disposable implements INativeHostMain
|
||||
const gdkBackend = process.env['GDK_BACKEND'];
|
||||
const gioModuleDir = process.env['GIO_MODULE_DIR'];
|
||||
const gtkExePrefix = process.env['GTK_EXE_PREFIX'];
|
||||
const gsettingsSchemaDir = process.env['GSETTINGS_SCHEMA_DIR'];
|
||||
delete process.env['GDK_PIXBUF_MODULE_FILE'];
|
||||
delete process.env['GDK_PIXBUF_MODULEDIR'];
|
||||
delete process.env['GTK_IM_MODULE_FILE'];
|
||||
delete process.env['GDK_BACKEND'];
|
||||
delete process.env['GIO_MODULE_DIR'];
|
||||
delete process.env['GTK_EXE_PREFIX'];
|
||||
delete process.env['GSETTINGS_SCHEMA_DIR'];
|
||||
|
||||
shell.openExternal(url);
|
||||
|
||||
@@ -469,6 +471,7 @@ export class NativeHostMainService extends Disposable implements INativeHostMain
|
||||
process.env['GDK_BACKEND'] = gdkBackend;
|
||||
process.env['GIO_MODULE_DIR'] = gioModuleDir;
|
||||
process.env['GTK_EXE_PREFIX'] = gtkExePrefix;
|
||||
process.env['GSETTINGS_SCHEMA_DIR'] = gsettingsSchemaDir;
|
||||
}
|
||||
|
||||
moveItemToTrash(windowId: number | undefined, fullPath: string): Promise<void> {
|
||||
|
||||
Reference in New Issue
Block a user