[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#680920: unblock: nautilus-scripts-manager/1.7-1



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package nautilus-scripts-manager

The upstream version 1.7-1 only fixes two bugs, reported for Ubuntu but valid
also for Debian (any version):
https://bugs.launchpad.net/ubuntu/+source/nautilus-scripts-manager/+bug/617095
https://bugs.launchpad.net/ubuntu/+source/nautilus-scripts-manager/+bug/973239

The first is particularly important (nautilus-scripts-manager is completely
broken when /usr/share/nautilus-scripts contains a subdir).

The second is a bit less annoying, but the fix is extremely simple:
http://pietrobattiston.it/gitweb?p=nautilus-scripts-
manager.git/.git;a=commitdiff;h=228f13be925e3fff47612431c87edc9d4dd5c933


unblock nautilus-scripts-manager/1.7-1

-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (650, 'testing'), (600, 'unstable'), (500, 'stable-updates'),
(500, 'stable'), (400, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-2-amd64 (SMP w/2 CPU cores)
diff -Nru nautilus-scripts-manager-1.6/ChangeLog nautilus-scripts-manager-1.7/ChangeLog
--- nautilus-scripts-manager-1.6/ChangeLog	2011-09-28 09:30:46.000000000 +0200
+++ nautilus-scripts-manager-1.7/ChangeLog	2012-07-04 20:26:18.000000000 +0200
@@ -1,3 +1,7 @@
+nautilus-scripts-manager 1.7, 2012-07-04
+  * Stop crashing when scripts dir contains dirs (LP: #494704)
+  * Check if a display is available (LP: #973239)
+
 nautilus-scripts-manager 1.6, 2011-09-28
   * Fetched new translated strings from Transifex
   * Updated email address
diff -Nru nautilus-scripts-manager-1.6/debian/changelog nautilus-scripts-manager-1.7/debian/changelog
--- nautilus-scripts-manager-1.6/debian/changelog	2011-09-28 09:13:27.000000000 +0200
+++ nautilus-scripts-manager-1.7/debian/changelog	2012-07-05 12:41:05.000000000 +0200
@@ -1,3 +1,12 @@
+nautilus-scripts-manager (1.7-1) unstable; urgency=low
+
+  * New upstream release
+    - Stop crashing when scripts dir contains subdirs (LP: #494704)
+    - Check if a display is available before starting the GUI (LP: #973239)
+  * Updated Standards-Version
+
+ -- Pietro Battiston <me@pietrobattiston.it>  Wed, 04 Jul 2012 20:31:17 +0200
+
 nautilus-scripts-manager (1.6-1) unstable; urgency=low
 
   * New upstream release
diff -Nru nautilus-scripts-manager-1.6/debian/control nautilus-scripts-manager-1.7/debian/control
--- nautilus-scripts-manager-1.6/debian/control	2011-09-27 22:22:18.000000000 +0200
+++ nautilus-scripts-manager-1.7/debian/control	2012-07-05 12:39:42.000000000 +0200
@@ -4,7 +4,7 @@
 Maintainer: Pietro Battiston <me@pietrobattiston.it>
 Build-Depends: debhelper (>= 7)
 Build-Depends-Indep: python (>=2.6.6-3~), python-setuptools (>= 0.6)
-Standards-Version: 3.9.2
+Standards-Version: 3.9.3
 Homepage: http://www.pietrobattiston.it/nautilus-scripts-manager
 Vcs-Browser: http://git.debian.org/?p=collab-maint/nautilus-scripts-manager.git
 Vcs-Git: git://git.debian.org/git/collab-maint/nautilus-scripts-manager.git
diff -Nru nautilus-scripts-manager-1.6/nautilus-scripts-manager nautilus-scripts-manager-1.7/nautilus-scripts-manager
--- nautilus-scripts-manager-1.6/nautilus-scripts-manager	2011-09-28 09:30:46.000000000 +0200
+++ nautilus-scripts-manager-1.7/nautilus-scripts-manager	2012-07-04 20:26:18.000000000 +0200
@@ -21,7 +21,7 @@
 import pango
 from optparse import OptionParser, OptionGroup
 
-__version__ = '1.6'
+__version__ = '1.7'
 
 ########################## CONFIGURATION #######################################
 
@@ -92,6 +92,8 @@
 
 try:
     import gtk
+    m = gtk.gdk.DisplayManager()
+    assert( m.list_displays() )
     GRAPHIC = True
 except:
     GRAPHIC = False
@@ -105,9 +107,13 @@
     """
     An installed script.
     """
-    def __init__(self, name):
+    def __init__(self, name, path=''):
+        if not path:
+            path = SCRIPTS_SYSTEM_FOLDER + name
+        subpath = os.path.relpath( path, SCRIPTS_SYSTEM_FOLDER )
+        self.subpath = subpath
         self.name = name
-        self.path = SCRIPTS_SYSTEM_FOLDER + name
+        self.path = SCRIPTS_SYSTEM_FOLDER + subpath
         self.stale = not os.path.exists(self.path)
         self.links = []
 
@@ -179,13 +185,13 @@
         
         for script in self.scripts.values():
             if not script.links:
-                self.ui.store.append(None, [False, script.name, self.retrieve_default_path(script.name), False])
+                self.ui.store.append(None, [False, script.subpath, self.retrieve_default_path(script.name, script.path), False])
             elif script.links[1:]:
-                root = self.ui.store.append(None, [True, script.name, '', script.stale])
+                root = self.ui.store.append(None, [True, script.subpath, '', script.stale])
                 for link in script.links:
-                    self.ui.store.insert(root, 1000, [True, script.name, link, script.stale])
+                    self.ui.store.insert(root, 1000, [True, script.subpath, link, script.stale])
             else:
-                self.ui.store.append(None, [True, script.name, script.links[0], script.stale])
+                self.ui.store.append(None, [True, script.subpath, script.links[0], script.stale])
 
     def valid(self, position):
         # fixme? Is everything fine for a link name?
@@ -388,13 +394,23 @@
         if not os.path.exists(SCRIPTS_SYSTEM_FOLDER):
             self.error(_("Directory %s doesn't exist, can't continue.") % SCRIPTS_SYSTEM_FOLDER)
         
-        for script_name in os.listdir(SCRIPTS_SYSTEM_FOLDER):
-            script_path = SCRIPTS_SYSTEM_FOLDER + script_name
-            # Check if executable:
-            if os.access(script_path, os.X_OK):
-               self.scripts[script_name] = Script(script_name)
+        self.load_scripts_from_folder()
         
         self.load_links()
+    
+    def load_scripts_from_folder(self, subdir=''):
+        
+        print "load from", SCRIPTS_SYSTEM_FOLDER + subdir
+        for script_name in os.listdir( SCRIPTS_SYSTEM_FOLDER + subdir ):
+            script_path = SCRIPTS_SYSTEM_FOLDER + subdir + script_name
+            # Check if dir:
+            if os.path.isdir( script_path ):
+                # Yes, recurse:
+                self.load_scripts_from_folder( script_name + '/' )
+                continue
+            # Check if executable:
+            if os.access(script_path, os.X_OK):
+               self.scripts[script_name] = Script(script_name, script_path)
 
     def load_links(self, folder=SCRIPTS_OWN_FOLDER):
         """Find all scripts instances of scripts installed by the user.
@@ -428,7 +444,7 @@
             for link in self.scripts[script].links:
                 self.links[link] = script
 
-    def retrieve_default_path(self, name):
+    def retrieve_default_path(self, name, path=''):
         """
         The default path is basically the script name:
         - translated
@@ -457,7 +473,9 @@
             self.re_name_en = re.compile("#* *Name=")
             self.re_name_loc = re.compile("#* *Name\[%s\]=" % lang)
         
-        script_file = open(SCRIPTS_SYSTEM_FOLDER + name)
+        if not path:
+            path = SCRIPTS_SYSTEM_FOLDER + name
+        script_file = open( path )
         
         while True:
             line = script_file.readline()
diff -Nru nautilus-scripts-manager-1.6/setup.py nautilus-scripts-manager-1.7/setup.py
--- nautilus-scripts-manager-1.6/setup.py	2011-09-28 09:30:46.000000000 +0200
+++ nautilus-scripts-manager-1.7/setup.py	2012-07-04 20:26:18.000000000 +0200
@@ -5,7 +5,7 @@
 import sys
 
 dist = setup(name='Nautilus scripts manager',
-      version='1.6',
+      version='1.7',
       description='Small app to manage Nautilus scripts',
       license='GPL',
       author='Pietro Battiston',
diff -Nru nautilus-scripts-manager-1.6/stuff/UI.glade nautilus-scripts-manager-1.7/stuff/UI.glade
--- nautilus-scripts-manager-1.6/stuff/UI.glade	2011-09-28 09:30:46.000000000 +0200
+++ nautilus-scripts-manager-1.7/stuff/UI.glade	2012-07-04 20:26:18.000000000 +0200
@@ -109,7 +109,7 @@
     <property name="transient_for">dialog</property>
     <property name="has_separator">False</property>
     <property name="program_name">Nautilus scripts manager</property>
-    <property name="version">1.6</property>
+    <property name="version">1.7</property>
     <property name="copyright">Copyright &#xA9; 2009 Pietro Battiston</property>
     <property name="website">http://www.pietrobattiston.it/nautilus-scripts-manager</property>
     <property name="website_label" translatable="yes">Nautilus scripts manager web page</property>

Reply to: