[file-roller] meson: added postinstall script



commit 82f5ff0ee022724440cc9e838e6c90d186ccf6b0
Author: Paolo Bacchilega <paobac src gnome org>
Date:   Tue Oct 24 18:06:56 2017 +0200

    meson: added postinstall script

 meson.build    |    2 ++
 postinstall.py |   27 +++++++++++++++++++++++++++
 2 files changed, 29 insertions(+), 0 deletions(-)
---
diff --git a/meson.build b/meson.build
index 526f020..4db639e 100644
--- a/meson.build
+++ b/meson.build
@@ -19,6 +19,8 @@ datadir = join_paths(prefix, get_option('datadir'))
 privexecdir = join_paths(prefix, get_option('libexecdir'), meson.project_name())
 c_comp = meson.get_compiler('c')
 
+meson.add_install_script('postinstall.py')
+
 # Dependencies
 
 libm_dep = c_comp.find_library('m')
diff --git a/postinstall.py b/postinstall.py
new file mode 100644
index 0000000..3a245cd
--- /dev/null
+++ b/postinstall.py
@@ -0,0 +1,27 @@
+#!/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 icon cache…')
+    icon_cache_dir = os.path.join(datadir, 'icons', 'hicolor')
+    if not os.path.exists(icon_cache_dir):
+        os.makedirs(icon_cache_dir)
+    subprocess.call(['gtk-update-icon-cache', '-qtf', icon_cache_dir])
+
+    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]