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 © 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: