Package: release.debian.org Severity: normal User: [email protected] 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 <[email protected]> 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 <[email protected]> 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>

