Giter VIP home page Giter VIP logo

gnome-software's Introduction

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 can’t review their own changes). Larger decisions need input from at least two co-maintainers.

gnome-software's People

Contributors

alice-mkh avatar aurisc4 avatar danialbehzadi avatar dmustieles avatar georgesstavracas avatar haaninjo avatar hughsie avatar hugok79 avatar jimmac avatar joaquimrocha avatar jordimas avatar kalev avatar kekun avatar marv-cz avatar mcrha avatar muzena avatar mwleeds avatar piotrdrag avatar prescott66 avatar pwithnall avatar rffontenelle avatar rluzynski avatar robert-ancell avatar sicklylife-jp avatar sidt4 avatar tmtfx avatar ximion avatar yoseforb avatar yurchor avatar zerng07 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.