rpms/wallpapoz/F-11 wallpapoz-0.4.1-rev92-kill-daemon-without-x.patch, NONE, 1.1 wallpapoz-0.4.1-rev92-kill-multiple-daemon.patch, NONE, 1.1 wallpapoz-0.4.1-rev92-compiz-respawn.patch, 1.1, 1.2 wallpapoz.spec, 1.27, 1.28 command-wrapper.sh, 1.1, NONE daemon_wallpapoz-wrapper, 1.2, NONE kill-daemon_wallpapoz, 1.1, NONE wallpapoz-0.4.1-rev92-path-fedora.patch, 1.1, NONE
Mamoru Tasaka
mtasaka at fedoraproject.org
Mon Feb 8 18:32:03 UTC 2010
- Previous message: rpms/libguestfs/F-12 libguestfs.spec,1.112,1.113
- Next message: rpms/wallpapoz/F-12 wallpapoz-0.4.1-rev92-kill-daemon-without-x.patch, NONE, 1.1 wallpapoz-0.4.1-rev92-kill-multiple-daemon.patch, NONE, 1.1 wallpapoz-0.4.1-rev92-compiz-respawn.patch, 1.1, 1.2 wallpapoz.spec, 1.30, 1.31 command-wrapper.sh, 1.1, NONE daemon_wallpapoz-wrapper, 1.2, NONE kill-daemon_wallpapoz, 1.1, NONE wallpapoz-0.4.1-rev92-path-fedora.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: mtasaka
Update of /cvs/extras/rpms/wallpapoz/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv2354/F-11
Modified Files:
wallpapoz-0.4.1-rev92-compiz-respawn.patch wallpapoz.spec
Added Files:
wallpapoz-0.4.1-rev92-kill-daemon-without-x.patch
wallpapoz-0.4.1-rev92-kill-multiple-daemon.patch
Removed Files:
command-wrapper.sh daemon_wallpapoz-wrapper
kill-daemon_wallpapoz wallpapoz-0.4.1-rev92-path-fedora.patch
Log Message:
* Tue Feb 9 2010 Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp> - 0.4.1-15.svn92_trunk
- Change the way to fix backtrace with no X resource issue
wallpapoz-0.4.1-rev92-kill-daemon-without-x.patch:
wallpapoz_system.py | 34 +++++++++++++++++++++++++++++-----
1 file changed, 29 insertions(+), 5 deletions(-)
--- NEW FILE wallpapoz-0.4.1-rev92-kill-daemon-without-x.patch ---
--- wallpapoz-0.4.1-svn92_trunk/share/wallpapoz/lib/wallpapoz_system.py.kill_nox 2010-02-09 03:05:24.000000000 +0900
+++ wallpapoz-0.4.1-svn92_trunk/share/wallpapoz/lib/wallpapoz_system.py 2010-02-09 03:07:00.000000000 +0900
@@ -24,9 +24,11 @@
## wallpapoz_system.py -- finds current desktop and changes wallpaper
# achieve goal by calling external program
+import subprocess
import os
import sys
import string
+import signal
class WallpapozSystem:
@@ -38,12 +40,34 @@
self.finding_row_and_column()
self.finding_total_workspaces()
+ def exec_cmd(self, cmd):
+ p = subprocess.Popen(
+ cmd,
+ stdout = subprocess.PIPE,
+ stderr = subprocess.PIPE,
+ shell = True
+ )
+
+ pstdout = p.stdout.read()
+ pstderr = p.stderr.read()
+ ret = p.wait()
+
+ if ( ret != 0 ) and ( ret & 0xFF ):
+ err_str = 'unable to open display'
+
+ if pstderr.find(err_str) >= 0:
+ ## No X resource available, kill daemon_wallpapoz
+ cpid = os.getpid()
+ os.kill (cpid, signal.SIGTERM)
+
+ return pstdout
+
def set_style(self, style):
self.wallpaper_style = style
## class method to find monitor resolution
def finding_screen_resolution(self):
- raw_resolution = os.popen('xwininfo -root').read()
+ raw_resolution = self.exec_cmd('xwininfo -root')
start_width = raw_resolution.find('Width')
end_width = raw_resolution.find('\n',start_width)
start_height = raw_resolution.find('Height')
@@ -56,11 +80,11 @@
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("xprop -root _NET_NUMBER_OF_DESKTOPS")[36:38])
## 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()
+ raw_geometry = self.exec_cmd('xprop -root _NET_DESKTOP_GEOMETRY')
# 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')]
@@ -90,7 +114,7 @@
## class method to know what workspace we are in now
def current_desktop(self):
if self.beryl:
- raw_viewport = os.popen('xprop -root _NET_DESKTOP_VIEWPORT').read()
+ raw_viewport = self.exec_cmd('xprop -root _NET_DESKTOP_VIEWPORT')
# 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')]
@@ -99,7 +123,7 @@
y_pos = int(viewport[1]) / self.screen_height
workspace = x_pos + self.column_workspaces * y_pos
else:
- raw_workspace = os.popen('xprop -root _NET_CURRENT_DESKTOP').read()
+ raw_workspace = self.exec_cmd('xprop -root _NET_CURRENT_DESKTOP')
workspace = int(raw_workspace[33] + raw_workspace[34])
return workspace
wallpapoz-0.4.1-rev92-kill-multiple-daemon.patch:
share/wallpapoz/lib/wallpapoz_system.py | 15 +++++++++++++++
src/daemon_wallpapoz | 4 ++++
2 files changed, 19 insertions(+)
--- NEW FILE wallpapoz-0.4.1-rev92-kill-multiple-daemon.patch ---
--- 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 @@
print "os.execvp failed, exiting..."
sys.exit(1)
return
+
+ def prevent_multiple_start(self):
+ cpid = os.getpid()
+ cid = os.getuid()
+
+ wallpapoz_cmd = "pgrep -U %i -f daemon_wallpapoz" %cid
+ python_cmd = "pgrep -U %i -f python" %cid
+
+ wallpapoz_id_list = os.popen(wallpapoz_cmd).read().splitlines()
+ python_id_list = os.popen(python_cmd).read().splitlines()
+
+ for id_list in wallpapoz_id_list:
+ 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
@@ -98,6 +98,10 @@
# create the system class ( to change wallpaper and read current desktop )
# by calling external program
wallpapoz_system = WallpapozSystem()
+
+ # Kill other daemon_wallpapoz if running
+ wallpapoz_system.prevent_multiple_start()
+
available_style = { '3' : 'zoom', '2' : 'scaled', '1' : 'stretched',
'0' : 'centered', '4' : 'wallpaper' }
style = available_style[wallpapozxml.style()]
wallpapoz-0.4.1-rev92-compiz-respawn.patch:
share/wallpapoz/lib/wallpapoz_system.py | 13 +++++++++++++
src/daemon_wallpapoz | 19 ++++++++++++++++++-
2 files changed, 31 insertions(+), 1 deletion(-)
Index: wallpapoz-0.4.1-rev92-compiz-respawn.patch
===================================================================
RCS file: /cvs/extras/rpms/wallpapoz/F-11/wallpapoz-0.4.1-rev92-compiz-respawn.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- wallpapoz-0.4.1-rev92-compiz-respawn.patch 3 Feb 2010 20:06:05 -0000 1.1
+++ wallpapoz-0.4.1-rev92-compiz-respawn.patch 8 Feb 2010 18:32:02 -0000 1.2
@@ -29,7 +29,7 @@
+ new_argv.extend(sys.argv)
+ os.execvp('daemon_wallpapoz', new_argv)
+ print "os.execvp failed, exiting..."
-+ exit()
++ 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-02-04 02:31:21.000000000 +0900
Index: wallpapoz.spec
===================================================================
RCS file: /cvs/extras/rpms/wallpapoz/F-11/wallpapoz.spec,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -p -r1.27 -r1.28
--- wallpapoz.spec 7 Feb 2010 19:50:30 -0000 1.27
+++ wallpapoz.spec 8 Feb 2010 18:32:02 -0000 1.28
@@ -8,7 +8,7 @@
%define mainver 0.4.1
%undefine betaver
%define svnver svn92_trunk
-%define fedorarel 14
+%define fedorarel 15
%define rel %{?betaver:0.}%{fedorarel}%{?svnver:.%svnver}%{?betaver:.%betaver}
@@ -21,18 +21,12 @@ Group: User Interface/Desktops
License: GPLv2+
URL: %{srcurl}
Source0: %{srcurl}files/%{name}-%{mainver}%{?svnver:-%svnver}%{?betaver:%betaver}.tar.bz2
-Source10: daemon_wallpapoz-wrapper
%if 0%{?fedora} >= 12
Source11: wallpapoz-autostart.desktop
%endif
-# Source12,13: For bug 531343, 538533, 541434, 556377
-# Kill daemon_wallpapoz when X resource is no longer available
-Source12: kill-daemon_wallpapoz
-Source13: command-wrapper.sh
# Misc fixes for daemon_wallpapoz under compiz working,
# containing fix for bug 531342, 542244
Patch0: wallpapoz-0.4.1-rev92-compiz-respawn.patch
-Patch1: wallpapoz-0.4.1-rev92-path-fedora.patch
# Check if selected item is really a directory when adding directory
# bug 549219
Patch2: wallpapoz-0.4.1-rev92-dircheck.patch
@@ -40,6 +34,11 @@ Patch2: wallpapoz-0.4.1-rev92-di
Patch3: wallpapoz-0.4.1-rev92-noitem_selected.patch
# 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
+Patch5: wallpapoz-0.4.1-rev92-kill-daemon-without-x.patch
+# Kill other daemon_wallpapoz if running
+Patch6: wallpapoz-0.4.1-rev92-kill-multiple-daemon.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
@@ -72,10 +71,11 @@ wallpapers for different workspaces or v
%prep
%setup -q -n %{name}-%{version}%{?svnver:-%svnver}
%patch0 -p1 -b .compiz
-%patch1 -p1 -b .path
%patch2 -p1 -b .dircheck
%patch3 -p1 -b .noitem
%patch4 -p1 -b .patch_init
+%patch5 -p1 -b .kill_nox
+%patch6 -p1 -b .kill_multi
%build
@@ -93,24 +93,6 @@ desktop-file-install \
--delete-original \
$RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop
-# Install daemon_wallpapoz-wrapper, move the original one
-# to %%_libexecdir/wallpapoz
-%{__mkdir_p} $RPM_BUILD_ROOT%{_libexecdir}/wallpapoz
-%{__mv} $RPM_BUILD_ROOT%{_bindir}/daemon_wallpapoz \
- $RPM_BUILD_ROOT%{_libexecdir}/wallpapoz
-%{__install} -cpm 0755 %{SOURCE10} \
- $RPM_BUILD_ROOT%{_bindir}/daemon_wallpapoz
-
-# Install some other wrapper stuff
-%{__install} -cpm 0755 \
- %{SOURCE12} %{SOURCE13} \
- $RPM_BUILD_ROOT%{_libexecdir}/wallpapoz/
-for file in \
- xprop xwininfo
-do
- ln -sf $(basename %{SOURCE13}) $RPM_BUILD_ROOT%{_libexecdir}/wallpapoz/$file
-done
-
# Install desktop application autostart stuff
%if 0%{?fedora} >= 12
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/xdg/autostart
@@ -128,7 +110,6 @@ desktop-file-install \
%defattr(-,root,root,-)
%doc COPYING README
%{_bindir}/*%{name}
-%{_libexecdir}/wallpapoz/
%if 0%{?fedora} >= 12
%{_sysconfdir}/xdg/autostart/wallpapoz-autostart.desktop
@@ -141,6 +122,9 @@ desktop-file-install \
%{_datadir}/applications/fedora-%{name}.desktop
%changelog
+* Tue Feb 9 2010 Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp> - 0.4.1-15.svn92_trunk
+- Change the way to fix backtrace with no X resource issue
+
* Mon Feb 8 2010 Mamoru Tasaka <mtasaka at ioa.s.u-tokyo.ac.jp> - 0.4.1-14.svn92_trunk
- Check if the selected item is really a directory on directory
chooser dialog (bug 549219)
--- command-wrapper.sh DELETED ---
--- daemon_wallpapoz-wrapper DELETED ---
--- kill-daemon_wallpapoz DELETED ---
--- wallpapoz-0.4.1-rev92-path-fedora.patch DELETED ---
- Previous message: rpms/libguestfs/F-12 libguestfs.spec,1.112,1.113
- Next message: rpms/wallpapoz/F-12 wallpapoz-0.4.1-rev92-kill-daemon-without-x.patch, NONE, 1.1 wallpapoz-0.4.1-rev92-kill-multiple-daemon.patch, NONE, 1.1 wallpapoz-0.4.1-rev92-compiz-respawn.patch, 1.1, 1.2 wallpapoz.spec, 1.30, 1.31 command-wrapper.sh, 1.1, NONE daemon_wallpapoz-wrapper, 1.2, NONE kill-daemon_wallpapoz, 1.1, NONE wallpapoz-0.4.1-rev92-path-fedora.patch, 1.1, NONE
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list