diff options
author | Otto Urpelainen <oturpe@iki.fi> | 2021-05-13 23:21:34 +0300 |
---|---|---|
committer | Richard Hughes <richard@hughsie.com> | 2021-05-18 13:31:18 +0100 |
commit | cf73b762112730acfd4f7b11594a30a2b49e2443 (patch) | |
tree | 1241d3198362ccf7ba65342e263228b33bd429c2 /libappstream-glib/as-app-validate.c | |
parent | 462dcd2b74dbeec45d900603320c8d9074f13cc9 (diff) | |
download | appstream-glib-cf73b762112730acfd4f7b11594a30a2b49e2443.tar.gz |
Add validation for duplicate license xml elements
AppStream license syntax allows constructs of form "LICENSE1 AND
LICENSE2". It is possible to confuse this with writing multiple license
xml elements in a metainfo file. In order to spot this type of error,
duplicate detection is added for xml elements metadata_license and
project_license.
Diffstat (limited to 'libappstream-glib/as-app-validate.c')
-rw-r--r-- | libappstream-glib/as-app-validate.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libappstream-glib/as-app-validate.c b/libappstream-glib/as-app-validate.c index 60b46e5..7de7814 100644 --- a/libappstream-glib/as-app-validate.c +++ b/libappstream-glib/as-app-validate.c @@ -1525,6 +1525,16 @@ as_app_validate (AsApp *app, guint32 flags, GError **error) AS_PROBLEM_KIND_TAG_INVALID, "<updatecontact> should be <update_contact>"); } + if ((problems & AS_APP_PROBLEM_DUPLICATE_PROJECT_LICENSE) > 0) { + ai_app_validate_add(helper, + AS_PROBLEM_KIND_TAG_INVALID, + "<project_license> was duplicated"); + } + if ((problems & AS_APP_PROBLEM_DUPLICATE_METADATA_LICENSE) > 0) { + ai_app_validate_add(helper, + AS_PROBLEM_KIND_TAG_INVALID, + "<metadata_license> was duplicated"); + } } /* check invalid values */ |