KubuntuGutsyPlusOneAdept

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.

Summary

Changes to be made to Adept in Gutsy+1

Release Note

"New features have been added to Adept:"

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.

Design

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 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

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, reboot hook is already implemented.


CategorySpec

KubuntuGutsyPlusOneAdept (last edited 2008-08-06 16:35:46 by localhost)