Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 392967 - [PATCH] x11-misc/xscreensaver-5.15: make USE-flag "new-login" recognize lightdm's flexiserver
Summary: [PATCH] x11-misc/xscreensaver-5.15: make USE-flag "new-login" recognize light...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Desktop Misc. Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-12-02 23:30 UTC by Small_Penguin
Modified: 2011-12-23 05:03 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Add entry for LightDM gdmflexiserver to configure.in (xscreensaver-5.15-check-for-lightdm-flexiserver.patch,1.33 KB, patch)
2011-12-02 23:33 UTC, Small_Penguin
Details | Diff
Patched xscreensaver-5.15.ebuild to make it apply the changes. (xscreensaver-5.15.ebuild.patch,690 bytes, patch)
2011-12-02 23:38 UTC, Small_Penguin
Details | Diff
Add entry for LightDM gdmflexiserver to configure.in, revised search order (xscreensaver-5.15-check-for-lightdm-flexiserver.patch,1.50 KB, patch)
2011-12-10 14:22 UTC, Small_Penguin
Details | Diff
Patched xscreensaver-5.15.ebuild to make it apply the changes, with additional einfo. (xscreensaver-5.15.ebuild.patch,1.25 KB, patch)
2011-12-10 14:27 UTC, Small_Penguin
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Small_Penguin 2011-12-02 23:30:32 UTC
xscreensaver can be compiled with a new-login button, which recognizes both gdm and kdm. However, if the appropriate executables cannot be found at compile time, the new-login button will not be compiled in, despite the use-flag being active.

Enter lightdm: It provides its own replacement for gdmflexiserver, located at /usr/libexec/lightdm. Unfortunately, this is not picked up by xscreensaver's configure script. To make it do so, there are two solutions:

1) Alter lightdm ebuild to put the file to a directory in $PATH, or create a symlink or whatever; at least I believe this should work.

2) Alter xscreensaver ebuild to recognize lightdm's gdmflexiserver. I decided to do so, and will post the necessary changes here.



Reproducible: Always

Actual Results:  
xscreensaver is not compiled with new-login button.

Expected Results:  
xscreensaver is compiled with new-login button, using lightDM's gdmflexiserver replacement.
Comment 1 Small_Penguin 2011-12-02 23:33:37 UTC
Created attachment 294547 [details, diff]
Add entry for LightDM gdmflexiserver to configure.in
Comment 2 Small_Penguin 2011-12-02 23:38:09 UTC
Created attachment 294549 [details, diff]
Patched xscreensaver-5.15.ebuild to make it apply the changes.
Comment 3 Samuli Suominen (RETIRED) gentoo-dev 2011-12-02 23:54:41 UTC
Please send this patch also to jwz@jwz.org (upstream) so it can be included in 5.16.    Also CCing him on this bug just in case.
Comment 4 Christoph Junghans (RETIRED) gentoo-dev 2011-12-08 02:52:53 UTC
I see a problem with this patch and actually with the configure of xscreensaver.

I have kde installed as I am using some of its programs, so kdmctl is installed as well. I am using lightdm to login, but xscreensaver still try to use kdmctl.
(Error: Cannot connect socket '/var/run/xdmctl/dmctl-:0/socket')
Comment 5 Samuli Suominen (RETIRED) gentoo-dev 2011-12-08 03:48:33 UTC
I think it would be best if xscreensaver had a ./configure flag like

--enable-new-login-default=  which would accept args like lightdm, kdm, or gdm and set the default

If nothing is set, default to eg. gdm

And then search for all 3 in order at runtime, first the default one if configured, and then the other 2

I realize this needs quite a bit of patching...
Comment 6 Jamie Zawinski 2011-12-08 05:00:14 UTC
configure --with-login-manager=/what/ever
Comment 7 Markos Chandras (RETIRED) gentoo-dev 2011-12-08 20:58:32 UTC
I presume this bug has to be handled by upstream developers first
Comment 8 Christoph Junghans (RETIRED) gentoo-dev 2011-12-08 21:42:18 UTC
(In reply to comment #5)
> I think it would be best if xscreensaver had a ./configure flag like
> --enable-new-login-default=  which would accept args like lightdm, kdm, or gdm
> and set the default
> 
> If nothing is set, default to eg. gdm
> 
> And then search for all 3 in order at runtime, first the default one if
> configured, and then the other 2
I personally would solve it like this:
-add a new function to /etc/init.d/xdm, e.g. control_command, which tells the control command of the currently running xdm or false (if not existing)
-make xscreensaver's configure, use '/etc/init.d/xdm control_command' as default_display_manager.
Comment 9 Small_Penguin 2011-12-09 10:55:27 UTC
> I presume this bug has to be handled by upstream developers first

Not necessarily. Looking at the xscreensaver package, I found out that you can configure the login command in /usr/share/X11/app-defaults/XScreenSaver:

! This command is executed by the "New Login" button on the lock dialog.
! (That button does not appear on the dialog if this program does not exist.)
! For Gnome: probably "gdmflexiserver -ls".  KDE, probably "kdmctl reserve".
!
*newLoginCommand:   /usr/libexec/lightdm/gdmflexiserver -ls

So this may have been solved already, the question is: Will this functionality be compiled in when there is no gdmflexiserver available at compile time?

Usually, there will only be one login manager installed. How about changing the patch to use the following search order: LightDM->GDM->KDM?
Comment 10 Jamie Zawinski 2011-12-09 18:19:18 UTC
The checks that "configure" does just set the default value of newLoginCommand in the .ad file, which is consulted at run-time. It can also be overridden by ~/.xscreensaver on a per-user basis.
Comment 11 Small_Penguin 2011-12-10 14:22:45 UTC
Created attachment 295365 [details, diff]
Add entry for LightDM gdmflexiserver to configure.in, revised search order

Same as attachment 294547 [details, diff], but this additionally changes the search order to LightDM->GDM->KDM as proposed in comment #9.
Comment 12 Small_Penguin 2011-12-10 14:27:21 UTC
Created attachment 295367 [details, diff]
Patched xscreensaver-5.15.ebuild to make it apply the changes, with additional einfo.

Thanks Jamie Zawinski, that clarifies things up.

How about just placing an einfo in the ebuild (see patch) that tells the user how to enable the function when the use-flag is activated?

Does that proposal, together with the patch, make everyone happy?
Comment 13 Small_Penguin 2011-12-10 14:28:48 UTC
Comment on attachment 294549 [details, diff]
Patched xscreensaver-5.15.ebuild to make it apply the changes.

Obsoleted by attachment 295367 [details, diff].
Comment 14 Samuli Suominen (RETIRED) gentoo-dev 2011-12-23 05:03:58 UTC
should be all set in portage now