[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: menu-method for .desktop files?



On Mon, Dec 06, 2004 at 11:47:16PM +0000, Peter Collingbourne wrote:
> On Mon, Dec 06, 2004 at 07:34:45PM +0100, Bill Allombert wrote:
> > Hello,
> > I have written the menu method, but I did not test it.
> > 
> > Please find it here: <http://people.debian.org/~ballombe/xsessions>
> > 
> > You will need to change 
> > rootprefix = "/var/lib/xsessions";
> > to
> > rootprefix = "/usr/share/xsessions";
> > 
> > until display manager are able to read /var/lib/xsessions.
> 
> This is a good start, now the question is how to integrate this into
> the system.
> 
> To tell you the truth I have also been working on a similar thing
> separately (tested).  My version is attached and it is up to someone to
> decide which should be used.

Please use mine. It has proper quoting and is in line with the other xdg
methods. (I am the menu maintainer :).

> I believe the files should go into /etc/X11/sessions for two reasons:
> 1. at least one of the display managers already looks in there by
>    default (gdm)
> 2. it is in common with the majority of the other menu-methods which
>    write to somewhere in /etc

It is common but this is a (mild) FHS violation: autogenerated files
belong to /var, not /etc. However putting them in /usr would be a serious
FHS violation, so I can live with /etc.

> Also five things need to be done in order to add this feature to the
> system:
> 
> 1. Create a package for the menu-method

I suppose we can include it in the menu-xdg package.

> 2. Make gdm and kdm depend on it (either that or recommend it and add
>    it to the list of packages installed by the desktop task)
> 3. Change kdm so it looks in /etc/X11/sessions by default for its
>    session files (attached is a patch (tested) which can be applied to
>    kdebase_3.2.2-1)
> 4. Change the following packages so that they do not install a .desktop
>    file to /usr/share/xsessions (to avoid duplicate entries in the list):
> gnome/gnome-session x11/blackbox x11/fluxbox x11/fvwm x11/fvwm-gnome
> x11/icewm x11/icewm-experimental x11/icewm-lite x11/openbox x11/wmaker
> x11/xfce4-utils

I am not sure about that part. Programs messing with .desktop file need to be 
smart enough to handle conflicts/override, else it is a clear abuse of
the .desktop specification.

> 5. Make the ksmserver package from KDE install a menu item rather than a
>    .desktop file (also in the patch file).
> 
> I know this is a lot of wide-sweeping changes to the system (especially
> as they are being suggested by a newcomer to the Debian devel process) but
> I believe once these items are done we will have a more consistent system.

The best way to deal with that is to reduce the changes to the minimum
that achieve the goal. If you can avoid the requirement of removing
existing .desktop file, we will have 90% less work. 
If it is possible to fix the problem while only changing kdebase,
then we can succeed in a reasonnable amount of time.

> Another question is: should this be mentioned in section 11.8.4 of the
> policy manual?

Certainly not yet.

> I am wondering whether I should go through the procedures necessary to
> become an official Debian developer.

Given the delay involved, that will not help.

> diff -Nur kdebase-3.2.2-orig/debian/kdm.install kdebase-3.2.2/debian/kdm.install
> --- kdebase-3.2.2-orig/debian/kdm.install	2004-04-03 08:53:14.000000000 +0100
> +++ kdebase-3.2.2/debian/kdm.install	2004-12-06 20:48:06.000000000 +0000
> @@ -19,51 +19,6 @@
>  debian/tmp/usr/share/apps/kdm/pics/users/default1.png
>  debian/tmp/usr/share/apps/kdm/pics/users/default2.png
>  debian/tmp/usr/share/apps/kdm/pics/users/root1.png
> -debian/tmp/usr/share/apps/kdm/sessions/9wm.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/aewm++.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/aewm.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/afterstep.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/amaterus.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/amiwm.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/asclassic.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/blackbox.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/cde.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/ctwm.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/cwwm.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/enlightenment.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/evilwm.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/fluxbox.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/flwm.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/fvwm.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/fvwm95.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/gnome.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/golem.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/icewm.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/ion.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/kde.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/larswm.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/lwm.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/matchbox.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/metacity.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/mwm.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/olvwm.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/olwm.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/openbox.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/oroborus.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/phluid.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/pwm.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/qvwm.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/ratpoison.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/sapphire.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/sawfish.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/twm.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/ude.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/vtwm.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/w9wm.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/waimea.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/wm2.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/wmaker.desktop
> -debian/tmp/usr/share/apps/kdm/sessions/xfce.desktop
>  debian/tmp/usr/share/doc/kde/HTML/en/kdm/common
>  debian/tmp/usr/share/doc/kde/HTML/en/kdm/index.cache.bz2
>  debian/tmp/usr/share/doc/kde/HTML/en/kdm/index.docbook

Sometimes, including some much junk in a package should be a RC bug.

Cheers,
Bill.



Reply to: