Bug 105748 - xscreensaver 4.21 changed dir structure
Summary: xscreensaver 4.21 changed dir structure
Status: RESOLVED FIXED
Alias: None
Product: kscreensaver
Classification: Miscellaneous
Component: kxsrun (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: kscreensaver bugs tracking
URL:
Keywords:
: 109462 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-05-16 11:22 UTC by Tobias Powalowski
Modified: 2008-05-19 17:59 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
fix search path(s) for recent xscreensaver (+lib64) (1.78 KB, patch)
2005-06-29 18:58 UTC, Rex Dieter
Details
xscreensaver-check.patch (4.27 KB, patch)
2005-07-17 11:51 UTC, Gregorio Guidi
Details
xscreensaver-configure.patch (4.37 KB, patch)
2005-08-11 19:40 UTC, Gregorio Guidi
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tobias Powalowski 2005-05-16 11:22:56 UTC
Version:           3.4.0 (using KDE KDE 3.4.0)
Installed from:    Compiled From Sources
Compiler:          gcc 3.4.3 
OS:                Linux

configure doesn't look for the right dirs,
here a small workaround for the problem:
sed -i -e's=lib/xscreensaver/flame=libexec/xscreensaver/flame=g' configure
Comment 1 Giacomo Lozito 2005-05-27 16:22:37 UTC
I can confirm this problem.

xscreensaver-4.21 by default installs the screensavers under PREFIX/libexec/xscreensaver , and not under PREFIX/lib/xscreensaver anymore.

Unfortunately, kdeartwork doesn't check that directory in configure.
This means that people upgrading to xscreensaver-4.21 won't be able to configure/use the x-screensavers from KDE control panel anymore (that happened to me too). And users that compile kdeartwork after installing xscreensaver-4.21, will receive the message "you don't have xscreensaver" at configure time.

The problem can be solved by user by modifying the configure script (like suggested by the bug reporter).

Kdeartwork developers may want to add the new directory check in configure.in.
This can be done by nesting another KDE_FIND_PATH, this way:

--- kdeartwork-3.4.0/configure.in       2005-03-04 13:10:15.000000000 +0100
+++ x/configure.in      2005-05-27 16:21:09.000000000 +0200
@@ -185,7 +185,11 @@
                  KDE_FIND_PATH(hacks/flame, XSCREENSAVER,
                  [ $xscreensaver_prefixes ],
                  [
-                   XSCREENSAVER=NO
+                       KDE_FIND_PATH(libexec/xscreensaver/flame, XSCREENSAVER,
+                       [ $xscreensaver_prefixes ],
+                       [
+                           XSCREENSAVER=NO
+                       ])
                  ])
              ])
         ])
Comment 2 Ken Zalewski 2005-06-03 15:30:54 UTC
XScreenSaver 4.21 has been out since March, 2005.  Yet this bug has crept into kdeartwork-3.4.1, with the fix being a simple 10-second change to the configure script.  Is anyone working on this?
Comment 3 Vesko Tomov 2005-06-22 13:43:50 UTC
Hello,

I just updated to KDE 3.4.1, using Fedora RPMs, and am noticing that the xscreensavers are missing from the KDE screensaver setup window.  I created a link /usr/lib/xscreensaver that points to /usr/libexec/xscreensaver but this didn't help.  I was wondering if re-installing the kdeartwork rpm might do the job?  Thank you!
Comment 4 Gilboa Davara 2005-06-29 10:19:18 UTC
There's an open bug about it RedHat's bugzilla:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=161312
But I believe it's a specific RedHat-KDE problem and not a KDE 3.4.x problem.
Comment 5 Ken Zalewski 2005-06-29 16:25:03 UTC
This problem is NOT specific to RedHat-KDE.  It is a KDE 3.x problem that exists due to a change in the XScreenSaver paths since version 4.21.

It is a simple bug in the configure script for kdeartwork, and can be fixed in 10 seconds -- or 20 seconds if the programmer is a slow typist.
Comment 6 Chris Howells 2005-06-29 18:02:25 UTC
It works for me already on FreeBSD with xscreensaver 4.21. I am therefore not able to determine the correctness of any such patch.
Comment 7 Ken Zalewski 2005-06-29 18:11:44 UTC
The patch would simply be adding /usr/libexec/xscreensaver to the path listing that is used in ./configure to find the XScreenSaver hacks.

If ./configure is finding your XScreenSaver-4.21 hacks, then you have a non-standard installation of XScreenSaver.

I will be happy to test out a modified ./configure patch for kdeartwork.
Comment 8 Rex Dieter 2005-06-29 18:58:24 UTC
Created attachment 11624 [details]
fix search path(s) for recent xscreensaver (+lib64)

Here's the patch we've used (since kdeartwork-3.4.0) for the kde-redhat
project.

