[gnome-runtime-images/abderrahim/config-args] rewrite-flatpak-manifest: allow overriding config-opts from flatpak manifest



commit 139725a620dc03e97f684c512e731535493c1ac8
Author: Abderrahim Kitouni <akitouni gnome org>
Date:   Sat May 23 11:21:30 2020 +0100

    rewrite-flatpak-manifest: allow overriding config-opts from flatpak manifest

 rewrite-flatpak-manifest | 23 +++++++++++++++++------
 1 file changed, 17 insertions(+), 6 deletions(-)
---
diff --git a/rewrite-flatpak-manifest b/rewrite-flatpak-manifest
index 2d0e53e..d637e66 100755
--- a/rewrite-flatpak-manifest
+++ b/rewrite-flatpak-manifest
@@ -12,7 +12,7 @@ import os, sys
 
 from contextlib import contextmanager
 
-def rewrite_json_manifest(filename):
+def rewrite_json_manifest(filename, config):
     with open(filename) as f:
         data = Json.from_string(f.read())
 
@@ -36,10 +36,16 @@ def rewrite_json_manifest(filename):
 
             mod.set_array_member('sources', new_sources)
 
+            if config:
+                newconfig = Json.Array.sized_new(len(config))
+                for arg in config:
+                    newconfig.add_string_element(arg)
+                mod.set_array_member('config-opts', newconfig)
+
     with open(filename, 'w') as f:
         f.write(Json.to_string(data, True))
 
-def rewrite_yaml_manifest(filename):
+def rewrite_yaml_manifest(filename, config):
     with open(filename) as f:
         data = yaml.round_trip_load(f, preserve_quotes=True)
 
@@ -54,17 +60,22 @@ def rewrite_yaml_manifest(filename):
                 path = os.path.relpath('.', os.path.dirname(manifestfile))
                 mod['sources'][i] = {'type': 'dir', 'path': path}
 
+                if config:
+                    mod['config-opts'] = config
+
     with open(filename, 'w') as f:
         yaml.round_trip_dump(data, f)
 
 if __name__ == '__main__':
     try:
-        manifestfile, modulename = sys.argv[1:]
+        manifestfile = sys.argv[1]
+        modulename = sys.argv[2]
+        config = sys.argv[3:]
     except ValueError:
-        print("usage: {} flatpak_manifest module_name".format(sys.argv[0]))
+        print("usage: {} flatpak_manifest module_name [config-opt ...]".format(sys.argv[0]))
         sys.exit(1)
 
     if manifestfile.endswith('.json'):
-        rewrite_json_manifest(manifestfile)
+        rewrite_json_manifest(manifestfile, config)
     else:
-        rewrite_yaml_manifest(manifestfile)
+        rewrite_yaml_manifest(manifestfile, config)


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