From db70aed81db4ce4b2052a307ddb7fde9771ea610 Mon Sep 17 00:00:00 2001
From: Anish Mangal <anish@activitycentral.com>
Date: Wed, 25 Apr 2012 17:17:56 +0530
Subject: [PATCH] Bump sugar-toolkit; refresh the fix for olpc#10363 with v2
 patch
Organization: Sugar Labs Foundation


Signed-off-by: Anish Mangal <anish@activitycentral.com>
---
 ...Inhitbit-suspend-when-sharing-joining-and.patch |   83 -------------------
 ...63-Inhitbit-suspend-when-sharing-joining-.patch |   86 ++++++++++++++++++++
 rpms/sugar-toolkit/sugar-toolkit.spec              |    4 +-
 3 files changed, 88 insertions(+), 85 deletions(-)
 delete mode 100644 rpms/sugar-toolkit/0033-olpc-10363-Inhitbit-suspend-when-sharing-joining-and.patch
 create mode 100644 rpms/sugar-toolkit/0033-v2-olpc-10363-Inhitbit-suspend-when-sharing-joining-.patch

diff --git a/rpms/sugar-toolkit/0033-olpc-10363-Inhitbit-suspend-when-sharing-joining-and.patch b/rpms/sugar-toolkit/0033-olpc-10363-Inhitbit-suspend-when-sharing-joining-and.patch
deleted file mode 100644
index bbc15b2..0000000
--- a/rpms/sugar-toolkit/0033-olpc-10363-Inhitbit-suspend-when-sharing-joining-and.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From 74a60d1485781b2c9219c1ed8ac0c21f277748d6 Mon Sep 17 00:00:00 2001
-From: Anish Mangal <anish@activitycentral.com>
-Date: Mon, 6 Feb 2012 13:25:44 -0200
-Subject: [PATCH 33/33] olpc#10363: Inhitbit suspend when sharing, joining and
- inviting (private share)
-Organization: Sugar Labs Foundation
-
-In dextrose, and as the bug history of olpc#10363 and au#1049 suggests,
-power management kicking in doesnt work well with activities that are
-collaborating.
-
-This patch inhibits the ability to suspend when sharing, joining and
-inviting to a private share.
-
-Signed-off-by: Anish Mangal <anish@activitycentral.com>
----
- src/sugar/activity/activity.py |   22 ++++++++++++++++++++++
- 1 files changed, 22 insertions(+), 0 deletions(-)
-
-diff --git a/src/sugar/activity/activity.py b/src/sugar/activity/activity.py
-index 4938caf..bfdc747 100644
---- a/src/sugar/activity/activity.py
-+++ b/src/sugar/activity/activity.py
-@@ -97,6 +97,8 @@ J_DBUS_SERVICE = 'org.laptop.Journal'
- J_DBUS_PATH = '/org/laptop/Journal'
- J_DBUS_INTERFACE = 'org.laptop.Journal'
- 
-+POWERD_INHIBIT_DIR = '/var/run/powerd-inhibit-suspend'
-+
- CONN_INTERFACE_ACTIVITY_PROPERTIES = 'org.laptop.Telepathy.ActivityProperties'
- 
- 
-@@ -713,6 +715,18 @@ class Activity(Window, gtk.Container):
-         else:
-             self._jobject.metadata['share-scope'] = SCOPE_NEIGHBORHOOD
- 
-+    def _inhibit_suspend(self):
-+        if not os.path.exists(POWERD_INHIBIT_DIR):
-+            return
-+
-+        path = os.path.join(POWERD_INHIBIT_DIR, str(os.getpid()))
-+        try:
-+            fd = open(path, 'w')
-+        except IOError:
-+            logging.error("Inhibit Suspend: Could not create file %s", path)
-+        else:
-+            fd.close()
-+
-     def __joined_cb(self, activity, success, err):
-         """Callback when join has finished"""
-         logging.debug('Activity.__joined_cb %r', success)
-@@ -722,6 +736,8 @@ class Activity(Window, gtk.Container):
-             logging.debug('Failed to join activity: %s', err)
-             return
- 
-+        self._inhibit_suspend()
-+
-         self.reveal()
-         self.emit('joined')
-         self.__privacy_changed_cb(self.shared_activity, None)
-@@ -750,6 +766,8 @@ class Activity(Window, gtk.Container):
- 
-         activity.props.name = self._jobject.metadata['title']
- 
-+        self._inhibit_suspend()
-+
-         self.shared_activity = activity
-         self.shared_activity.connect('notify::private',
-                 self.__privacy_changed_cb)
-@@ -866,6 +884,10 @@ class Activity(Window, gtk.Container):
- 
-         self._session.unregister(self)
- 
-+        if os.path.exists(POWERD_INHIBIT_DIR):
-+            path = os.path.join(POWERD_INHIBIT_DIR, str(os.getpid()))
-+            os.unlink(path)
-+
-     def close(self, skip_save=False):
-         """Request that the activity be stopped and saved to the Journal
- 
--- 
-1.7.4.4
-
diff --git a/rpms/sugar-toolkit/0033-v2-olpc-10363-Inhitbit-suspend-when-sharing-joining-.patch b/rpms/sugar-toolkit/0033-v2-olpc-10363-Inhitbit-suspend-when-sharing-joining-.patch
new file mode 100644
index 0000000..985a91b
--- /dev/null
+++ b/rpms/sugar-toolkit/0033-v2-olpc-10363-Inhitbit-suspend-when-sharing-joining-.patch
@@ -0,0 +1,86 @@
+From 31dc2d92d125a76fbc6a998a4fd19c2801346638 Mon Sep 17 00:00:00 2001
+From: Anish Mangal <anish@activitycentral.com>
+Date: Mon, 6 Feb 2012 13:25:44 -0200
+Subject: [PATCH sugar-toolkit] v2, olpc#10363: Inhitbit suspend when sharing,
+ joining and inviting (private share)
+Organization: Sugar Labs Foundation
+
+In dextrose, and as the bug history of olpc#10363 and au#1049 suggests,
+power management kicking in doesnt work well with activities that are
+collaborating.
+
+This patch inhibits the ability to suspend when sharing, joining and
+inviting to a private share.
+
+Changelog
+* v2 Check for path exists before removing
+* v1 Initial version
+---
+ src/sugar/activity/activity.py |   23 +++++++++++++++++++++++
+ 1 files changed, 23 insertions(+), 0 deletions(-)
+
+diff --git a/src/sugar/activity/activity.py b/src/sugar/activity/activity.py
+index 4938caf..0070210 100644
+--- a/src/sugar/activity/activity.py
++++ b/src/sugar/activity/activity.py
+@@ -97,6 +97,8 @@ J_DBUS_SERVICE = 'org.laptop.Journal'
+ J_DBUS_PATH = '/org/laptop/Journal'
+ J_DBUS_INTERFACE = 'org.laptop.Journal'
+ 
++POWERD_INHIBIT_DIR = '/var/run/powerd-inhibit-suspend'
++
+ CONN_INTERFACE_ACTIVITY_PROPERTIES = 'org.laptop.Telepathy.ActivityProperties'
+ 
+ 
+@@ -713,6 +715,18 @@ class Activity(Window, gtk.Container):
+         else:
+             self._jobject.metadata['share-scope'] = SCOPE_NEIGHBORHOOD
+ 
++    def _inhibit_suspend(self):
++        if not os.path.exists(POWERD_INHIBIT_DIR):
++            return
++
++        path = os.path.join(POWERD_INHIBIT_DIR, str(os.getpid()))
++        try:
++            fd = open(path, 'w')
++        except IOError:
++            logging.error("Inhibit Suspend: Could not create file %s", path)
++        else:
++            fd.close()
++
+     def __joined_cb(self, activity, success, err):
+         """Callback when join has finished"""
+         logging.debug('Activity.__joined_cb %r', success)
+@@ -722,6 +736,8 @@ class Activity(Window, gtk.Container):
+             logging.debug('Failed to join activity: %s', err)
+             return
+ 
++        self._inhibit_suspend()
++
+         self.reveal()
+         self.emit('joined')
+         self.__privacy_changed_cb(self.shared_activity, None)
+@@ -750,6 +766,8 @@ class Activity(Window, gtk.Container):
+ 
+         activity.props.name = self._jobject.metadata['title']
+ 
++        self._inhibit_suspend()
++
+         self.shared_activity = activity
+         self.shared_activity.connect('notify::private',
+                 self.__privacy_changed_cb)
+@@ -864,6 +882,11 @@ class Activity(Window, gtk.Container):
+         # Make the exported object inaccessible
+         dbus.service.Object.remove_from_connection(self._bus)
+ 
++        if os.path.exists(POWERD_INHIBIT_DIR):
++            path = os.path.join(POWERD_INHIBIT_DIR, str(os.getpid()))
++            if os.path.exists(path):
++                os.unlink(path)
++
+         self._session.unregister(self)
+ 
+     def close(self, skip_save=False):
+-- 
+1.7.4.4
+
diff --git a/rpms/sugar-toolkit/sugar-toolkit.spec b/rpms/sugar-toolkit/sugar-toolkit.spec
index 0c7aca0..a0f3c7c 100644
--- a/rpms/sugar-toolkit/sugar-toolkit.spec
+++ b/rpms/sugar-toolkit/sugar-toolkit.spec
@@ -4,11 +4,11 @@ Summary: Sugar toolkit
 Name: sugar-toolkit
 Epoch: 1
 Version: 0.94.0
-Release: 20120206.dx3%{?dist}
+Release: 20120425.dx3%{?dist}
 URL: http://sugarlabs.org/
 Source0: http://download.sugarlabs.org/sources/sucrose/glucose/%{name}/%{name}-%{version}.tar.bz2
 Source1: macros.sugar
-Source2: http://people.sugarlabs.org/~silbe/dextrose/patchsets/%{name}-dx3-20120206.tar.gz
+Source2: http://people.sugarlabs.org/~silbe/dextrose/patchsets/%{name}-dx3-20120425.tar.gz
 License: LGPLv2+
 Group: System Environment/Libraries
 
-- 
1.7.4.4