See also bug #57630 for similar issues
Comment 9 Rex Dieter 2005-06-29 18:59:22 UTC
Confirmed (for Fedora Core 3/4, RHEL 4 at least)
Comment 10 Jure Repinc 2005-07-10 17:52:42 UTC
I think I have the same problem here with KDE from SVN. configure was looking for:
checking for lib/xscreensaver/flame... not found
checking for lib/xscreensaver/flame... (cached) not found
checking for bin/xscreensaver-hacks/flame... not found
checking for hacks/flame... not found

But I have flame on my system (Gentoo AMD64 with xscreensaver 4.22) in:
/usr/lib/misc/xscreensaver/flame
Comment 11 Ken Zalewski 2005-07-11 14:48:11 UTC
Jure,

The new default location for the xscreensaver hacks is /usr/libexec/xscreensaver, which is what needs to be added to the configure script.

Your location, /usr/lib/misc/xscreensaver, sounds like a distro-specific customization.  I've never heard of a /usr/lib/misc/ directory.

In any case, the configure script for kdeartwork should probably support an option for the user to specify exactly where the xscreensaver hack directory is located.
Comment 12 Jure Repinc 2005-07-16 18:59:14 UTC
Bug about his on bugs.gentoo.org:
http://bugs.gentoo.org/show_bug.cgi?id=98819
Comment 13 Gregorio Guidi 2005-07-17 11:51:15 UTC
Created attachment 11819 [details]
xscreensaver-check.patch

Hi, the patch above modifies the xscreensaver check so that it looks also in
/usr/libexec, adds --with-screensaver-dir and --with-screensaver-config
switches to manually specify the location of xscreensaver files, and does a bit
of cleanup.

Hope that helps.
Comment 14 Gregorio Guidi 2005-08-11 19:40:08 UTC
Created attachment 12178 [details]
xscreensaver-configure.patch

The current check as well as my patch in comment #13 suffer from a problem
reported in bug 109462: the KDE_FIND_PATH() macro does nothing if the
XSCREENSAVER variable is already defined (it is defined to NO at the
beginning). AC_FIND_FILE() does not have this problem.

The attachment patch is a refinement of the previous one that fixes this issue,
too.
Comment 15 Rex Dieter 2005-08-19 14:08:34 UTC
*** Bug 109462 has been marked as a duplicate of this bug. ***
Comment 16 Gregorio Guidi 2005-08-22 16:42:19 UTC
A commit from mpyne fixed most of these issues. Now adding /usr/libexec/xscreensaver to the list of paths to search is enough to close the bug.
Comment 17 Michael Pyne 2005-09-14 01:39:46 UTC
SVN commit 460471 by mpyne:

Fix bug 105748 (xscreensaver-4.21 changed dir structure) by adding /usr/libexec/xscreensaver
to list of paths to search.  If I was 100% certain I could do it correctly I'd also add
--with-xscreensaver-dir= so that this problem won't come up again.

BUG:105748


 M  +1 -1      configure.in.in  


--- branches/KDE/3.5/kdeartwork/kscreensaver/kxsconfig/configure.in.in #460470:460471
@@ -32,6 +32,7 @@
 if test "x$with_xscreensaver" != xno; then
   for xsdir in lib$kdelibsuff/xscreensaver lib/xscreensaver \
                lib$kdelibsuff/misc/xscreensaver lib/misc/xscreensaver \
+               libexec$kdelibsuff/xscreensaver libexec/xscreensaver \
                bin/xscreensaver-hacks hacks; do
     test -n "$XSCREENSAVER" && break
     KDE_FIND_PATH("$xsdir/flame", XSCREENSAVER, [ $xscreensaver_prefixes ])
@@ -52,7 +53,6 @@
      for subdir in lib/xscreensaver/config \
 		   lib/X11/xscreensaver/config \
 		   share/control-center/screensavers \
-		   share/control-center/screensavers \
 		   share/xscreensaver/config \
                    xscreensaver \
 		   config/control-center-2.0; do
Comment 18 Gregorio Guidi 2005-10-08 11:35:50 UTC
I noticed that after the last commits there's a small cosmetic issue in configure.in.bot. You may want to apply this one-liner:

--- configure.in.bot    (revision 468475)
+++ configure.in.bot    (working copy)
@@ -1,4 +1,4 @@
-if test "x$with_xscreensaver" = xcheck && test "$XSCREENSAVER" = "NO"; then
+if test "x$with_xscreensaver" = xcheck && test "x$XSCREENSAVER" = x; then
   echo ""
   echo "xscreensaver could not be detected on your system."
   echo "Check www.jwz.org/xscreensaver if you're loving to"
Comment 19 Stephan Kulow 2005-10-08 12:24:35 UTC
> --- configure.in.bot    (revision 468475)
> +++ configure.in.bot    (working copy)
>  @ -1,4 +1,4  @
> -if test "x$with_xscreensaver" = xcheck && test "$XSCREENSAVER" = "NO";
> then +if test "x$with_xscreensaver" = xcheck && test "x$XSCREENSAVER" = x;
> then echo ""
>    echo "xscreensaver could not be detected on your system."
>    echo "Check www.jwz.org/xscreensaver if you're loving to"

I don't understand that patch - XSCREENSAVER is set to NO if it's not found

Greetings, Stephan