rpms/wallpapoz/F-13 wallpapoz-0.4.1-rev92-compiz-respawn.patch, 1.5, 1.6 wallpapoz-0.4.1-rev92-kill-daemon-without-x.patch, 1.3, 1.4 wallpapoz-0.4.1-rev92-kill-multiple-daemon.patch, 1.1, 1.2 wallpapoz.spec, 1.35, 1.36

Mamoru Tasaka mtasaka at fedoraproject.org
Wed Mar 17 16:39:56 UTC 2010


Author: mtasaka

Update of /cvs/extras/rpms/wallpapoz/F-13
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv20603/F-13

Modified Files:
	wallpapoz-0.4.1-rev92-compiz-respawn.patch 
	wallpapoz-0.4.1-rev92-kill-daemon-without-x.patch 
	wallpapoz-0.4.1-rev92-kill-multiple-daemon.patch 
	wallpapoz.spec 
Log Message:
* Thu Mar 18 2010 Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp> - 0.4.1-20.svn92_trunk
- Handle another potentially race condition under compiz (may fix 573642)


wallpapoz-0.4.1-rev92-compiz-respawn.patch:
 share/wallpapoz/lib/wallpapoz_system.py |   44 ++++++++++++++++++++++++++++++--
 src/daemon_wallpapoz                    |   11 +++++++-
 2 files changed, 52 insertions(+), 3 deletions(-)

Index: wallpapoz-0.4.1-rev92-compiz-respawn.patch
===================================================================
RCS file: /cvs/extras/rpms/wallpapoz/F-13/wallpapoz-0.4.1-rev92-compiz-respawn.patch,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -p -r1.5 -r1.6
--- wallpapoz-0.4.1-rev92-compiz-respawn.patch	28 Feb 2010 17:59:31 -0000	1.5
+++ wallpapoz-0.4.1-rev92-compiz-respawn.patch	17 Mar 2010 16:39:54 -0000	1.6
@@ -1,6 +1,6 @@
 --- wallpapoz-0.4.1-svn92_trunk/share/wallpapoz/lib/wallpapoz_system.py.compiz	2009-08-30 01:22:07.000000000 +0900
-+++ wallpapoz-0.4.1-svn92_trunk/share/wallpapoz/lib/wallpapoz_system.py	2010-03-01 02:28:48.000000000 +0900
-@@ -25,14 +25,26 @@
++++ wallpapoz-0.4.1-svn92_trunk/share/wallpapoz/lib/wallpapoz_system.py	2010-03-18 00:40:58.000000000 +0900
+@@ -25,18 +25,40 @@
  # achieve goal by calling external program
  
  import os
@@ -13,6 +13,10 @@
 +  static_check_beryl_called_p = False
 +  static_beryl = False
 +
++  # Also for total_workspaces
++  static_finding_total_workspaces_called_p = False
++  static_total_workspaces = 0
++
    def __init__(self):
      self.wallpaper_style = 'scaled'
      self.finding_screen_resolution()
@@ -27,7 +31,29 @@
      if self.beryl:
        self.finding_row_and_column()
      self.finding_total_workspaces()
-@@ -69,10 +81,15 @@
+ 
++    # Check if total_workspaces changed only here
++    if WallpapozSystem.static_total_workspaces != self.total_workspaces:
++      print "daemon_wallpapoz: the number of total workspaces changed during initialization process."
++      print "daemon_wallpapoz: respawning daemon_wallpapoz."
++      self.respawn_system()
++
+   def set_style(self, style):
+     self.wallpaper_style = style
+ 
+@@ -57,6 +79,11 @@
+     else:
+       self.total_workspaces = int(os.popen("xprop -root _NET_NUMBER_OF_DESKTOPS").read()[36:38])
+ 
++    # Save this total_workspaces value
++    if not WallpapozSystem.static_finding_total_workspaces_called_p:
++      WallpapozSystem.static_finding_total_workspaces_called = True
++      WallpapozSystem.static_total_workspaces = self.total_workspaces
++
+   ## class method to find if user use beryl in his system or not
+   def check_beryl(self):
+     raw_geometry = os.popen('xprop -root _NET_DESKTOP_GEOMETRY').read()
+@@ -69,10 +96,15 @@
      self.beryl = False
      if self.geometry_width!=self.screen_width:
        self.beryl = True
@@ -45,7 +71,7 @@
    ## class method to find how many rows and columns of workspaces
    def finding_row_and_column(self):
      self.row_workspaces = self.geometry_height / self.screen_height
-@@ -113,3 +130,11 @@
+@@ -113,3 +145,11 @@
        return True
      else:
        return False
@@ -56,9 +82,9 @@
 +    os.execvp('daemon_wallpapoz', new_argv)
 +    print "os.execvp failed, exiting..."
 +    sys.exit(1)
