[sabayon] Unbreak a bit for F16 (#756511)

Tomas Bzatek tbzatek at fedoraproject.org
Fri Nov 25 10:44:54 UTC 2011


commit 7d0cf6a32b31f1ba4223a52f1b4480c3bfeddc23
Author: Tomas Bzatek <tbzatek at redhat.com>
Date:   Fri Nov 25 11:44:49 2011 +0100

    Unbreak a bit for F16 (#756511)

 sabayon-2.30.1-f16.patch |   93 ++++++++++++++++++++++++++++++++++++++++++++++
 sabayon.spec             |   10 ++++-
 2 files changed, 102 insertions(+), 1 deletions(-)
---
diff --git a/sabayon-2.30.1-f16.patch b/sabayon-2.30.1-f16.patch
new file mode 100644
index 0000000..6918817
--- /dev/null
+++ b/sabayon-2.30.1-f16.patch
@@ -0,0 +1,93 @@
+diff -up sabayon-2.30.1/admin-tool/sabayon-apply.f16 sabayon-2.30.1/admin-tool/sabayon-apply
+--- sabayon-2.30.1/admin-tool/sabayon-apply.f16	2010-03-30 13:02:46.000000000 -0400
++++ sabayon-2.30.1/admin-tool/sabayon-apply	2011-11-23 14:50:30.375841413 -0500
+@@ -144,10 +144,8 @@ if __name__ == '__main__':
+                     break
+ 
+         if not profile_name:
+-            mprint ("No profile for user '%s' found", user_name)
+-            sys.stderr.write (_("No profile for user '%s' found\n") % user_name)
+-            sys.exit (util.EXIT_CODE_NO_USER_PROFILE)
+-
++            dprint ("No profile for user '%s' found", user_name)
++            errors.errors_exit_helper_normally ("No profile for user '%s' found" % user_name)
+         #
+         # We've determined a profile applies to us.  re-create source trees.
+         #
+@@ -169,7 +167,7 @@ if __name__ == '__main__':
+ 
+         if errors.errors_have_recoverable_error ():
+             mprint ("There were recoverable errors while applying the profile.")
+-    except:
++    except Exception:
+         errors.errors_exit_with_fatal_exception (debuglog.DEBUG_LOG_DOMAIN_SABAYON_APPLY,
+                                                  util.get_admin_log_config_filename ())
+ 
+diff -up sabayon-2.30.1/lib/sources/paneldelegate.py.f16 sabayon-2.30.1/lib/sources/paneldelegate.py
+--- sabayon-2.30.1/lib/sources/paneldelegate.py.f16	2010-02-09 08:37:24.000000000 -0500
++++ sabayon-2.30.1/lib/sources/paneldelegate.py	2011-11-23 14:50:30.376841413 -0500
+@@ -20,7 +20,6 @@ import os
+ import gconf
+ import gconfsource
+ import subprocess
+-import bonobo
+ import xdg.DesktopEntry
+ 
+ try:
+@@ -75,7 +74,6 @@ class PanelAppletAddedChange (PanelChang
+         PanelChange.__init__ (self, source, delegate, id)
+     def get_short_description (self):
+         return _("Applet '%s' added" % self.id)
+-        # FIXME: This only works if panel object type is bonobo-applet. Are all applets bonobo-applets ?
+         # FIXME: Race condition with the code below.
+         # panel_applet = self.delegate.PanelApplet(self.delegate, self.id)
+         # toplevel_id = panel_applet.toplevel_id
+@@ -98,7 +96,6 @@ class PanelAppletRemovedChange (PanelCha
+         PanelChange.__init__ (self, source, delegate, id)
+     def get_short_description (self):
+         return _("Applet '%s' removed" % self.id)
+-        # FIXME: This only works if panel object type is bonobo-applet. Are all applets bonobo-applets ?
+         # FIXME: Race condition with the code below.
+         # panel_applet = self.delegate.PanelApplet(self.delegate, self.id)
+         # toplevel_id = panel_applet.toplevel_id
+@@ -208,25 +205,12 @@ class PanelDelegate (userprofile.SourceD
+             self._copy_tree (PANEL_KEY_BASE + "/applets/" + id)
+  
+             toplevel_key_name = PANEL_KEY_BASE + "/applets/" + id + "/toplevel_id"
+-            bonobo_iid_key_name = PANEL_KEY_BASE + "/applets/" + id + "/bonobo_iid"
+-
+             self.toplevel_id = self.gconf_client.get_string (toplevel_key_name)
+-            self.bonobo_iid  = self.gconf_client.get_string (bonobo_iid_key_name)
+ 
+-            dprint ("Creating PanelApplet for '%s' (toplevel_key %s, toplevel_id %s, bonobo_key %s, bonobo_iid %s)",
++            dprint ("Creating PanelApplet for '%s' (toplevel_key %s, toplevel_id %s)",
+                     id,
+-                    toplevel_key_name, self.toplevel_id,
+-                    bonobo_iid_key_name, self.bonobo_iid)
++                    toplevel_key_name, self.toplevel_id)
+             
+-            if self.bonobo_iid:
+-                applet = bonobo.activation.query("iid == '" + self.bonobo_iid + "'" )
+-                for i in applet:
+-                    for prop in i.props:
+-                        if prop.name == "name":
+-                            self.name = prop.v.value_string #FIXME: This probably won't return localised names
+-
+-
+-
+     class PanelObject (PanelThing):
+         def __init__ (self, delegate, id, added = False, removed = False):
+             PanelDelegate.PanelThing.__init__ (self, delegate, id, added, removed)
+diff -up sabayon-2.30.1/lib/storage.py.f16 sabayon-2.30.1/lib/storage.py
+--- sabayon-2.30.1/lib/storage.py.f16	2010-03-30 13:02:46.000000000 -0400
++++ sabayon-2.30.1/lib/storage.py	2011-11-23 14:51:36.695829755 -0500
+@@ -303,6 +303,9 @@ class ProfileStorage:
+                 if not os.path.exists (dest_dir):
+                     os.makedirs (dest_dir)
+ 
++                if dest_path[-1] == "/":
++                    continue
++
+                 # Python 2.6 dependency
+                 # zip.extract(f, dir)
+                 file (dest_path, "w").write (zip.read (f))
diff --git a/sabayon.spec b/sabayon.spec
index 5cb70f6..9e330aa 100644
--- a/sabayon.spec
+++ b/sabayon.spec
@@ -8,7 +8,7 @@
 
 Name:    sabayon
 Version: 2.30.1
-Release: 2%{?dist}
+Release: 3%{?dist}
 Summary: Tool to maintain user profiles in a GNOME desktop
 
 Group:   Applications/System
@@ -18,6 +18,10 @@ Source:  http://ftp.gnome.org/pub/GNOME/sources/sabayon/2.30/sabayon-%{version}.
 
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
+# Sabayon is broken in many ways in F16
+# https://bugzilla.redhat.com/show_bug.cgi?id=756511
+Patch0: sabayon-2.30.1-f16.patch
+
 Requires: %{name}-apply = %{version}-%{release}
 Requires: libxml2-python
 Requires: pygtk2 >= %{pygtk2_version}
@@ -79,6 +83,7 @@ that need to be installed on the client systems.
 
 %prep
 %setup -q -n %{name}-%{version}
+%patch0 -p1
 
 # https://fedoraproject.org/wiki/Features/SystemPythonExecutablesUseSystemPython
 # replace "/usr/bin/env python" with a "/usr/bin/python"
@@ -217,6 +222,9 @@ fi
 
 
 %changelog
+* Fri Nov 25 2011 Tomas Bzatek <tbzatek at redhat.com> - 2.30.1-3
+- Unbreak a bit for F16 (#756511)
+
 * Wed Feb 09 2011 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2.30.1-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
 


More information about the scm-commits mailing list