[Bug 714003] New: Clean up /etc/init.d/xdm.
https://bugzilla.novell.com/show_bug.cgi?id=714003 https://bugzilla.novell.com/show_bug.cgi?id=714003#c0 Summary: Clean up /etc/init.d/xdm. Classification: openSUSE Product: openSUSE 12.1 Version: Factory Platform: All OS/Version: Other Status: NEW Severity: Normal Priority: P5 - None Component: X.Org AssignedTo: eich@novell.com ReportedBy: eich@novell.com QAContact: xorg-maintainer-bugs@forge.provo.novell.com Found By: Development Blocker: --- This script is currently a mess. Adding support for new DMs will even mess it up more. Goal is to keep all DM specific stuff in a script file that can be supplied with the DM package. This will make it easier for people to package DMs for openSUSE. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c2
Egbert Eich
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c3
--- Comment #3 from andrea florio
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c4
--- Comment #4 from Egbert Eich
be sure to fix all packages, lxdm at least fail for a trivial missing line:
lxdm-0.4.1-114.1.i586.rpm: directories not owned by a package: - /etc/X11/displaymanagers
just add
%dir %_sysconfdir/X11/displaymanagers
I wonder if this will go away once these packages are built with the new version of xorg-x11 which owns this directory. Still there are issues with forward/backward compatibility: As the DMs and xorg-x11 may be updated independently it must be ensured that updating xorg-x11 doesn't break older versions of the display managers and vice versa. While the latter only seems to be a non-fatal build issue (see above) the former is a real problem during installation which cannot be solved thru version dependencies. Therefore it would make sense to include the dm specific startup files of dm's that were supported by xorg-x11 previously not olny with the dm but also with this package. To avoid two packages shipping files with the same name I'd suggest to name the files shipped with xorg-x11 "<displaymanager>.fallback". The init script will be extended with a heuristic to ignore the <dm>.fallback file if a file <dm> exists. What do you people think? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c5
--- Comment #5 from Stefan Dirsch
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c6
--- Comment #6 from Ludwig Nussel
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c7
--- Comment #7 from Egbert Eich
just add
%dir %_sysconfdir/X11/displaymanagers
Ok, I've added this to all packages now. Looking at the the documentation for the %dir macro this seems to be what's needed. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c8
--- Comment #8 from Egbert Eich
FWIW those scripts should be moved to /usr/lib/somewhere. They are not config files so don't belong to /etc.
They belong to rc scripts in /etc/init.d. So I believe they should also reside somewhere under /etc. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c9
--- Comment #9 from Egbert Eich
I believe that's a good idea to provide such a fallback for previously supported DMs. Question is, when can we get rid of these fallbacks? ;-) And will the adjusted DM packages be submitted to openSUSE:Factory as long as we have fallbacks?
This is simple: I've prepared package updates. Once we have converged with our discussion here I'm going to submitreq them. If the submitreq's are ignored there will be no fallback added for the respective dm. After making the submitreqs I'm going to wait for 2-3 weeks before I will push xorg-x11 to Factory. Once this is done the DM will break if there's no support in the package itself.
Directory entries like "%dir %_sysconfdir/X11/displaymanagers" above can be part of several packages, that's not an issue. :-)
Yes, thanks! I've fixed the packages now. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c10
--- Comment #10 from Egbert Eich
(In reply to comment #6)
FWIW those scripts should be moved to /usr/lib/somewhere. They are not config files so don't belong to /etc.
They belong to rc scripts in /etc/init.d. So I believe they should also reside somewhere under /etc.
At least I would like to have an authoritative answer before I go thru 7 packages to change this. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c11
Ludwig Nussel
(In reply to comment #6)
FWIW those scripts should be moved to /usr/lib/somewhere. They are not config files so don't belong to /etc.
They belong to rc scripts in /etc/init.d. So I believe they should also reside somewhere under /etc.
There are lots of historical mistakes in /etc. That doesn't mean we have to continue adding more :) Also I thought the plan is to reuse those scripts with systemd. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c12
--- Comment #12 from Egbert Eich
There are lots of historical mistakes in /etc. That doesn't mean we have to continue adding more :) Also I thought the plan is to reuse those scripts with systemd.
I hope this is possible. systemd seems to use a lot of control files with some script code inside. At the moment I know too little about systemd to be able to judge. I just don't want to wait for the switch to systemd. We will likely need to support the init based system for quite a while still anyhow, so it is not wrong to already push the specifics to the DMs now. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c13
Dr. Werner Fink
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c14
--- Comment #14 from Egbert Eich
Are there other thoughts/proposals/suggestions around?
Not fully educated, yet. I've got a fedora system with systemd installed. I'd have to look into details there. Environment=DISPLAYMANAGER=xdm Probably isn't too great. We have more than just xdm. EnvironmentFile=/etc/sysconfig/displaymanager is a script file which gets sourced to set environment variables, right? So we can use this to set the DISPLAYMANAGER environment variable. Can we have multiple lines specifying such files? Things would get a lot simpler already if there weren't multiple supported values for DISPLAYMANAGER for one dm. One can use the full path to the binary (which is ignored) one can use the name in all lower or all upper case for most DMs. Gdm supports also 'gnome' or 'GNOME' while KDE supports 'kde3' and 'kde4' along side with 'kdm' or 'kde' and their upper case correspondents. ExecStart=/bin/systemctl start $DISPLAYMANAGER.service $DISPLAYMANAGER.service: is this a script file? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c15
--- Comment #15 from Egbert Eich
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c16
--- Comment #16 from Dr. Werner Fink
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c17
--- Comment #17 from Ludwig Nussel
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c18
--- Comment #18 from Dr. Werner Fink
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c19
--- Comment #19 from Ludwig Nussel
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c20
--- Comment #20 from Egbert Eich
From then on any DM that has not been fixed and for which no fallback file exists will BREAK!
-- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c21
--- Comment #21 from Dr. Werner Fink
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c22
--- Comment #22 from Dr. Werner Fink
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c23
--- Comment #23 from Egbert Eich
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c24
--- Comment #24 from Dr. Werner Fink
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c25
--- Comment #25 from Egbert Eich
Good list ... I'd like to extend my systemd solution about those dm's and add a generator script to automatically produce a service unit for any missing dm (including a test if the dm exists in ;)
The submitreq ID dor kdebase4-workspace is missing. Unfortunately I cannot access OBS at the moment, though :( -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c26
--- Comment #26 from Egbert Eich
Created an attachment (id=448984) --> (http://bugzilla.novell.com/attachment.cgi?id=448984) [details] x.tar.bz2 --- archive with display-manager@.service abel to start e.g.
xdm.service and kdm.service. To use this under systemd simply install the archive below / and do
systemctl enable display-manager@.service systemctl --system daemon-reload
Wener, you have lost a lot of the heuristics that have been added to init.d/xinit over the years. here are some points: 1. when you change dm in etc/sysconfig/displaymanager you need to stop the old one on a restart (bnc #306035). I don't see how this will work with this. 2. When booted in failsafe mode you want to start a dm with the /etc/X11/xorg.conf.install or not at all. 3. If no X binary is installed you don't want to start X unless DISPLAYMANAGER_REMOTE_ACCESS is set in /etc/sysconfig/displaymanager 4. You need to run the /etc/X11/xdm/keytable to (re)-generate an xkb configuration. 5. Unless we drop the bootsplash you may want to copy the splash image. 6. Last: you may want to run /etc/X11/xdm/SuSEconfig.xdm to (re)-generate /etc/X11/xdm/Xservers. This script used be dear to your hart :) If I had ignored all those points I could have created a really simple init.d/xdm script and saved me a lot of time! -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c27
--- Comment #27 from Egbert Eich
Good list ... I'd like to extend my systemd solution about those dm's and add a generator script to automatically produce a service unit for any missing dm (including a test if the dm exists in ;)
Werner: how about letting the package maintainer add those files themselves. I think it is there responsibility. After all this is the whole point of this ticket ;) -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c28
--- Comment #28 from andrea florio
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c29
--- Comment #29 from Egbert Eich
(In reply to comment #24)
Good list ... I'd like to extend my systemd solution about those dm's and add a generator script to automatically produce a service unit for any missing dm (including a test if the dm exists in ;)
The submitreq ID dor kdebase4-workspace is missing. Unfortunately I cannot access OBS at the moment, though :(
The submitreq ID for kdebase4-workspace: 81048 -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c30
--- Comment #30 from Egbert Eich
the packager might not have the knowledge for that... at least, i don't think i do...
a sr i welcome... for me...
Andrea, how about if Werner would supply an easy to understand/follow readme? IHMO it is a mistake to ship support files for packages with other packages just to make life for packagers simpler. We have had this in the past and people who added new display managers always had to touch another package (x11-xorg) to get their display manager to work. So at the end of the day they did have to go thru this pain you would like to avoid. If you are referring to the fact that systemd is so much more cryptic than sysV-init and a few shell scripts around it, yes, I'm fully with you! But please bear in mind: it's new(tm) and cool(tm)! And everybody wants it! -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c31
--- Comment #31 from andrea florio
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c32
--- Comment #32 from Egbert Eich
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c33
--- Comment #33 from Egbert Eich
the readme is welcome and a script template should be provided too. I agree the script should go with the DE package, i only said, that the packager might not have the proper knowledge for that, personally i don't
Definitely. Currently the service files are not too complicated. I'm sure if you looked at one you will get the idea how to create yours. The one for xdm will most likely always be installed. Currently this contains: ======= [Unit] Description=X-Window Display Manager Before=display-manager.service [Service] Type=forking PIDFile=/var/run/%p.pid ExecStart=/usr/bin/xdm -daemon ExecReload=/sbin/killproc -p /var/run/%p.pid -HUP /usr/bin/xdm [Install] ======= You will easily guess what needs to be changed for other DMs. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c34
--- Comment #34 from Egbert Eich
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c35
Dr. Werner Fink
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c36
--- Comment #36 from Dr. Werner Fink
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c37
--- Comment #37 from Dr. Werner Fink
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c38
--- Comment #38 from Egbert Eich
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c39
--- Comment #39 from Dr. Werner Fink
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c40
--- Comment #40 from Egbert Eich
E.g. I could split off the specific stuff from /etc/X11/xdm/prepare and write out specific scripts for appending specific environment to /run/systemd/displaymanager ...
Nevertheless the way to go is systemd
Ok, since this affects a package which I'm involved in I will look into this. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c41
--- Comment #41 from Egbert Eich
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c42
--- Comment #42 from Frederic Crozat
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c43
--- Comment #43 from Dr. Werner Fink
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c44
--- Comment #44 from Guido Berhörster
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c45
--- Comment #45 from Egbert Eich
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c46
Egbert Eich
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c47
--- Comment #47 from andrea florio
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c48
Ludwig Nussel
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c49
--- Comment #49 from Egbert Eich
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c50
--- Comment #50 from Egbert Eich
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c51
--- Comment #51 from Egbert Eich
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c52
--- Comment #52 from Bernhard Wiedemann
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c
Gerald Pfeifer
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c53
Gerald Pfeifer
https://bugzilla.novell.com/show_bug.cgi?id=714003 https://bugzilla.novell.com/show_bug.cgi?id=714003#c Bug 714003 depends on bug 720245, which changed state. Bug 720245 Summary: /etc/init.d/xdm: line 148: entrance_vars: command not found http://bugzilla.novell.com/show_bug.cgi?id=720245 What |Old Value |New Value ---------------------------------------------------------------------------- Status|NEW |CLOSED Resolution| |FIXED -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c54
--- Comment #54 from Egbert Eich
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c55
--- Comment #55 from Dr. Werner Fink
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c56
Egbert Eich
You may use clone for an other one
Right. Will do so. But will wait until I find time to work on this. Now really closing :) -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c57
--- Comment #57 from Egbert Eich
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c58
--- Comment #58 from Bernhard Wiedemann
https://bugzilla.novell.com/show_bug.cgi?id=714003
https://bugzilla.novell.com/show_bug.cgi?id=714003#c59
--- Comment #59 from Bernhard Wiedemann
participants (1)
-
bugzilla_noreply@novell.com