Package: fvwm-crystal Version: 3.0.5.dfsg-3 Severity: important Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu karmic ubuntu-patch
In Ubuntu, we've applied the attached patch to achieve the following: * Fix compatibility with python 2.6 due to the use of the now reserved keyword 'with' as a variable. (LP: #369580) We thought you might be interested in doing the same. -- System Information: Debian Release: squeeze/sid APT prefers karmic APT policy: (500, 'karmic') Architecture: i386 (i686) Kernel: Linux 2.6.28-11-generic (SMP w/1 CPU core) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash
diff -u fvwm-crystal-3.0.5.dfsg/debian/patches/00list fvwm-crystal-3.0.5.dfsg/debian/patches/00list --- fvwm-crystal-3.0.5.dfsg/debian/patches/00list +++ fvwm-crystal-3.0.5.dfsg/debian/patches/00list @@ -4,0 +5 @@ +05fixpython26.dpatch only in patch2: unchanged: --- fvwm-crystal-3.0.5.dfsg.orig/debian/patches/05fixpython26.dpatch +++ fvwm-crystal-3.0.5.dfsg/debian/patches/05fixpython26.dpatch @@ -0,0 +1,82 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 05fixpython26.dpatch by Andreas Moog <am...@ubuntu.com> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fix incompatibility with python2.6 by replacing the variable name "with" with "xwith" + +...@dpatch@ +diff -urNad fvwm-crystal-3.0.5.dfsg~/bin/fvwm-crystal.apps fvwm-crystal-3.0.5.dfsg/bin/fvwm-crystal.apps +--- fvwm-crystal-3.0.5.dfsg~/bin/fvwm-crystal.apps 2008-06-21 17:11:31.000000000 +0200 ++++ fvwm-crystal-3.0.5.dfsg/bin/fvwm-crystal.apps 2009-04-30 02:40:46.000000000 +0200 +@@ -102,7 +102,7 @@ + group = OptionGroup(parser, "General creation options", "Options definig what should be generated") + # group.add_option('-g', '--generate', action = 'store', choices=['all','menus','panel','topapps'], dest='generate', default='all', metavar='WHAT', + # help = "what should be generated. aviable options are: all, menus, panel, topapps. default is all.") +- group.add_option('--with', action = 'append', type='string', dest='with', metavar='DIRECTORY', ++ group.add_option('--with', action = 'append', type='string', dest='xwith', metavar='DIRECTORY', + help = 'generate entries only for defined entries (directories or files)') + group.add_option('--without', action = 'append', type='string', dest='without', metavar='DIRECTORY', + help = 'do NOT use defined entries (directories or files) for generating output.') +@@ -206,12 +206,12 @@ + #end of parseArgv + + +-def getAppsData(databases=[database],checkExecs=False,searchIconsIn='',sortOrder='prio',minLength=3,with=None,without=None,rootName='/Applications',topInSub=True,fileIcon='default.png',dirIcon='directory.png'): ++def getAppsData(databases=[database],checkExecs=False,searchIconsIn='',sortOrder='prio',minLength=3,xwith=None,without=None,rootName='/Applications',topInSub=True,fileIcon='default.png',dirIcon='directory.png'): + """Read application databases from directories. + if checkExecs is True then use exec_field from file name to check access before adding it to database + if searchIconsIn is provided then use this path to check icons existence + sortOrder defines sorting order for entries +- with is a list of entries (relative to the database root) that should be read ++ xwith is a list of entries (relative to the database root) that should be read + without is a list of entries (relative to the database root or absolute targets for symlinks) that should be left out + """ + +@@ -235,7 +235,7 @@ + return True + return False + +- def get_entry(root,dir,cat,sort,check,with,without,realcat): ++ def get_entry(root,dir,cat,sort,check,xwith,without,realcat): + if not os.path.isdir(os.path.join(root,dir)) or not os.access(os.path.join(root,dir),os.R_OK): + yield None + for entry in os.listdir(os.path.join(root,dir)): +@@ -268,9 +268,9 @@ + if not checkFileAccess(test): + continue + +- if with and len(with)>0: ++ if xwith and len(xwith)>0: + cont=False +- for i,v in enumerate(with): ++ for i,v in enumerate(xwith): + if not (os.path.join(cat,name).startswith(v) or os.path.join(cat,name.replace('_',' ')).startswith(v)): + cont=True + break +@@ -305,7 +305,7 @@ + x = realcat[:] + x.extend([prio,name]) + if access: +- for sub in get_entry(root,os.path.join(dir,entry),os.path.join(cat,name).replace(' ','_'),sort,check,with,without,x): ++ for sub in get_entry(root,os.path.join(dir,entry),os.path.join(cat,name).replace(' ','_'),sort,check,xwith,without,x): + yield sub + elif os.path.isfile(file): + if sort=='name' or sort=='rname': +@@ -327,7 +327,7 @@ + db=os.path.abspath(os.path.expanduser(databases[i])) + if not os.path.isdir(db) or not os.access(db,os.R_OK): + continue +- for entry in get_entry(db,'',os.path.join('/',rootName),sortOrder,checkExecs,with,without,[0,rootName]): ++ for entry in get_entry(db,'',os.path.join('/',rootName),sortOrder,checkExecs,xwith,without,[0,rootName]): + if not entry: + continue + if not entry[5]: +@@ -850,7 +850,7 @@ + if params[0].database and len(params[0].database)>0: + database=params[0].database + +-apps=getAppsData(database,checkExecs=params[0].checkExecs,searchIconsIn=params[0].iconPath,sortOrder=params[0].sortOrder,minLength=params[0].subLength,with=params[0].with,without=params[0].without,rootName=params[0].rootCat,topInSub=params[0].topInSub,fileIcon=params[0].fileDefault,dirIcon=params[0].dirDefault) ++apps=getAppsData(database,checkExecs=params[0].checkExecs,searchIconsIn=params[0].iconPath,sortOrder=params[0].sortOrder,minLength=params[0].subLength,xwith=params[0].xwith,without=params[0].without,rootName=params[0].rootCat,topInSub=params[0].topInSub,fileIcon=params[0].fileDefault,dirIcon=params[0].dirDefault) + + ########################## DEBUG ################################ + if params[0].verbosity > 1: