summaryrefslogtreecommitdiff
path: root/libappstream-builder
Commit message (Collapse)AuthorAgeFilesLines
* Make the appdata filename check match the plugin globsHEADmainRichard Hughes2023-04-261-2/+1
| | | | | This prevents erroring out when processing packages that ship metainfo.xml files in odd places.
* asb-plugin-appdata: Never add default icons to firmware, IMs or codecsPhilip Withnall2022-10-141-19/+0
| | | | | | | | | | | | | | | | Consumers of the appdata file are perfectly capable of adding their own default icons, and the specification doesn’t require icons to be present for any of these component types. If appstream-builder provides a default icon, software centres cannot work out whether it’s provided by the component authors or by appstream-builder. This means software centres cannot override it with their own desktop-specific default icons. Signed-off-by: Philip Withnall <pwithnall@endlessos.org> See: https://gitlab.gnome.org/GNOME/gnome-software/-/issues/1483 Fixes: #419
* Port from libsoup to libcurlRichard Hughes2022-06-081-3/+2
| | | | | | | The former bumped ABI, and all sorts of crazy happens when you link in libappstream-glib into a process with the 'other' ABI. It seems the universe has settled on curl as a dep; do the same.
* Remove the --enable-hidpi option completelyRichard Hughes2022-06-087-37/+9
| | | | Based on a patch by Fabian Vogt <fvogt@suse.de>, many thanks.
* trivial: Be explicit when ignoring return error valuesRichard Hughes2022-04-132-3/+4
|
* Fix extracting relative symlinksFabian Vogt2022-03-091-44/+5
| | | | | | | | | | | | ebdefa2745 tried to fix handling of relative symlinks in archives, but that only addressed targets starting with ".."/. Fix it properly by using asb_utils_sanitise_path only for absolute paths, keep relative paths as-is. Simplify code for handling absolute symlinks by just prepending the root instead of converting it to a relative link. Hardlink targets are returned as paths relative to the archive root, so the sanitization code is correct there.
* libappstream-builder: Fix file paths in icon tarballFabian Vogt2022-02-161-1/+4
| | | | | | | | | dbd62f6e05 removed the WxH directory from the icon filenames, which were also used as-is for the paths in the icons tarball. However, if width and height are set on the icon, then it has to be inside a size-specific directory. With HiDPI enabled, it did even overwrite the non-HiDPI icon it saved just before because the filenames were the same. Add the subdirectory back in the resource handling code.
* Update asb-self-test to match current behaviorOtto Urpelainen2021-05-181-1/+1
| | | | | Apparently, write ordering of some field schanged at some point, but the test case was not updated. Updating to allow Travis CI to pass.
* builder: make directories as 0755 && umaskPavel Raiskup2021-05-041-1/+1
| | | | | | | | | Ideally only libappstream-builder would be fixed, but asb_utils_ensure_exists is (transitively) called from builder too, so fixing also that. Fixes: #399 Merges: #400
* libappstream-builder: Fix paths for cached iconsPhilip Withnall2021-03-172-19/+11
| | | | | | | | | | | | | | | | | | | As per https://www.freedesktop.org/software/appstream/docs/sect-AppStream-IconCache.html#spec-iconcache-location, the size of an icon should be specified in its `width` and `height` attributes, rather than as part of its name. This was resulting in icons like this in the rpmfusion-free-33 appdata: ``` <icon type="cached" height="128" width="128">128x128/chromium-browser-privacy.png</icon> ``` which were then being resolved to the path: ``` /usr/share/app-info/icons/rpmfusion-free-33/128x128/128x128/chromium-browser-privacy.png ``` which contains a duplicate size subdirectory. Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
* Use ".so" suffix for the plugins on macOSOleksii Samorukov2020-01-171-0/+12
|
* Allow non-desktop components to be extendedRichard Hughes2019-04-091-2/+0
| | | | There's no obvious reason why we should restrict this in the generator.
* trivial: Fix some typos spotted using codespellRichard Hughes2019-04-085-8/+8
|
* trivial: Remove unused .map file from the builderRichard Hughes2019-02-281-6/+0
|
* Use '#pragma once' to avoid a lot of boilerplateRichard Hughes2019-02-0913-55/+13
|
* Use the SPDX-License-Identifier in all source filesRichard Hughes2019-02-0932-480/+32
|
* Recognise uncompressed Arch packagesRichard Hughes2019-02-061-1/+2
| | | | Fixes https://github.com/hughsie/appstream-glib/issues/264
* Do not install the libappstream-builder shared libraryRichard Hughes2019-02-062-69/+1
| | | | Nothing uses it, and it's not API or ABI stable.
* Use as_utils_vercmp_full internallyKalev Lember2019-01-041-2/+2
| | | | | | | | | This fixes, among other things, appdata validation when the version goes from 9.5 to 10, or 0.9 to 1. This partially fixes https://github.com/hughsie/appstream-glib/issues/270 We're still failing to correctly compare "Build 9.5" to "Build 10".
* Do not parse firmware filesRichard Hughes2018-06-123-239/+14
| | | | Firmware should now be distributed using the LVFS and consumed by fwupd.
* trivial: Fix font generation regression in appstream-builderRichard Hughes2018-05-252-9/+4
| | | | | | | 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: Ignore missing converted cached iconsRichard Hughes2018-05-241-10/+5
|
* Convert local icons found in metainfo fileswip/hughsie/icons-in-metainfoRichard Hughes2018-05-034-164/+242
| | | | | | | This allows us to support desktop-less components that specify a cached icon. The icon search code has been split into a new plugin that is run after the appdata and desktop plugins have added the AsbApp to the list of available apps.
* trivial: Sort the plugins in the correct order, i.e. ABC, not CBARichard Hughes2018-05-031-1/+1
|
* trivial: Allow specifying <icon> tags in metainfo filesRichard Hughes2018-05-031-6/+0
|
* Use the launchable to find the desktop filename when using appstream-builderRichard Hughes2018-05-021-1/+13
|
* Don't include the path component in the name when parsing the package filenameRichard Hughes2018-03-272-5/+17
| | | | | | | | If the guessing fails, we fall back to the arch/rpm/deb-derived name but we don't want to show weird things in the logs. Fixes https://github.com/hughsie/appstream-glib/issues/228, many thanks to Andrew Gunnerson for the initial patch.
* Use shell-extensions::uuid for custom shell extensions metadata keyKalev Lember2018-03-131-1/+1
| | | | | ... to match with what the shell extensions plugin in gnome-software does.
* Always resize AppStream icons to fit the destination sizeRichard Hughes2018-03-091-1/+1
| | | | | Padding is no longer being used as it makes the software center look bad. Lets make the application author look bad instead so they can fix the icon.
* Don't abort the build if pngquant failsRichard Hughes2018-03-012-4/+9
| | | | | Sometimes it returns a return code 25088 (which is 0x6200) which isn't an error code in rwpng.h -- we can't really trust pngquant so just log the warning.
* Add custom metadata key for shell extension uuidKalev Lember2018-02-221-1/+2
| | | | | ... and convert the appstream ID to be compatible with what gnome-tweaks uses (@'s replaced with _ and no .shell-extension at the end).
* Treat pngquant exit code of 98 (nothing done) as successRichard Hughes2018-02-211-1/+1
| | | | Fixes https://github.com/hughsie/appstream-glib/issues/223
* Do not use an 'enable' prefix for meson argumentsRichard Hughes2017-12-182-7/+7
|
* Don’t fall back to en if other languages are available.Peter Oliver2017-11-301-3/+1
| | | | Languages may have been pre-added based on the information in `metainfo.xml` files, so just because we didn’t auto-detect a language doesn’t mean that none are present. Fixes #207.
* Generate icons and samples for emoji fonts.Peter Oliver2017-11-211-0/+2
|
* Use pngquant to make the application icons take up less spaceRichard Hughes2017-11-143-0/+41
| | | | Fixes https://github.com/hughsie/appstream-glib/issues/203
* Do not try to extract duplicate files in the icon theme packagesRichard Hughes2017-11-131-0/+5
| | | | Fixes an extraction issue when using OpenSUSE.
* trivial: Disable the fonts self tests in the builderRichard Hughes2017-11-031-2/+19
|
* Only try to set the file permissions on regular filesRichard Hughes2017-11-031-1/+4
| | | | Fixes a build error with the mcomix package in openSUSE.
* trivial: Show a useful error message if decompressing a package failsRichard Hughes2017-11-032-2/+4
|
* Fix the inode mode to be sane on extracted filesRichard Hughes2017-10-201-0/+1
| | | | Fixes https://github.com/hughsie/appstream-glib/issues/190
* Write XML for newer AppStream specification versionsRichard Hughes2017-10-091-0/+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.
* libappstream-builder/utils: Drop an unreachable branchPhilip Withnall2017-08-201-4/+0
| | | | | | | | | There’s a precondition check for (search != NULL), so the function will hit an assertion failure before this branch. Coverity CID: 1454189 Signed-off-by: Philip Withnall <philip@tecnocode.co.uk>
* meson: introspection optionalPatrick Ohly2017-07-261-18/+20
| | | | | | | | | | | | | | | | Calling g-ir-scanner when cross-compiling with bitbake/OpenEmbedded fails because it calls the wrong ld (the one from the host). More work will be needed in meson.bbclass and/or gobject-introspection.bbclass to make it work. In the meantime, having an option to turn of introspection is useful perhaps also in other cases where the extra work is not needed. For example, fwupd works fine also when it is off. The name of the new meson option matches the --disable-introspection that is used by some autotools-based projects. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
* Have plugins link with asglib along with asbuilderNeal Gompa2017-07-241-6/+6
| | | | This fixes the build for appstream-glib on Mageia.
* Fix regression when building component types without iconsRichard Hughes2017-06-141-0/+3
| | | | These components are allowed to have no icon since b5b4a855.
* Allow compiling with newer versions of mesonRichard Hughes2017-06-131-1/+4
| | | | | | | | | | In 0.41.0 meson introduced it's own 'dist' target and so we don't need to define this ourselves anymore. Use a version compare to avoid depending on a very new meson. Also, fix up some underlinking which was somehow allowed before. Fixes: https://github.com/hughsie/appstream-glib/issues/170
* Do not add the GNOME-Software-specific categories or icons by defaultRichard Hughes2017-06-075-39/+52
| | | | | This is better done client side. Add a build flag so we can still build metadata for old versions of Fedora.
* Add the missing shell-extension pluginRichard Hughes2017-06-011-0/+18
| | | | I guess this was missed in the move to meson.
* Actually return failure if the AsbTask failsRichard Hughes2017-06-011-58/+38
| | | | Now that we're not threaded we can provide a sane error.