From Fedora Project Wiki

Application Installer

Summary

We will replace the existing gnome-packagekit frontends (gpk-update-viewer and gpk-application) by a new application.

Owner

  • Name: Richard Hughes for the implementation, Ryan Lerch and Allan Day for the design
  • Email: rhughes@redhat.com

Current status

The hawkey backend is available in PackageKit git master. gnome-software is available in git.gnome.org. Neither is in f20 yet. We are aiming for a first gnome-software release by end of August, and will package it asap, then.

gnome-software can already list installed applications, install and remove applications and trigger offline updates. gnome-settings-daemon, gnome-shell and gnome-session have been updated in 3.9.91 to integrate with gnome-software (when available) for offline updates.

Detailed Description

The current PackageKit frontends are focused on (surprise!) packages.

The new tool, tentatively named gnome-software, is designed from the beginning for installing applications. It will present applications with information that is relevant to users (icons, screenshots, reviews, descriptions, ratings,...) instead of information that is relevant for packagers (dependencies, package size, file lists,...).

It will be possible to search and browse for available applications.

gnome-software will also be used to present information about available and installed updates. Notifications about available updates will launch gnome-software if the user chooses to see details. gnome-software will be fully integrated with 'offline updates' - if an update includes system packages, it will be done as an offline update, regardless whether it gets initiated from the gnome-shell menu, a notification, or the gnome-software UI, which will finally address bug [863592].

To improve some problematic aspects of the updates user experience (long waits, locks), we will use the new hawkey backend for PackageKit.

Not all of the listed features will be available in F20.

For F20, we will focus on completing the offline update experience and use gnome-software for it instead of gpk-update-viewer. The installation part of gnome-software will be somewhat limited. We are planning to show application icons for uninstalled applications, but screenshots, ratings and interactive features like reviews will have to wait until F21.

Benefit to Fedora

Fedora gets an improved application installation experience.

The hawkey stack gets early testing exposure.

Scope

  • Proposal owners:
    • Implement minimal required functionality for application installation in gnome-software
    • Implement minimal required functionality for updates in gnome-software
    • Package gnome-software #1002288
    • Include a hawkey backend in PackageKit and use it
  • Other developers:
    • Use gnome-software instead of gpk-update-viewer when dealing with updates in gnome-settings-daemon, gnome-shell and gnome-control-center
  • Infrastructure:
    • Make metadata available for packaged applications in Fedora. For F20, we want to be able to show application icons for uninstalled applications, so these must be made available outside the package. TBD: More details needed on how this will be done
  • Policies and guidelines:
    • We want to use the hawkey backend in PackageKit while the default commandline utility is still yum; this kind of separation was rejected by Fesco in the past for zif, will need to ask again
    • No immediate changes to packaging guidelines needed; longer-term, we may want to make changes to way applications are distributed and installed
    • The update experience will also benefit from proposed changes to batch updates

Upgrade/compatibility impact

This change should not have any impact on upgrades of existing installs.

How To Test

  • Test application installation:
    • Run gnome-software
    • Find an application that is not installed, e.g. the GIMP in the UI
    • Install it
    • Verify that it is easy to find the application in the UI, get relevant information about it before installing it, and install it
    • Check that the application is properly installed (can be launched from the commandline, as well as from the gnome-shell overview)
  • Test updates:
    • Launch gnome-software when updates are available
    • Check that the tool informs you about the available updates (system updates will be grouped)
    • Install the updates
    • Verify that the updates are properly installed (using the offline update mechanism when system updates are involved)
  • Test notifications:
    • Log into GNOME when security updates are available
    • Check that a notification informs you about the available security updates
    • Check that clicking 'View' starts gnome-software

User Experience

See https://wiki.gnome.org/Design/Apps/Software#Tentative_Design detailed mockups of how the user experience will look.

Dependencies

  • hawkey backend in PackageKit
  • gnome-shell and control-center currently launch gpk-update-viewer, they will be changed to launch gnome-software
  • application icons for uninstalled applications

Contingency Plan

  • If the hawkey PackageKit backend or hawkey itself are not fully functional in F20, keep using the yum backend
  • If gnome-software is not available in Fedora, or does not have the minimal required functionality for application installation or software updates, keep using the existing gnome-packagekit UI for F20
  • If some of the metadata is not available, it will still be possible to install applications, but the experience will be degraded

Documentation

Release Notes

Fedora 20 includes a new application installer called gnome-software. gpk-application is still available.