]> granicus.if.org Git - python/commitdiff
we want to generate /-separated paths setup.cfg files even under win32
authorTarek Ziade <tarek@ziade.org>
Sat, 21 May 2011 12:24:14 +0000 (14:24 +0200)
committerTarek Ziade <tarek@ziade.org>
Sat, 21 May 2011 12:24:14 +0000 (14:24 +0200)
Lib/packaging/create.py

index 5432ffcf2ca30bffc3e4c9aa48b9a1455df2e132..b96aef0fe7027392222e8d84cb7c6896d48163ab 100644 (file)
@@ -383,19 +383,25 @@ class MainProgram:
                 path_tokens.sort(key=cmp_to_key(length_comparison))
                 for dest, srcs in (dist.data_files or []):
                     dest = os.path.join(sys.prefix, dest)
+                    dest = dest.replace(os.path.sep, '/')
                     for tok, path in path_tokens:
-                        if dest.startswith(path):
-                            dest = ('{%s}' % tok) + dest[len(path):]
-                            files = [('/ '.join(src.rsplit('/', 1)), dest)
-                                     for src in srcs]
-                            data['resources'].extend(files)
+                        path = path.replace(os.path.sep, '/')
+                        if not dest.startswith(path):
                             continue
+
+                        dest = ('{%s}' % tok) + dest[len(path):]
+                        files = [('/ '.join(src.rsplit('/', 1)), dest)
+                                    for src in srcs]
+                        data['resources'].extend(files)
+
             # 2.2 package_data -> extra_files
             package_dirs = dist.package_dir or {}
             for package, extras in iter(dist.package_data.items()) or []:
                 package_dir = package_dirs.get(package, package)
-                files = [os.path.join(package_dir, f) for f in extras]
-                data['extra_files'].extend(files)
+                for file_ in extras:
+                    if package_dir:
+                        file_ = package_dir + '/' + file_
+                    data['extra_files'].append(file_)
 
             # Use README file if its content is the desciption
             if "description" in data: