43 lines
1.6 KiB
Python
Executable File
43 lines
1.6 KiB
Python
Executable File
'''
|
|
Created on 10 mars 2015
|
|
|
|
@author: coissac
|
|
'''
|
|
|
|
import os.path
|
|
|
|
from distutils.command.sdist import sdist as orig_sdist
|
|
from distutils import dir_util
|
|
|
|
class sdist(orig_sdist):
|
|
|
|
def make_distribution(self):
|
|
"""Create the source distribution(s). First, we create the release
|
|
tree with 'make_release_tree()'; then, we create all required
|
|
archive files (according to 'self.formats') from the release tree.
|
|
Finally, we clean up by blowing away the release tree (unless
|
|
'self.keep_temp' is true). The list of archive files created is
|
|
stored so it can be retrieved later by 'get_archive_files()'.
|
|
"""
|
|
# Don't warn about missing meta-data here -- should be (and is!)
|
|
# done elsewhere.
|
|
base_dir = self.distribution.get_fullname()
|
|
base_name = os.path.join(self.dist_dir,base_dir)
|
|
|
|
self.make_release_tree(os.path.join('tmp',base_dir), self.filelist.files)
|
|
archive_files = [] # remember names of files we create
|
|
# tar archive must be created last to avoid overwrite and remove
|
|
if 'tar' in self.formats:
|
|
self.formats.append(self.formats.pop(self.formats.index('tar')))
|
|
|
|
for fmt in self.formats:
|
|
file = self.make_archive(base_name, fmt, root_dir='tmp',base_dir=base_dir,
|
|
owner=self.owner, group=self.group)
|
|
archive_files.append(file)
|
|
self.distribution.dist_files.append(('sdist', '', file))
|
|
|
|
self.archive_files = archive_files
|
|
|
|
if not self.keep_temp:
|
|
dir_util.remove_tree(os.path.join('tmp',base_dir), dry_run=self.dry_run)
|