-+    return
++
 --- wallpapoz-0.4.1-svn92_trunk/src/daemon_wallpapoz.compiz	2009-08-30 01:22:07.000000000 +0900
-+++ wallpapoz-0.4.1-svn92_trunk/src/daemon_wallpapoz	2010-03-01 02:30:43.000000000 +0900
++++ wallpapoz-0.4.1-svn92_trunk/src/daemon_wallpapoz	2010-03-18 00:25:42.000000000 +0900
 @@ -134,11 +134,20 @@
      if wallpapozxml.get_type() == "workspace":
        while True:

wallpapoz-0.4.1-rev92-kill-daemon-without-x.patch:
 wallpapoz_system.py |   46 +++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 41 insertions(+), 5 deletions(-)

Index: wallpapoz-0.4.1-rev92-kill-daemon-without-x.patch
===================================================================
RCS file: /cvs/extras/rpms/wallpapoz/F-13/wallpapoz-0.4.1-rev92-kill-daemon-without-x.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -p -r1.3 -r1.4
--- wallpapoz-0.4.1-rev92-kill-daemon-without-x.patch	9 Mar 2010 19:03:26 -0000	1.3
+++ wallpapoz-0.4.1-rev92-kill-daemon-without-x.patch	17 Mar 2010 16:39:55 -0000	1.4
@@ -1,5 +1,5 @@
---- wallpapoz-0.4.1-svn92_trunk/share/wallpapoz/lib/wallpapoz_system.py.kill_nox	2010-03-10 03:29:22.000000000 +0900
-+++ wallpapoz-0.4.1-svn92_trunk/share/wallpapoz/lib/wallpapoz_system.py	2010-03-10 03:30:08.000000000 +0900
+--- wallpapoz-0.4.1-svn92_trunk/share/wallpapoz/lib/wallpapoz_system.py.kill_nox	2010-03-18 00:52:45.000000000 +0900
++++ wallpapoz-0.4.1-svn92_trunk/share/wallpapoz/lib/wallpapoz_system.py	2010-03-18 01:00:30.000000000 +0900
 @@ -24,9 +24,11 @@
  ## wallpapoz_system.py -- finds current desktop and changes wallpaper
  # achieve goal by calling external program
@@ -12,9 +12,9 @@
  
  class WallpapozSystem:
  
-@@ -49,12 +51,46 @@
-       self.finding_row_and_column()
-     self.finding_total_workspaces()
+@@ -59,12 +61,46 @@
+       print "daemon_wallpapoz: respawning daemon_wallpapoz."
+       self.respawn_system()
  
 +  def exec_cmd_under_X(self, cmd):
 +    try:
@@ -60,13 +60,17 @@
      start_width = raw_resolution.find('Width')
      end_width = raw_resolution.find('\n',start_width)
      start_height = raw_resolution.find('Height')
-@@ -67,11 +103,11 @@
+@@ -77,7 +113,7 @@
      if self.beryl:
        self.total_workspaces = self.row_workspaces * self.column_workspaces
      else:
 -      self.total_workspaces = int(os.popen("xprop -root _NET_NUMBER_OF_DESKTOPS").read()[36:38])
 +      self.total_workspaces = int(self.exec_cmd_under_X("xprop -root _NET_NUMBER_OF_DESKTOPS")[36:38])
  
+     # Save this total_workspaces value
+     if not WallpapozSystem.static_finding_total_workspaces_called_p:
+@@ -86,7 +122,7 @@
+ 
    ## class method to find if user use beryl in his system or not
    def check_beryl(self):
 -    raw_geometry = os.popen('xprop -root _NET_DESKTOP_GEOMETRY').read()
@@ -74,7 +78,7 @@
      # output of xprop -root _NET_DESKTOP_GEOMETRY is '_NET_DESKTOP_GEOMETRY(CARDINAL) = 1024, 768\n'
      # and we just need the '1024, 768' part
      raw_geometry = raw_geometry[34:raw_geometry.find('\n')]
-@@ -102,7 +138,7 @@
+@@ -117,7 +153,7 @@
    ## class method to know what workspace we are in now
    def current_desktop(self):
      if self.beryl:
@@ -83,7 +87,7 @@
        # output of xprop -root _NET_DESKTOP_VIEWPORT is '_NET_DESKTOP_VIEWPORT(CARDINAL) = 1024, 768\n'
        # and we just need the '1024, 768' part
        raw_viewport = raw_viewport[34:raw_viewport.find('\n')]
-@@ -111,7 +147,7 @@
+@@ -126,7 +162,7 @@
        y_pos = int(viewport[1]) / self.screen_height
        workspace = x_pos + self.column_workspaces * y_pos
      else:

wallpapoz-0.4.1-rev92-kill-multiple-daemon.patch:
 share/wallpapoz/lib/wallpapoz_system.py |   14 ++++++++++++++
 src/daemon_wallpapoz                    |    4 ++++
 2 files changed, 18 insertions(+)

