Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 149696 - gaim-2.0 dependency on xscreensaver necessary?
Summary: gaim-2.0 dependency on xscreensaver necessary?
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High trivial (vote)
Assignee: Kathryn Kulick (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-10-01 02:50 UTC by Andreas Deresch
Modified: 2006-10-12 18:52 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Deresch 2006-10-01 02:50:31 UTC
The (masked) gaim-2.0.0 ebuilds have a dependency
xscreensaver? ( x11-misc/xscreensaver x11-libs/libXScrnSaver )
Shouldn't it only depend on libXScrnSaver? And if not, xscreensaver _OR_ gnome-screensaver?
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2006-10-01 03:01:43 UTC
Please, read Bug 116982 and the upstream one as well.
Comment 2 Andreas Deresch 2006-10-01 03:27:43 UTC
I have read both, and neither addresses my question in any way.
To elaborate:
I do not have xscreensaver installed. I do however have gnome-screensaver on my system, which is a replacement for xscreensaver. gaim-2.0.0_beta3-r2 has been emerged with USE=xscreensaver and changing status based on X usage works perfectly.
I do not want to be forced to additionally install xscreensaver.
Comment 3 Jakub Moc (RETIRED) gentoo-dev 2006-10-01 03:29:40 UTC
So disable xscreensaver use flag, that's the whole point why the flag is there. Thanks.
Comment 4 Andreas Deresch 2006-10-01 04:32:23 UTC
In this case at least the description in use.local.desc should be changed to reflect that -- it IMHO very clearly states something different. It is very annoying to constantly have to find out whether some ebuild interprets the USE flag as referencing the xscreensaver package or the XScreenSaver extension.

Sorry that you seem annoyed by my perseverance, but this is about making Gentoo a more pleasant experience for _everyone_ -- right now the USE flag does not work intuitively, therefore more bug reports are likely to pop up when the package is unmasked. Regards.
Comment 5 Jakub Moc (RETIRED) gentoo-dev 2006-10-01 05:09:09 UTC
This functionality requires xscreensaver, so... either you want it and install it, or don't. gaim uses xscreensaver for this to work, see src/gtkidle.c - so yes, it *does* need xscreensaver specifically.

[-    ] xscreensaver (net-im/gaim):
Enable X idle time support instead of gaim idle time.

Closing.
Comment 6 Martin von Gagern 2006-10-02 00:00:50 UTC
(In reply to comment #1)
> Please, read Bug 116982 and the upstream one as well.

Quoting a comment from the upstream bug:
"okay, as you can see in the information you pasted, you
 compiled without support for the X Screen Saver extention,
 thus gaim is not able to use X Idle type computation."
So it's the X Screen Saver extension that counts, not the xscreensaver program.

(In reply to comment #5)
> gaim uses xscreensaver for this to work, see src/gtkidle.c - so
> yes, it *does* need xscreensaver specifically.

I had a look at gtkidle.c and don't see it like this. While one comment is formulated in terms of the xscreensaver-command binary, the actual implementation in the function (ll. 104-112) uses XScreenSaverQueryExtension and XScreenSaverQueryInfo. Those symbols are provided by /usr/lib/libXss.so which is part of x11-libs/libXScrnSaver, which installs the matching man pages as well.

> [-    ] xscreensaver (net-im/gaim):
> Enable X idle time support instead of gaim idle time.

Which does imply the use of the Xss extension to get this idle time information, but not necessarily the xscreensaver program, which is not required at all.
http://ftp.x.org/pub/X11R6.8.1/doc/Xss.3.html

> Closing.

I don't see this as invalid, at least not based on your arguments stated so far.

I just checked this on my ~x86 system without xscreensaver package:
1. added xscreensaver to USE flags
2. emerge --nodeps gaim => remerged cleanly, configure said:
   checking for XScreenSaverRegister in -lXext... no
   checking for XScreenSaverRegister in -lXss... yes
   Use XScreenSaver Extension.... : yes
3. started Gaim, called Help/about, found XScreenSaver:
   XScreenSaver: Enabled
4. no error messages indicating something were missing

Therefore I consider it proven that Gaim can use the XScreenSaver extension without the xscreensaver program installed, and the USE flag should do just that. Having the xscreensaver package around changes nothing at all.

Please REOPEN this bug and remove the superfluous dependency.
Comment 7 Andreas Deresch 2006-10-02 00:26:26 UTC
Comment #6 includes most of what I was going to write just now. One additional point though: the actual lines of code from src/gtkidle.c are present in src/idle.c for gaim-1.5, which does _not_ depend on xscreensaver. So, the implementation hasn't actually changed -- how did this dependency creep in, anyway?
Comment 8 Martin von Gagern 2006-10-02 00:59:50 UTC
(In reply to comment #7)
> [...] gaim-1.5, which does _not_ depend on xscreensaver.

This is not a valid argument. As far as I can see the gaim-1.5.0.ebuild has no xscreensaver support whatsoever. Still, the same USE flag and conditional RDEPEND we want for gaim-2.0 would probably make sense for gaim-1.5 as well, especially in case 1.5 is going to stay around a while longer.

> how did this dependency creep in, anyway?

Looking at the history in CVS, the xscreensaver dep was there first, and libXScrnSaver was _added_ later on, instead of _replacing_ xscreensaver. Adding a package xscreensaver for an xscreensaver USE flag seems plausible at first glance, and not removing a dep could have come from playing save. For details, you'd have to ask gothgirl; all xscreensaver relevant changes were by her.
Comment 9 Andreas Deresch 2006-10-02 01:19:33 UTC
> This is not a valid argument. As far as I can see the gaim-1.5.0.ebuild has no
> xscreensaver support whatsoever.
Hm?? Both gaim versions have the exact same support for getting idle times from the XScreenSaver extension. Therefore both should optionally depend on the library providing the query functions. (In modular xorg-x11 these can only be provided by libXScrnSaver AFAICS!?) Neither of them should depend on xscreensaver.
If this got across any other way, I may have chosen an unfortunate wording.
Comment 10 Martin von Gagern 2006-10-02 01:33:02 UTC
I just noticed that my Gaim gets compiled to use Xss even if the xscreensaver USE flag is not set. I assume the configure script finds Xss.so automatically. To really compile a gaim that does not to dependent on Xss even if libXScrnSaver is around at compile time, one would probably have to add $(use_enable xscreensaver screensaver) to the configure arguments. This allows you to remove libXScrnSaver without breaking gaim. Very likely the same holds for 1.5. Maybe other configure arguments should be checked as well, to avoid hidden dependecies.
Comment 11 Jakub Moc (RETIRED) gentoo-dev 2006-10-02 01:36:13 UTC
Geeez, away with this discussion forum from bug wranglers...
Comment 12 Kathryn Kulick (RETIRED) gentoo-dev 2006-10-12 18:52:20 UTC
Okay, when the xscreensaver dep was first added it appeared on my system as necessary. I've removed xscreensaver and run depclean, changed the ebuild and the x idle time is still available. The depend on xscreensaver is removed in -r3 being added to the tree tonight.