Red Hat Bugzilla – Bug 112478
Remove dependency on switchdesk
Last modified: 2007-11-30 17:10:34 EST
Description of problem:
xinitrc is the only package in FC depending on switchdesk,
which should be removed (bug 103465). The attached patch
removes the need for the dependency.
The patch results in no behavior change, it simply embeds
the /usr/share/apps/switchdesk/* scripts to Xsession directly.
Therefore the files shipped with switchdesk are not needed.
If someone added custom files to /usr/share/apps/switchdesk,
the modified script will still execute them.
The only time when a behavior would change is if someone
modified files in /usr/share/apps/switchdesk, but the
files are not marked %config and so would be overwritten
on any upgrade anyway.
Version-Release number of selected component (if applicable):
Created attachment 96654 [details]
Inline the original switchdesk scripts directly in Xsession.
Ok, I've just investigated this a bit, and some of the changes
seem to be safe to me, but it's based off of xinitrc-3.35-1
which is much older than what we've got now. A lot has changed
since then, and so many of the changes don't fit in right.
The enlightenment/fvwm and other unsupported window manager stuff
can just be dropped. Currently, since this isn't really a blocker
issue, I'm going to play it safe and remove the FC3Target status
from this one, and retarget it to FC4Target.
than) Can you look at the patch and give me your opinion on the
KDE change? Once FC3 is out the door, I'll try to merge this
into our early rawhide where it's ok to risk breaking things. ;)
Thanks in advance.
I've re-reviewed this issue, and basically what is being requested,
is to add hard coded stuff to Xsession for various window managers,
in order to be able to remove a dependancy on switchdesk. While I
initially thought this was reasonable, now that I've thought about
it for longer, I think this is the wrong thing to do.
In order to keep xinitrc package maintenance down, I'm trying to modularize
it over time, so that it is just a generic core set of X startup scripts,
which can handle any desktop environment or window manager setup. Part
of that goal, is to have as little knowledge about individual desktop
environments and window managers in the xinitrc scripts, and to instead
provide a generic way that desktop environment / window manager rpm
packages can "drop in" configuration files or shell scripts to "plug in"
outside of the xinitrc package, and work within the framework provided.
Currently, the switchdesk package is the "drop in generic functionality",
however something else could replace that easily enough. I'm open to
suggestions if anyone has any.
One step, would simply be to just remove the hard coded switchdesk
Requires from the spec file. The rest of xinitrc seemingly can handle
things if switchdesk isn't installed.
To summarize, I think the following goals are amiable and preferred for the
1) Increase the modularity of the xinitrc package to minimize maintenance and
provide better "plug in" architecture for window managers and desktop
2) Continue to clean up the xinitrc script code, and reduce it wherever
it can be done cleanly without violating #1 above.
3) Reduce the number of dependancies of the xinitrc packaging without
violating #1 or #2 above.
I'm open to thoughts and suggestions for how we might best achieve these
goals. It might even be useful for us to have a discussion on one of the
Fedora mailing lists about this and see what others think. If you're up
to it, feel free to post to one of the lists and CC me, and I'll follow
Please review bug #142260 and the patches I've attached to it which
genericize and modularize Xsession by using Xsession.d directory. This
solution should in theory solve both of these bugs. Then we can remove
the hard coded dependancy on switchdesk, and leave the switchdesk code
present in the package for backward compatibility for a while until
the rest of the world catches up a bit.
I'd very much like to apply this to xinitrc sooner, so your feedback
is greatly appreciated.
Thanks in advance.
Bug #122941 is related also.
I've implemented a generic Xclients.d solution for this problem,
and various similar bugs reported in bugzilla. It will be present in
xinitrc-4.0.16-1 and later in rawhide. It will allow window managers
to drop in scripts for themselves, without any dependancy on switchdesk.
Once I can confirm there is no more need for switchdesk, I'll remove
the Requires: from the spec file also.
Please test and provide feedback. Setting status to RAWHIDE.
I would prefer the /etc/X11/Xsession.d/ directory, because this directory is
also used by other distributions (including Debian based). Of course there is
nothing wrong with the current implementation, but I think we can make the lifes
of developers (I am one of those) a lot easier when we do it the Xsession.d way.
I really recomment you to check the documentation on the Debian side.
- Marvin Raaijmakers
(In reply to comment #8)
> I would prefer the /etc/X11/Xsession.d/ directory, because this directory is
> also used by other distributions (including Debian based). Of course there is
> nothing wrong with the current implementation, but I think we can make the lifes
> of developers (I am one of those) a lot easier when we do it the Xsession.d way.
> I really recomment you to check the documentation on the Debian side.
> - Marvin Raaijmakers
This bug is marked CLOSED->RAWHIDE, and I've retired from Red Hat some time
ago, so you'll need to file a fresh new bug report/feature request in order
for the current maintainer(s) to see it. Having said that, I believe your
request has some merit and is potentially worth someone spending the time
to implement. An Xresources.d dir would be another worthwhile addition.