KlikIntegration

Revision 12 as of 2006-03-24 12:24:36

Clear message

Summary

I believe it's very important to integrate Klik and Ubuntu as much as possible. Klik offers a way of installing applications in GNU/Linux without actually using a repository. It's based on the "Appdirs" specifications.

Rationale

  • At the moment, to install an application a user needs to use apt. This means that s/he will need root access, AND that the package will need to be available in one of the repositories.
  • Currently, most klik packages are based on Sarge. Hence :
    • Most programs are more recent in Ubuntu stable than in Sarge.
    • These packages are built on libraries on which Ubuntu might have overtaken transitions (e.g. libstdc++5 in Sid vs. libstdc++6 in Dapper).
    • Security updates in Ubuntu might not be followed in Klik packages.
    • We have no direct control on the Q&A of the packages provided by klik.

  • Klik vs. Backports

Use cases

  • Sven wants to install a program on his work machine but has no administrator access to the system.
  • Clara has a program she likes very much but few people have installed. When she moves to another machine, she'd like to take this program on a removable media or a CD and run it from this media without installing it.
  • Paul wants to test the latest version of a program, but this program is not available in the apt archives yet.
  • Mel administrates a stable Ubuntu system. She wants to provide a test version of a program to all the users of the system, but there is no package available for her version of Ubuntu. She could install cmgs in /opt.

Scope

  • This only covers software installation WITHOUT using Synaptics.
  • Klik is NOT a replacment for Synaptic

Design

  • Packaging :

Currently, the klik installer installs invisible scripts in ~. We don't want this behaviour. Instead, these scripts should be made system-wide and installed in /usr/bin.

  • FUSE Support :

Klik uses cramfs. Currently, the installer adds dirty mounting points in /etc/fstab. FUSE could handle mounting cramfs without having these entries in /etc/fstab. The recent kernels shipped with Ubuntu have FUSE support. We need to find a way to activate the FUSE module cleanly. fuseiso and fusecram are then required to use klik with FUSE support. These packages are already in Dapper. The klik scripts have to be reimplemented to use FUSE. KANOTIX has done so lately.

  • A way of "registering" where an application is would be good. An application could be registered the first time it's run (as it happens is OS X). Then, if it's moved by the GUI, it could re-register itself in the new location
  • An EASY way of assigning mime types to a registered application.
  • Patching nautilus and firefox to get support for the klik:/ protocol.

The tricky part would be the creation of an applet that checks that each registered application is indeed up-to-date. This is much trickier, but still not impossible to achieve.

Implementation

The coding involved would be:

  • Patching nautilus so that it registers applications. This should be done in such a way so that Konqueror for example does it in a compatible fashion
  • Writing the applet that works on the updates

Discussion

Daniel-Goldsmith says:

It seems to me that system-level Klik integration may be more trouble than it is worth. This occurs for three reasons:

  1. Incompatibility of Klik-patching with standard ubuntu patches in libraries. This would result in Klik'd libraries failing to function with ubuntu patched programs installed at a later time from repositories.
  2. Incompatibility of Klik with apt system. This would perforce lead to difficulties in supporting users who had klik'd their systems by installation of items with compatibility issues, thus preventing ubuntu achieving enterprise usage.
  3. Already there are a multiplicity of Ubuntu upgade/installation systems. Just on a quick memory count the user can apply dpkg, apt-get, aptitide, synaptic, adept and Ubuntu's own 'Add Application. Do we need a further method, particularly one over which Ubuntu has little or no control?

Tony Mobily says:

I don't think point 1) is valid, but I am not 100% sure. Points 2) and 3) are definitely valid.

However, do you have a counter-proposal for a system which:

  • Would allow people to install software as non-root (or non-admin)
  • Would allow people to see a program as in "icon", and copy such a program on an external media and _run_ it

...? I see these two things as crucial. Mac got it right. Linux... not quite :-|

Klik is the closed thing there is to a "solution". The points (2) is very true. However, I think (3) Is the real problem: it doesn't have *much* to do with Ubuntu. However, Klik is there and it works...

KillerKiwi says

http://klik.atekon.de/wiki/index.php/Dapper

Code

Outstanding issues

BoF agenda and discussion


CategorySpec