Index: wallpapoz-0.4.1-rev92-kill-multiple-daemon.patch
===================================================================
RCS file: /cvs/extras/rpms/wallpapoz/F-13/wallpapoz-0.4.1-rev92-kill-multiple-daemon.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- wallpapoz-0.4.1-rev92-kill-multiple-daemon.patch	8 Feb 2010 18:32:04 -0000	1.1
+++ wallpapoz-0.4.1-rev92-kill-multiple-daemon.patch	17 Mar 2010 16:39:55 -0000	1.2
@@ -1,10 +1,9 @@
---- wallpapoz-0.4.1-svn92_trunk/share/wallpapoz/lib/wallpapoz_system.py.kill_multi	2010-02-09 03:12:50.000000000 +0900
-+++ wallpapoz-0.4.1-svn92_trunk/share/wallpapoz/lib/wallpapoz_system.py	2010-02-09 03:13:01.000000000 +0900
-@@ -150,3 +150,18 @@
+--- wallpapoz-0.4.1-svn92_trunk/share/wallpapoz/lib/wallpapoz_system.py.kill_multi	2010-03-18 01:01:50.000000000 +0900
++++ wallpapoz-0.4.1-svn92_trunk/share/wallpapoz/lib/wallpapoz_system.py	2010-03-18 01:03:38.000000000 +0900
+@@ -189,3 +189,17 @@
      print "os.execvp failed, exiting..."
      sys.exit(1)
-     return
-+
+ 
 +  def prevent_multiple_start(self):
 +    cpid = os.getpid()
 +    cid = os.getuid()
@@ -19,8 +18,8 @@
 +      if ( id_list in python_id_list ) and ( int(id_list) != cpid) :
 +        os.kill(int(id_list), signal.SIGTERM)
 +
---- wallpapoz-0.4.1-svn92_trunk/src/daemon_wallpapoz.kill_multi	2010-02-09 03:12:50.000000000 +0900
-+++ wallpapoz-0.4.1-svn92_trunk/src/daemon_wallpapoz	2010-02-09 03:13:01.000000000 +0900
+--- wallpapoz-0.4.1-svn92_trunk/src/daemon_wallpapoz.kill_multi	2010-03-18 01:01:50.000000000 +0900
++++ wallpapoz-0.4.1-svn92_trunk/src/daemon_wallpapoz	2010-03-18 01:01:50.000000000 +0900
 @@ -98,6 +98,10 @@
    # create the system class ( to change wallpaper and read current desktop )
    # by calling external program


Index: wallpapoz.spec
===================================================================
RCS file: /cvs/extras/rpms/wallpapoz/F-13/wallpapoz.spec,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -p -r1.35 -r1.36
--- wallpapoz.spec	9 Mar 2010 19:03:26 -0000	1.35
+++ wallpapoz.spec	17 Mar 2010 16:39:55 -0000	1.36
@@ -8,7 +8,7 @@
 %define         mainver         0.4.1
 %undefine         betaver
 %define         svnver          svn92_trunk
-%define         fedorarel       19
+%define         fedorarel       20
 
 %define         rel             %{?betaver:0.}%{fedorarel}%{?svnver:.%svnver}%{?betaver:.%betaver}
 
@@ -25,7 +25,7 @@ Source0:        %{srcurl}files/%{name}-%
 Source11:       wallpapoz-autostart.desktop
 %endif
 # Misc fixes for daemon_wallpapoz under compiz working,
-# containing fix for bug 531342, 542244, bug 567437
+# containing fix for bug 531342, 542244, bug 567437, bug 573642
 Patch0:         wallpapoz-0.4.1-rev92-compiz-respawn.patch
 # Check if selected item is really a directory when adding directory
 # bug 549219
@@ -35,7 +35,7 @@ Patch3:         wallpapoz-0.4.1-rev92-no
 # Intialization for pasting selected items
 Patch4:         wallpapoz-0.4.1-rev92-paste-initialization.patch
 # Kill daemon_wallpapoz when X resource is no longer available
-# bug 531343, 538533, 541434, 556377, 569135
+# bug 531343, 538533, 541434, 556377, 569135, 571827
 # (and bug 566594)
 Patch5:         wallpapoz-0.4.1-rev92-kill-daemon-without-x.patch
 # Kill other daemon_wallpapoz if running
@@ -123,6 +123,9 @@ desktop-file-install \
 %{_datadir}/applications/fedora-%{name}.desktop
 
 %changelog
+* Thu Mar 18 2010 Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp> - 0.4.1-20.svn92_trunk
+- Handle another potentially race condition under compiz (may fix 573642)
+
 * Wed Mar 10 2010 Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp> - 0.4.1-19.svn92_trunk
 - Kill daemon_wallpapoz in more cases (may fix bug 571827)
 



More information about the scm-commits mailing list