[gnome-shell] build: Use python postinstall script



commit 2d4941f432837f3dec841ccf922d9490dba4e6be
Author: Florian Müllner <fmuellner gnome org>
Date:   Tue Dec 3 23:45:41 2019 +0100

    build: Use python postinstall script
    
    This is what most GNOME modules now use instead of a shell script,
    which makes sense given that the build system itself is written
    in python.
    
    This particular copy comes from nautilus ...
    
    https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/920

 meson.build                |  2 +-
 meson/meson-postinstall.sh | 10 ----------
 meson/postinstall.py       | 21 +++++++++++++++++++++
 3 files changed, 22 insertions(+), 11 deletions(-)
---
diff --git a/meson.build b/meson.build
index ebbfb79948..1ee2107036 100644
--- a/meson.build
+++ b/meson.build
@@ -266,4 +266,4 @@ if get_option('gtk_doc')
   subdir('docs/reference')
 endif
 
-meson.add_install_script('meson/meson-postinstall.sh')
+meson.add_install_script('meson/postinstall.py')
diff --git a/meson/postinstall.py b/meson/postinstall.py
new file mode 100755
index 0000000000..528739149b
--- /dev/null
+++ b/meson/postinstall.py
@@ -0,0 +1,21 @@
+#!/usr/bin/env python3
+
+import os
+import subprocess
+
+prefix = os.environ.get('MESON_INSTALL_PREFIX', '/usr/local')
+datadir = os.path.join(prefix, 'share')
+
+# Packaging tools define DESTDIR and this isn't needed for them
+if 'DESTDIR' not in os.environ:
+    print('Updating desktop database...')
+    desktop_database_dir = os.path.join(datadir, 'applications')
+    if not os.path.exists(desktop_database_dir):
+        os.makedirs(desktop_database_dir)
+    subprocess.call(['update-desktop-database', '-q', desktop_database_dir])
+
+    print('Compiling GSettings schemas...')
+    schemas_dir = os.path.join(datadir, 'glib-2.0', 'schemas')
+    if not os.path.exists(schemas_dir):
+        os.makedirs(schemas_dir)
+    subprocess.call(['glib-compile-schemas', schemas_dir])


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]