Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Some of this moved to KubuntuGutsyPlusOneAdept

Summary

Changes to be made to Adept in Gutsy

Rationale

Adept lacks some features available in Ubuntu.

Use Cases

Oliver wants to install packages from an addon CD in Kubuntu. He inserts the CD and follows the GUI prompts.

Michael wants to install vmware-server from Adept Installer, he ticks the box and agrees to the use of commercial archives and gets it installed.

Scope

Filling in missing functionality. No UI changes or platform (KDE/Qt 4) changes.

Design

Autoremoves

Adept does not currently support autoremove. This is because it has a forked version of the dpkgpm.cc source file. We need to merge in the autoremove changes in the original version of this file in dpkg to add this feature to Adept.

Adept Installer

We will add emblem support to Adept Installer to match that in gnome-app-install. The five emblems are community for universe packages, kubuntu for depends on kdelibs, ubuntu for depends on gnome, supported if it is in main and proprietry if it is in commercial. Text is also added to the end of the description. Here is the exact requirements and text for each:

desktop_environment_mapping = {
   ("kdelibs4c2a","python-kde3","libqt3-mt") :
    (_("%s integrates well into the Kubuntu desktop"), "application-kubuntu"),
    ("libgnome2-0","python-gnome2","libgtk2.0-0","python-gtk2") :
    (_("%s integrates well into the Ubuntu desktop"), "application-ubuntu"),
    ("libgnustep-base1.11") :
    (_("%s integrates well into the Gnustep desktop"), None),
    ("libxfce4util4",) :
    (_("%s integrates well into the Xubuntu desktop"), None),
}desktop_environment_mapping = {
    ("kdelibs4c2a","python-kde3","libqt3-mt") :
     (_("%s integrates well into the Kubuntu desktop"), "application-kubuntu"),
    ("libgnome2-0","python-gnome2","libgtk2.0-0","python-gtk2") :
    (_("%s integrates well into the Ubuntu desktop"), "application-ubuntu"),
    ("libgnustep-base1.11") :
     (_("%s integrates well into the Gnustep desktop"), None),
    ("libxfce4util4",) :
    (_("%s integrates well into the Xubuntu desktop"), None),
}

Adept Installer should make use of the popularity data in the application .desktop files it reads. Add the ranking to the package description pane with up to 5 stars highlighted depending on the popularity, using the same algorithm as used in gnome-app-install but biased towards KDE apps over non-KDE apps.

Adept Installer also needs to support commercial packages. Make it depend on app-install-data-commercial to bring in the packages list. It also needs to support adding the archive if commercial is not already enabled, this is done by copying the file from /usr/share/app-install/channels pointed to in the .desktop file to /etc/apt/sources.d and updating the sources. It needs to show and require acceptance of the .eula pointed to by the .desktop file when the package is installed if proprietry=true is included. It also needs to respect the architecture= entry to only show entries available on the current processor type.

The complete spec to implement is at https://wiki.ubuntu.com/ThirdPartyPackages and https://wiki.ubuntu.com/ThirdPartyPackages/Howto

We need to add the ability to edit sources.list with Adept Installer. Add an option to do apt-get update with adept_batch and have this run by software-properties when it edits the sources.list. Add a toolbar button to Adept Installer which runs software-properties.

CD-ROM Packages

There are three types of CD-ROM packages we should add support for. We should add support to adept-notifier to monitor hal for CDs and check if they are package CDs.

The HAL properties to check for are

update-notifier uses "hal_property_modified()" from libhal and then checks:
volume.is_mounted
block.storage_device
storage.drive_type == cdrom
mount_point = volume.mount_point

The script to check the CD is in update-manager data/apt-cdrom-check and returns a result for each of the three types of CD (or a 0 for a non-package CD).

CD with packages

Adept-batch needs a mode to add cdrom to sources.list. adept-notifier should offer this if a CD with packages is inserted. It should then start Adept.

Dist upgrader CD

If the CD contains a dist upgrade tool (i.e. a new version of Kubuntu), adept-notifier should offer to run this tool.

Addon CD

An addon CD such as the second Edubuntu CD should use Adept Installer in a mode for installing the .desktop files listed on the CD. This should be implemented the same as for gnome-app-install as specified at https://wiki.kubuntu.org/EdubuntuOnTwoCDs "CD image work".

Hooks

Implement the upgrade hooks described in https://wiki.ubuntu.com/InteractiveUpgradeHooks in adept_notifier.


CategorySpec

KubuntuGutsyAdept (last edited 2008-08-06 16:17:20 by localhost)