From f3694a0388e4e15d9cbdd84e4c8ca7817c87a52c Mon Sep 17 00:00:00 2001 From: PJ Eby Date: Fri, 18 Nov 2005 03:45:16 +0000 Subject: The ``sdist`` command no longer uses the traditional ``MANIFEST`` file to create source distributions. ``MANIFEST.in`` is still read and processed, as are the standard defaults and pruning. But the manifest is built inside the project's ``.egg-info`` directory as ``SOURCES.txt``, and it is rebuilt every time the ``egg_info`` command is run. --HG-- branch : setuptools extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041472 --- setuptools/command/egg_info.py | 4 +-- setuptools/command/sdist.py | 57 ++++++++++++++++++++++++++++++++++++------ 2 files changed, 51 insertions(+), 10 deletions(-) (limited to 'setuptools/command') diff --git a/setuptools/command/egg_info.py b/setuptools/command/egg_info.py index 2375eb96..3f17c041 100755 --- a/setuptools/command/egg_info.py +++ b/setuptools/command/egg_info.py @@ -246,7 +246,8 @@ class manifest_maker(sdist): def add_defaults(self): sdist.add_defaults(self) - self.filelist.extend([self.template,self.manifest]) + self.filelist.append(self.template) + self.filelist.append(self.manifest) rcfiles = list(walk_revctrl()) if rcfiles: self.filelist.extend(rcfiles) @@ -282,7 +283,6 @@ class manifest_maker(sdist): - def write_pkg_info(cmd, basename, filename): diff --git a/setuptools/command/sdist.py b/setuptools/command/sdist.py index cdbc5248..41798b60 100755 --- a/setuptools/command/sdist.py +++ b/setuptools/command/sdist.py @@ -93,26 +93,67 @@ finders = [ ] + + + + + + + + + + + + + + + + + + + + + + + + + + + + class sdist(_sdist): """Smart sdist that finds anything supported by revision control""" + user_options = [ + ('formats=', None, + "formats for source distribution (comma-separated list)"), + ('keep-temp', 'k', + "keep the distribution tree around after creating " + + "archive file(s)"), + ('dist-dir=', 'd', + "directory to put the source distribution archive(s) in " + "[default: dist]"), + ] + + negative_opt = {} + def run(self): self.run_command('egg_info') - _sdist.run(self) + ei_cmd = self.get_finalized_command('egg_info') + self.filelist = ei_cmd.filelist + self.filelist.append(os.path.join(ei_cmd.egg_info,'SOURCES.txt')) + + self.check_metadata() + self.make_distribution() + dist_files = getattr(self.distribution,'dist_files',[]) for file in self.archive_files: data = ('sdist', '', file) if data not in dist_files: dist_files.append(data) - def finalize_options(self): - _sdist.finalize_options(self) - if not os.path.isfile(self.template): - self.force_manifest = 1 # always regen if no template - def add_defaults(self): - _sdist.add_defaults(self) - self.filelist.extend(walk_revctrl()) + -- cgit v1.2.3