Hi all, I'm looking for a sponsor for my desktop-profiles package. As it's aim (explained below) is relevant to debian-desktop I'm asking here. The idea for this package came while working on debian-edu. We needed a way to customize the default setup of KDE. KDE makes this easy, all you need to do is setup the KDEDIRS variable so it contains the root-dir of our custom configuration, and /usr (rootdir of the systemwide configuration). As I said easy enough, BUT ... this approach works fine only as long as there's but one agent (admin/package/CDD) modifying KDEDIRS. As soon as KDEDIRS is modified in several places there's no easy way to figure out what the end-value of KDEDIRS (and thus the resulting KDE setup) will be. You now need to track down all places where KDEDIRS is modified, and in what order the modifications end up being made. In other words we lack a standard mechanism to control and activate different customizations (profiles) of KDE. Furthermore this problem also manifests when customizing the other desktop environments in Debian. I started out to solve this, and after some thought I came up with the following requirements: 1) different profiles need to co-exist on the same machine gracefully (as otherwise 2 users from different needing different ones can't use the same machine) 2) one should be able to combine different profiles (e.g. one is both a debian-edu, and demudi user) 3) creating a desktop setup should not need changes to the GNOME/KDE/... packages (nor mess with their conffiles) 4) this created mechanism should be cross-desktop, and should allow the administrator to: - determine which of the installed profiles should be used onder what conditions/for what users - determine which profiles values should be used in case of conflict between 2 (or more) simultanously activated profiles The desktop-profiles package I created meets the above requirements supporting profiles for KDE, GNOME, XFCE (>=4.2), ROX, UDE, GNUSTEP, and Freedesktop. (It's licensed under GPL and available at [1]). Here's how it works: 1) Metadata about available profiles is stated in files dropped into /etc/desktop-profiles. This metadata includes: * profile name * profile location, * kind of profile (i.e. for which desktop), * profile requirements (i.e. when the profile should be activated): possible requirements include group membership/non-membership and the succesfull completion of arbitrary shell commands (absence of requirements means the profile is always used) * profile precedence, used when two profiles are simultanously activated to resolve conflicts (whatever the profile with the highest precedence specifies, will be used) * profile description (The format of the dropped files is basically CSV with '#'-comments) 2) There's an Xsession.d script that parses the metadata files and sets up the profiles whose activation requirements are met. Aside from the above basic functionality the package provides some extras: - There's a kommander script (i.e. kde gui) tool for managing the profile metadata. - There's a debhelper like script (dh_installlisting) to aid in installing the metadata files in a standard way - man page documenting everything (html-rendition of which is viewable at [1]) I See this being used in various places: - By the various CDD's/ sysadmins of (large) organizations to setup certain things (including branding) EXAMPLE: Debian-Edu currently has 2 profiles 'common' and 'networked' The former is used on all debian-edu installations, the latter is used only on debian-edu machines inside a debian-edu network (setting up things like which proxy, and mailserver to use) - To decouple the debian default setup from the KDE/GNOME/... packages. Seems like a good thing because it would allow different approaches to be tried easily (as you'd only need to upload a new version of a small arch:all package), or even coexist/compete. Also this allows the package maintainers to concentrate on getting the packaging right while another group (say debian-desktop) concentrates on the usability problem of what constitutes a good default setup. So what do you think? Anybody willing to sponsoring this package? (License: GPL, available at [1], description and package name see above :) [1] http://developer.skolelinux.no/~cobaco/desktop-profiles -- Cheers, cobaco (aka Bart Cornelis) 1. Encrypted mail preferred (GPG KeyID: 0x86624ABB) 2. Plain-text mail recommended since I move html and double format mails to a low priority folder (they're mainly spam)
Attachment:
pgpS1fN6x8By0.pgp
Description: PGP signature