No description
  • C 97%
  • Meson 1.2%
  • Python 1.1%
  • CSS 0.4%
  • Shell 0.2%
Find a file
2025-07-18 16:45:47 +03:00
.gitlab/issue_templates gitlab: Remind people to search for duplicates before filing issues 2023-03-20 10:32:00 +00:00
.gitlab-ci ci: Support publishing help translations 2025-02-21 13:55:30 +00:00
build-aux flatpak: Update version of bundled appstream 2025-01-16 10:51:26 +02:00
contrib flatpak: Move Flatpak-related files to build-aux 2024-09-29 09:48:41 +01:00
data Add warning 2025-07-18 16:45:47 +03:00
doc doc: Fix a link to the wiki to point to the new help pages instead 2025-02-21 14:06:51 +00:00
gs-install-appstream strings: Change "application" to "app" 2022-12-17 23:43:08 +00:00
help Add French translation for help 2025-04-28 13:24:54 +01:00
lib gs-appstream: Add thread safety into refine of relations 2025-05-06 12:31:32 +01:00
plugins performance: fix high idle RAM usage by calling malloc_trim() after parsing large XML files 2025-04-23 09:35:03 +01:00
po Add warning 2025-07-18 16:45:47 +03:00
src Add warning 2025-07-18 16:45:47 +03:00
subprojects build: Bump libadwaita dependency to 1.6.0 2024-09-26 16:13:00 +01:00
tests tests: Add basic tests for GsAppPermissions 2025-02-28 09:57:20 +00:00
.editorconfig editorconfig: Add style for UI files 2021-10-05 20:46:13 +01:00
.gitignore gitignore: Add flatpak-builder directory 2024-09-28 00:18:36 -04:00
.gitlab-ci.yml ci: Only run pages job on origin remote 2025-03-18 11:02:54 +00:00
.gitmodules subprojects: Make gnome-pwa-list a submodule 2022-06-13 11:49:08 +01:00
AUTHORS featured: provide some attribution 2016-02-09 11:00:48 +01:00
COMMITMENT Add COMMITMENT file as part of GPL Common Cure Rights Commitment 2018-06-18 16:21:10 +01:00
COPYING Initial commit of COPYING 2012-05-24 10:00:44 +01:00
gnome-software.doap docs: Remove Phaedrus from the DOAP file 2024-03-28 09:15:36 +00:00
meson.build trivial: Post release version bump 2025-06-27 08:45:01 +02:00
meson_options.txt tests: Add basic tests for GsAppPermissions 2025-02-28 09:57:20 +00:00
meson_post_install.sh trivial: Fix the permissions of the meson install file 2016-12-12 12:27:57 +00:00
NEWS Release version 48.3 2025-06-27 08:43:58 +02:00
README.md Replace wiki links 2024-03-01 17:56:32 +01:00
RELEASE.md docs: Update the release documentation to use the release service 2025-01-04 15:23:49 +00:00

Build Status

Software

Software allows users to easily find, discover and install apps. It also keeps their OS, apps and devices up to date without them having to think about it, and gives them confidence that their system is up to date. It supports popular distributions, subject to those distributions maintaining their own distro-specific integration code.

The specific use cases that Software covers are documented in more detail.

Features

A plugin system is used to access software from different sources. Plugins are provided for:

  • Traditional package installation via PackageKit (e.g. Debian package, RPM).
  • Next generation packages: Flatpak and Snap.
  • Firmware updates.
  • Ratings and reviews using ODRS.

Software supports showing metadata that closely matches the AppStream format.

Software runs as a background service to provide update notifications and be a search provider for GNOME Shell.

Contact

For questions about how to use Software, ask on Discourse.

Bug reports and merge requests should be filed on GNOME GitLab.

For development discussion, join us on #gnome-software:gnome.org on Matrix.

Documentation for app developers and vendors

Specific documentation is available for app developers who wish to test how their apps appear in GNOME Software; and for distribution vendors who wish to customise how GNOME Software appears in their distribution:

Running a nightly build

A flatpak bundle of Software can be built on demand here by running the flatpak bundle CI job. It is not fully functional, but is useful for development and testing of upcoming UI changes to Software. It may become more functional over time. It is not an official or supported release.

The CI job saves the bundle in its artifacts list as gnome-software-dev.flatpak. This can be installed and run locally by downloading it and running:

$ flatpak install --bundle ./gnome-software-dev.flatpak
$ flatpak run org.gnome.SoftwareDevel

Building locally

Software uses a number of plugins and depending on your operating system you may want to disable or enable certain ones. For example on Fedora Silverblue you'd want to disable the packagekit plugin as it wouldn't work. See the list in meson_options.txt and use e.g. -Dpackagekit=false in the meson command below.

Build locally with:

$ meson --prefix $PWD/install build/
$ ninja -C build/ all install
$ killall gnome-software
# On Fedora, RHEL, etc:
$ XDG_DATA_DIRS=install/share:$XDG_DATA_DIRS LD_LIBRARY_PATH=install/lib64/:$LD_LIBRARY_PATH ./install/bin/gnome-software
# On Debian, Ubuntu, etc:
$ XDG_DATA_DIRS=install/share:$XDG_DATA_DIRS LD_LIBRARY_PATH=install/lib/x86_64-linux-gnu/:$LD_LIBRARY_PATH ./install/bin/gnome-software

Debugging

See the debugging documentation.

Maintainers

Software is maintained by several co-maintainers, as listed in gnome-software.doap. All changes to Software need to be reviewed by at least one co-maintainer (who cant review their own changes). Larger decisions need input from at least two co-maintainers.