summaryrefslogtreecommitdiff
path: root/libappstream-glib/as-app.c
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Don't emit legacy component type values"Richard Hughes2021-12-031-2/+2
| | | | This reverts commit 3fa624026f608ef8465fb339f86725aaf648e09f.
* Don't emit legacy component type valuesMatthias Klumpp2021-08-101-2/+2
|
* Consider AppStream version as a stringCorentin Noël2021-08-031-2/+2
| | | | | | Always store the AppStream metadata version as a string and compare it like any other version. This allows to have 0.10 > 0.8 for instance.
* Add validation for duplicate license xml elementsOtto Urpelainen2021-05-181-1/+5
| | | | | | | | 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.
* as-app: Parse launchables from DEP-11Sebastian Krzyszkowiak2020-12-021-0/+12
|
* as-app: Parse custom tags from DEP-11Sebastian Krzyszkowiak2020-12-021-0/+8
|
* as-app: Don't initialize mutex twiceKalev Lember2020-06-111-1/+0
| | | | | We managed to merge two MRs to initialize the unique id mutex. Remove one of the g_mutex_init calls to avoid doing it twice.
* as-app: Properly initialize unique_id_mutexLaurent Bigonville2020-04-161-0/+1
| | | | | That should fix FTBFS on some architectures Fixes: #356
* as-app: properly initialize unique_id_mutexMarc-Antoine Perennou2019-12-031-0/+1
| | | | | | | | | | We are using it, clearing it, but e never initialize it. For some reasons it seems to work, not sure how or why, but when glib is uilt with clang, then the problem surfaces and we get a nice segmentation fault. Properly initializing it fixes this Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
* as-app: add "icon-theme" as recognised component typeFabio Valentini2019-11-011-0/+2
|
* Allow parsing desktop files using as_app_parse_data()Richard Hughes2019-09-301-0/+2
| | | | This fixes showing local apps in GNOME Software without AppStream information.
* Allow building on WindowsJehan2019-03-261-3/+11
| | | | Signed-off-by: Richard Hughes <richard@hughsie.com>
* Use the SPDX-License-Identifier in all source filesRichard Hughes2019-02-091-15/+1
|
* app: Add locking to unique id buildingKalev Lember2019-01-041-0/+7
| | | | | | | | | | This fixes crashes in gnome-software when concurrently calling as_app_get_unique_id() from multiple threads. https://bugzilla.redhat.com/show_bug.cgi?id=1655775 https://bugzilla.redhat.com/show_bug.cgi?id=1643702 https://bugzilla.redhat.com/show_bug.cgi?id=1640446 https://bugzilla.redhat.com/show_bug.cgi?id=1530719
* app: Tokenize the ID when adding search tokensKalev Lember2018-11-271-0/+4
| | | | | This allows the search to match on e.g. "eog" for an app that has the ID of "org.gnome.org".
* Add as_app_to_xml()Richard Hughes2018-10-091-13/+28
| | | | This allows us to load in a file and export it as AppData XML.
* Do not restrict the maximum number of releases allowed per-componentRichard Hughes2018-08-161-1/+1
| | | | If this needs limiting it needs to be done on the generator.
* trivial: Fix a small memory leak when adding keywords manuallyRichard Hughes2018-07-111-1/+3
|
* trivial: Fix GObjectIntrospection markup for adding metadataRichard Hughes2018-06-131-1/+1
|
* trivial: Fix font generation regression in appstream-builderRichard Hughes2018-05-251-4/+0
| | | | | | | Two problems here: * Don't force an unknown icon to CACHED when reading from a desktop file * Don't try to convert an icon to a CACHED icon when it's already CACHED.
* trivial: Do not strdup keywords when parsing the XMLRichard Hughes2018-05-221-32/+37
|
* trivial: Do not duplicate each <category> or <project_group> tagRichard Hughes2018-05-211-4/+5
|
* trivial: Do not duplicate tiny strings for each <lang> and <caption> tagRichard Hughes2018-05-211-2/+3
|
* trivial: Do not store hundreds of duplicate AsIcon prefix stringsRichard Hughes2018-05-211-1/+1
|
* trivial: Do not store hundreds of duplicate AsApp origin stringsRichard Hughes2018-05-211-0/+7
|
* trivial: Return the enums as static AsRefString objectsRichard Hughes2018-05-211-2/+3
| | | | This allows us to trivially dedupe kudos and URL kinds.
* trivial: Assume that all strings are AsRefString objects when using subsumeRichard Hughes2018-05-211-12/+6
|
* trivial: Store the locale as an interned stringRichard Hughes2018-05-211-4/+4
|
* trivial: Do not store hundreds of duplicate AsApp icon path stringsRichard Hughes2018-05-211-0/+7
|
* trivial: Do not use deprecated API internallyRichard Hughes2018-05-211-1/+1
|
* trivial: Don't crash when validating <id/>Richard Hughes2018-05-211-0/+7
|
* trivial: Don't crash when validating <description/>Richard Hughes2018-05-211-0/+2
|
* Add support for component agreementsRichard Hughes2018-04-111-1/+127
| | | | | This enables a lot of software to comply with the GDPR and also allows us to show translated warning and EULA text to unsuspecting users.
* trivial: Fix the introspection for as_app_get_metadata()Richard Hughes2018-03-121-1/+1
|
* trivial: Never add duplicated <requires> nodes for componentsRichard Hughes2018-02-231-0/+9
|
* Fix an invalid read when using as_app_parse_data() from PythonRichard Hughes2018-01-241-2/+12
| | | | | | | | Using GObject Introspection we were creating an object using GLib.Bytes.new(buf) where buf was a python str object. This created a GBytes object with no trailing NUL char but we were expecting a NUL-terminated string when both doing fnmatch() and also processing the XML. Support this by guarding fnmatch and also by using the string length when using the GMarkupParseContext.
* Don't expect an enum when really passing a bitfieldRichard Hughes2018-01-221-22/+19
| | | | | The size of an enum is undefined for most compilers (although, GCC normally does something sensible) but be explicit to avoid changing ABI accidentally.
* Add more GObject Introspection annotations for PythonRichard Hughes2018-01-221-13/+13
|
* trivial: Fix regression when parsing XML AppData filesRichard Hughes2017-12-191-1/+1
|
* Add as_app_parse_data()Richard Hughes2017-12-151-37/+59
| | | | This allows us to parse an AsApp object from a blob of memory.
* trivial: Check for duplicate content ratings sections with the same kindRichard Hughes2017-12-091-0/+12
|
* Never change the default screenshot when processing AppDataRichard Hughes2017-12-091-0/+4
| | | | Fixes https://github.com/hughsie/appstream-glib/issues/210
* Add as_app_get_screenshot_default()Richard Hughes2017-10-091-0/+19
|
* Write XML for newer AppStream specification versionsRichard Hughes2017-10-091-1/+1
| | | | | | | | | Any XML parser should ignore the extra tags or attributes, and so it serves no purpose to artificailly hide these when building metadata for older versions of the specification. This also fixes a bug on i386 where 0.6 != 0.6 and I didn't want to use fabs() all over the place for basically no reason.
* Add as_app_get_release_by_version()Richard Hughes2017-09-141-0/+23
|
* Fail to validate if AppData screenshots are duplicatedRichard Hughes2017-08-031-1/+3
| | | | | | | | | | | | As as_app_parse_file() uses %AS_APP_TRUST_FLAG_CHECK_DUPLICATES our existing validation rule checker to work. Add this to the AsAppProblems bitfield and check this for a validation failure. Now: • tag-invalid : <screenshot> content was duplicated Fixes: https://github.com/hughsie/appstream-glib/issues/185
* Support CompulsoryForDesktops in YAMLIain Lane2017-07-101-0/+11
| | | | | | So that software centres don't present them as removable. Closes #175
* Do not enforce that the project_group is a valid environment_idRichard Hughes2017-06-021-1/+1
| | | | Resolves: https://github.com/hughsie/appstream-glib/issues/168
* trivial: Fix a warning message to be more clearRichard Hughes2017-06-011-1/+1
|
* Show a warning if adding keywords after the keyword cache was createdRichard Hughes2017-05-231-0/+8
|