rpms/xscreensaver/F-9 xscreensaver-5.06-bz456399-jwz.patch, NONE, 1.1 xscreensaver.spec, 1.70, 1.71

Mamoru Tasaka (mtasaka) fedora-extras-commits at redhat.com
Thu Jul 24 18:16:02 UTC 2008


Author: mtasaka

Update of /cvs/extras/rpms/xscreensaver/F-9
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv25319/F-9

Modified Files:
	xscreensaver.spec 
Added Files:
	xscreensaver-5.06-bz456399-jwz.patch 
Log Message:
* Fri Jul 25 2008 Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp> - 1:5.06-2
- Patch from jwz to fix bug 456399


xscreensaver-5.06-bz456399-jwz.patch:

--- NEW FILE xscreensaver-5.06-bz456399-jwz.patch ---
Index: driver/screens.c
===================================================================
RCS file: /cvsroot/xscreensaver/driver/screens.c,v
retrieving revision 1.7
diff -u -r1.7 screens.c
--- driver/screens.c	8 Jul 2008 05:22:46 -0000	1.7
+++ driver/screens.c	24 Jul 2008 15:52:14 -0000
@@ -342,7 +342,7 @@
 
   for (i = 0, j = 0; i < ScreenCount (dpy); i++)
     {
-      Screen *screen = ScreenOfDisplay (dpy, j);
+      Screen *screen = ScreenOfDisplay (dpy, i);
 
       if (! new_randr_p)  /* RANDR 1.0 */
         {
@@ -624,6 +624,7 @@
       if (i != j &&
           monitors[i]->sanity == S_SANE &&
           monitors[j]->sanity == S_SANE &&
+          monitors[i]->screen == monitors[j]->screen &&
           X2 >= X1 &&
           Y2 >= Y1 &&
           (X2+W2) <= (X1+W1) &&
@@ -648,6 +649,7 @@
       {
         if (monitors[i]->sanity != S_SANE) continue; /* already marked */
         if (monitors[j]->sanity != S_SANE) continue;
+        if (monitors[i]->screen != monitors[j]->screen) continue;
 
         if (monitors_overlap_p (monitors[i], monitors[j]))
           {
@@ -656,17 +658,15 @@
           }
       }
 
-  /* Finally, make sure all monitors are enclosed by their X screen.
+  /* Finally, make sure all monitors have sane positions and sizes.
      Xinerama sometimes reports 1024x768 VPs at -1936862040, -1953705044.
    */
   for (i = 0; i < count; i++)
     {
-      int sw = WidthOfScreen (monitors[i]->screen)  * 2;
-      int sh = HeightOfScreen (monitors[i]->screen) * 2;
       if (monitors[i]->sanity != S_SANE) continue; /* already marked */
-      if (X1    <  0 || Y1    <  0 || 
-          W1    <= 0 || H1    <= 0 || 
-          X1+W1 > sw || Y1+H1 > sh)
+      if (X1    <  0      || Y1    <  0 || 
+          W1    <= 0      || H1    <= 0 || 
+          X1+W1 >= 0x7FFF || Y1+H1 >= 0x7FFF)
         {
           monitors[i]->sanity = S_OFFSCREEN;
           monitors[i]->enemy = 0;


Index: xscreensaver.spec
===================================================================
RCS file: /cvs/extras/rpms/xscreensaver/F-9/xscreensaver.spec,v
retrieving revision 1.70
retrieving revision 1.71
diff -u -r1.70 -r1.71
--- xscreensaver.spec	17 Jul 2008 01:59:34 -0000	1.70
+++ xscreensaver.spec	24 Jul 2008 18:15:08 -0000	1.71
@@ -5,7 +5,7 @@
 
 
 %define modular_conf  1
-%define fedora_rel    1
+%define fedora_rel    2
 
 %define extrarel      %{nil}
 
@@ -14,7 +14,8 @@
 %define pam_ver       0.80-7
 %define autoconf_ver  2.53
 
-%define update_po     1
+%define update_po     0
+%define build_tests   0
 
 Buildroot:       %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
@@ -32,6 +33,7 @@
 %endif
 Patch1:          xscreensaver-5.00b5-sanitize-hacks.patch
 Patch21:         xscreensaver-5.05-webcollage-default-nonet.patch
+Patch40:         xscreensaver-5.06-bz456399-jwz.patch
 Requires:        xscreensaver-base = %{epoch}:%{version}-%{release}
 Requires:        xscreensaver-extras = %{epoch}:%{version}-%{release}
 Requires:        xscreensaver-gl-extras = %{epoch}:%{version}-%{release}
@@ -67,6 +69,10 @@
 Requires:        xdg-utils
 Requires:        xorg-x11-resutils
 Requires:        xorg-x11-fonts-ISO8859-1-100dpi
+%if 0%{?build_tests} < 1
+# Obsoletes but not Provides
+Obsoletes:       xscreeensaver-tests < %{epoch}:%{version}-%{release}
+%endif
 
 %package extras
 Summary:         An enhanced set of screensavers
@@ -104,6 +110,11 @@
 Requires:        %{name}-gl-extras = %{epoch}:%{version}-%{release}
 Requires:        gnome-screensaver
 
+%package tests
+Summary:         Test programs related to XScreenSaver
+Group:           Development/Debuggers
+Requires:        %{name}-base = %{epoch}:%{version}-%{release}
+
 
 %description
 A modular screen saver and locker for the X Window System.
@@ -166,6 +177,8 @@
 This package contains desktop files of gl-extras screensavers
 for gnome-screensaver compatibility.
 
+%description tests
+This package contains some test programs to debug XScreenSaver.
 
 
 %prep
@@ -173,6 +186,7 @@
 
 %patch1 -p1 -b .sanitize-hacks
 %patch21 -p1 -b .nonet
+%patch40 -p0 -b .jwz40
 
 change_option(){
    set +x
@@ -279,6 +293,22 @@
    driver/screensaver-properties.desktop.in
 %endif
 
+# Disable (don't build) some tests
+# apm: doesn't compile
+# passwd: causes segv
+# mlstring: causes OOM
+sed -i.test \
+   -e 's|test-apm[ \t][ \t]*t|t|' \
+   -e 's|test-passwd[ \t][ \t]*t|t|' \
+   -e 's|test-mlstring[ \t][ \t]*t|t|' \
+   driver/Makefile.in
+sed -i.dir -e '/TEST_FADE_OBJS =/s|UTILS_SRC|UTILS_BIN|' driver/Makefile.in
+
+# test-fade: give more time between fading
+sed -i.delay -e 's| delay = 1| delay = 3|' driver/test-fade.c
+# test-grab: testing time too long, setting time 15 min -> 20 sec
+sed -i.delay -e 's|60 \* 15|20|' driver/test-grab.c
+
 %build
 autoconf
 
@@ -331,6 +361,11 @@
 
 %endif
 
+# test
+%if %{build_tests}
+make tests -C driver
+%endif
+
 %install
 archdir=`./config.guess`
 cd $archdir
@@ -464,6 +499,17 @@
    fi
 done
 
+# tests
+%if %{build_tests}
+echo "%%defattr(-,root,root,-)" > $dd/tests.files
+cd driver
+for tests in `find . -name test-\* -perm -0700` ; do
+   install -cpm 0755 $tests ${RPM_BUILD_ROOT}%{_libexecdir}/xscreensaver
+   echo "%{_libexecdir}/xscreensaver/$tests" >> $dd/tests.files
+done
+cd ..
+%endif
+
 # create desktop entry for gnome-screensaver
 create_desktop(){
    COMMAND=`cat $1 | sed -n -e 's|^<screen.*name=\"\([^ ][^ ]*\)\".*$|\1|p'`
@@ -540,6 +586,11 @@
 %files -f base.files base
 %defattr(-,root,root,-)
 
+%if %{build_tests}
+%files -f tests.files tests
+%defattr(-,root,root,-)
+%endif
+
 %files -f extras.files extras
 %defattr(-,root,root,-)
 
@@ -558,6 +609,12 @@
 %defattr(-,root,root,-)
 
 %changelog
+* Fri Jul 25 2008 Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp> - 1:5.06-2
+- Patch from jwz to fix bug 456399
+
+* Thu Jul 24 2008 Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp>
+- Build some test binaries for debugging
+
 * Thu Jul 17 2008 Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp> - 1:5.06-1
 - Update to 5.06
 




More information about the fedora-extras-commits mailing list