Bug 173602 - Location of "XScreenSaver" app-defaults file needs update for modular X
Location of "XScreenSaver" app-defaults file needs update for modular X
Product: Fedora
Classification: Fedora
Component: xscreensaver (Show other bugs)
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Ray Strode [halfline]
Depends On:
  Show dependency treegraph
Reported: 2005-11-18 10:57 EST by Joachim Frieben
Modified: 2007-11-30 17:11 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2006-01-23 11:35:07 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
lock screen under modular X rpm (41.87 KB, image/jpeg)
2005-12-03 13:08 EST, Mamoru TASAKA
no flags Details
lock screen with setting X environment (37.20 KB, image/jpeg)
2005-12-03 13:13 EST, Mamoru TASAKA
no flags Details

  None (edit)
Description Joachim Frieben 2005-11-18 10:57:22 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20051018 Epiphany/1.8.2

Description of problem:
The location of the "XScreenSaver" app-defaults file has not
yet been adapted to modular X. It can still be found in its
old place which was "/usr/X11R6/lib/X11/app-defaults".

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. Check content of "/usr/X11R6/lib/X11/app-defaults".

Actual Results:  There is a a file! Its name: "XScreenSaver".

Expected Results:  File "XScreenSaver" should be in "/usr/lib/X11/app-defaults".

Additional info:
Comment 1 Mamoru TASAKA 2005-12-03 12:56:19 EST
Actually, where must XScreenSaver.ad in xscreensaver-4.22/driver
directory of the source be installed?

When I switched to modular X by upgrading rpms repeatedly, xscreensaver came to
fail to load XScreensaver file in /usr/X11R6/lib/X11/app-defaults
directory (see the attached image files below). After some investigation, I 
found that XrmGetResource in get_string_resource() function in
utils/resources.c fails each time it is called.

After I moved XScreenSaver 
to /usr/lib/X11/app-defaults or /usr/share/X11/app-defaults (by libXt-0.99.2-2
changelog: now my XScreenSaver file is here, this problem remained.  
For now, I have to deal with the X environment ( I don't know well ) like 
"XAPPLRESDIR=/usr/share/X11/app-defaults xscreensaver -nosplash". I don't know
if this problem is whether by my dirty upgrading or by xscreensaver program
Comment 2 Mamoru TASAKA 2005-12-03 13:08:37 EST
Created attachment 121798 [details]
lock screen under modular X rpm

xscreensaver lock screen with xscreensaver-4.22-19 and development
modular X rpm (I don't know what X rpm is really related to the
problem I commented above).
The lock panel title is set as "Screen Locked" by passwd.heading.label
in /usr/X11R6/lib/X11/app-defaults/XScreenSaver,
but in the real lock screen, its setting is ignored (unloaded) and
the title reads "XScreenSaver 4.22".
Comment 3 Mamoru TASAKA 2005-12-03 13:13:00 EST
Created attachment 121799 [details]
lock screen with setting X environment

Lock screen with the same rpms but with setting X environment like
"XAPPLRESDIR=/usr/X11R6/lib/X11/app-defaults/ xscreensaver".

This lock screen is the expected one.
Comment 4 Mamoru TASAKA 2005-12-06 10:42:24 EST
My comment 1 was a bit wrong.

I verified in xscreensaver-4.22-21 that putting XScreenSaver file in 
/usr/X11R6/lib/X11/app-defaults or /usr/lib/X11/app-defaults no longer works; 
xscreensaver command cannot load the XScreenSaver config file any more.
Putting XScreenSaver file in /usr/share/lib/app-defaults works well
( as expected like in libXt-0.99.2-2 changelog) ; xscreensaver correctly
load the XScreenSaver config file.

Please move XScreenSaver into /usr/share/X11/app-defaults.
Comment 5 Michal Jaegermann 2005-12-23 17:19:53 EST
> Expected Results:  File "XScreenSaver" should be in "/usr/lib/X11/app-defaults".

It is like that in xscreensaver-base-4.22-21.2 from recent updates but this
location is architecture dependent and this really should go to
/usr/share/X11/app-defaults/ together with other default resource files.
"file /usr/lib/X11/app-defaults is not owned by any package" you will get
now if you will ask rpm for an owner.
Comment 6 Joachim Frieben 2006-01-13 04:40:17 EST
Fixed in "xscreensaver-base-4.22-21.2" or earlier.
Comment 7 Mamoru TASAKA 2006-01-13 12:03:02 EST
Determining where "XScreenSaver.ad" will be installed starts from
around the line 6800 of configure.

From reading configure file around there, "XScreenSaver.ad" will be
installed correctly in /usr/share/X11/app-defaults only when the command
"imake" exists (around the line 6817) (now in imake rpm, but imake command  
is thought to be deprecated...). Current rawhide sets XAPPLOADDIR as
/usr/share/X11/app-defaults (this is the reason XScreenSaver.ad should be
installed), so imake correctly points to this directory.

When I forcely changed the permission of /usr/bin/imake as 000, 
configure pointed to /usr/lib/X11/app-defaults (as the newest rawhide rpm),
which is now incorrect.

This problem is also discussed in the bug 176218. 
Comment 8 Mamoru TASAKA 2006-01-13 17:05:14 EST
In my comment 7, "the command "imake" exists" was "the command "xmkmf" exists",
and "changed the permission of /usr/bin/imake" was "changed the permission
of /usr/bin/xmkmf". 
Comment 9 Mamoru TASAKA 2006-01-23 08:30:18 EST
This is fixed in rawhide rpm 4.23-1.

Note: in xscreensaver-4.23-1 src rpm, the patch18
(xscreensaver-4.23-modularX-addoption.patch) and the added CFLAGS option
CONFIG_OPTS="$CONFIG_OPTS --with-x-app-defaults=%{_datadir}/X11/app-defaults"
removes the necessity of imake.

Note You need to log in before you can comment on or make changes to this bug.