diff options
author | Christian Persch <chpe@src.gnome.org> | 2022-11-16 20:09:45 +0100 |
---|---|---|
committer | Christian Persch <chpe@src.gnome.org> | 2022-11-16 20:09:45 +0100 |
commit | 4eb993cb977eb7ea2802d16f34c8e8801e37050b (patch) | |
tree | 300802b06c7f3fc67899ffb5b12cbbae2f34a92a /data | |
parent | 069b76eb592d318881d5eeab4ec8ce0d1236f651 (diff) | |
download | gnome-terminal-4eb993cb977eb7ea2802d16f34c8e8801e37050b.tar.gz |
build: Validate all desktop files
Diffstat (limited to 'data')
-rw-r--r-- | data/meson.build | 1 | ||||
-rwxr-xr-x | data/meson_desktopfile.py | 25 |
2 files changed, 22 insertions, 4 deletions
diff --git a/data/meson.build b/data/meson.build index cb4c4f64..f2572df4 100644 --- a/data/meson.build +++ b/data/meson.build @@ -69,6 +69,7 @@ meson.add_install_script( 'meson_desktopfile.py', desktopdatadir, gt_dns_name + '.desktop', + gt_dns_name + '.Preferences.desktop', ) # Install a symlink for xdg-terminal-exec diff --git a/data/meson_desktopfile.py b/data/meson_desktopfile.py index ced926f1..f052a6b9 100755 --- a/data/meson_desktopfile.py +++ b/data/meson_desktopfile.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# Copyright © 2019 Christian Persch +# Copyright © 2019, 2022 Christian Persch # # This programme is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -21,8 +21,25 @@ import sys if os.environ.get('DESTDIR'): sys.exit(0) +argc = len(sys.argv) +if argc < 3: + sys.exit(1) + prefix = os.environ['MESON_INSTALL_PREFIX'] -desktopfile = os.path.join(prefix, sys.argv[1], sys.argv[2]) +desktopdatadir = sys.argv[1] + +exit_code = 0 + +for i in range(2, argc): + try: + desktopfile = os.path.join(prefix, desktopdatadir, sys.argv[i]) + result = subprocess.run(['desktop-file-validate', + desktopfile]) + if result.returncode != 0: + exit_code = 1 + + except FileNotFoundError: + # desktop-file-validate not installed + pass -rv = subprocess.call(['desktop-file-validate', desktopfile]) -sys.exit(rv) +sys.exit(exit_code) |