malcontent: Add new plugin for restricting access to apps

This is a new plugin which loads the user’s parental controls settings
(comprising a maximum OARS rating for apps to show, and a blacklist of
apps to not allow launching) and use them to filter which apps are

The OARS rating filters non-installed apps so the user can only install
apps which are age-appropriate for them. The blacklist filters installed
apps so that the user cannot run inappropriate apps installed for other

These are implemented using the parental controls quirks. The UI already
pays attention to these quirks, and hides various buttons.

This adds an optional dependency on libmalcontent

It is part of a wider approach to implementing parental controls, which
includes filtering in the `flatpak` command, in gnome-shell and in the
control center.

Signed-off-by: Philip Withnall <>
Status Job ID Name Coverage
failed #249397


Name Stage Failure
build-gnome-software Build
Dependency packagekit-glib2 found: YES 1.1.12
Dependency fwupd found: YES 1.2.5
Dependency flatpak found: YES 1.2.3
Dependency malcontent-0 found: NO (tried pkgconfig) ERROR: Dependency "malcontent-0" not found, tried pkgconfig

A full log can be found at /builds/pwithnall/gnome-software/_build/meson-logs/meson-log.txt
ERROR: Job failed: exit code 1