summaryrefslogtreecommitdiff
path: root/distutils2/create.py
diff options
context:
space:
mode:
author?ric Araujo <merwok@netwok.org>2012-02-05 11:59:27 +0100
committer?ric Araujo <merwok@netwok.org>2012-02-05 11:59:27 +0100
commit858a259ca7d7d06d6dc2436106860176b6c6427d (patch)
tree0ea62ba1e73b78d1a6d7bdc8dc57b6763ad9d3f7 /distutils2/create.py
parent5fdd763dde6f8e93038be86edd59631a78de4734 (diff)
downloaddisutils2-858a259ca7d7d06d6dc2436106860176b6c6427d.tar.gz
Stop converting package_data to extra_files in pysetup create (#13712).
pysetup create used to convert package_data from an existing setup.py into extra_files, but these files are only present in sdists, not installed: they don?t have the same use case at all, so converting one into the other did not work.
Diffstat (limited to 'distutils2/create.py')
-rw-r--r--distutils2/create.py36
1 files changed, 22 insertions, 14 deletions
diff --git a/distutils2/create.py b/distutils2/create.py
index 5ad4563..546b178 100644
--- a/distutils2/create.py
+++ b/distutils2/create.py
@@ -298,6 +298,7 @@ class MainProgram(object):
# optional string entries
if 'keywords' in self.data and self.data['keywords']:
+ # XXX shoud use comma to separate, not space
fp.write(u'keywords = %s\n' % ' '.join(self.data['keywords']))
for name in ('home_page', 'author', 'author_email',
'maintainer', 'maintainer_email', 'description-file'):
@@ -318,17 +319,30 @@ class MainProgram(object):
fp.write(u'%s = ' % name)
fp.write(u''.join(' %s\n' % val
for val in self.data[name]).lstrip())
+
fp.write(u'\n[files]\n')
- for name in ('packages', 'modules', 'scripts',
- 'package_data', 'extra_files'):
+
+ for name in ('packages', 'modules', 'scripts', 'extra_files'):
if not(name in self.data and self.data[name]):
continue
fp.write(u'%s = %s\n'
% (name, u'\n '.join(self.data[name]).strip()))
- fp.write(u'\nresources =\n')
- for src, dest in self.data['resources']:
- fp.write(u' %s = %s\n' % (src, dest))
- fp.write(u'\n')
+
+ if self.data.get('package_data'):
+ fp.write(u'package_data =\n')
+ for pkg, spec in sorted(self.data['package_data'].items()):
+ # put one spec per line, indented under the package name
+ indent = u' ' * (len(pkg) + 7)
+ spec = (u'\n' + indent).join(spec)
+ fp.write(u' %s = %s\n' % (pkg, spec))
+ fp.write(u'\n')
+
+ if self.data.get('resources'):
+ fp.write(u'resources =\n')
+ for src, dest in self.data['resources']:
+ fp.write(u' %s = %s\n' % (src, dest))
+ fp.write(u'\n')
+
finally:
fp.close()
@@ -400,14 +414,8 @@ class MainProgram(object):
for src in srcs]
data['resources'].extend(files)
- # 2.2 package_data -> extra_files
- package_dirs = dist.package_dir or {}
- for package, extras in dist.package_data.items() or []:
- package_dir = package_dirs.get(package, package)
- for file_ in extras:
- if package_dir:
- file_ = package_dir + '/' + file_
- data['extra_files'].append(file_)
+ # 2.2 package_data
+ data['package_data'] = dist.package_data.copy()
# Use README file if its content is the desciption
if "description" in data: