Commit 49c03612 authored by PJ Eby's avatar PJ Eby

Fixed duplication of scripts inside .egg files

--HG--
branch : setuptools
extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4042345
parent 145a56c5
......@@ -201,7 +201,7 @@ class bdist_egg(Command):
if self.distribution.scripts:
script_dir = os.path.join(egg_info, 'scripts')
log.info("installing scripts to %s" % script_dir)
self.call_command('install_scripts', install_dir=script_dir)
self.call_command('install_scripts',install_dir=script_dir,no_ep=1)
native_libs = os.path.join(self.egg_info,"native_libs.txt")
if all_outputs:
......
......@@ -8,12 +8,20 @@ from distutils import log
class install_scripts(_install_scripts):
"""Do normal script install, plus any egg_info wrapper scripts"""
def initialize_options(self):
_install_scripts.initialize_options(self)
self.no_ep = False
def run(self):
self.run_command("egg_info")
if self.distribution.scripts:
_install_scripts.run(self) # run first to set up self.outfiles
else:
self.outfiles = []
if self.no_ep:
# don't install entry point scripts into .egg file!
return
ei_cmd = self.get_finalized_command("egg_info")
dist = Distribution(
ei_cmd.egg_base, PathMetadata(ei_cmd.egg_base, ei_cmd.egg_info),
......@@ -21,7 +29,15 @@ class install_scripts(_install_scripts):
)
bs_cmd = self.get_finalized_command('build_scripts')
executable = getattr(bs_cmd,'executable',sys_executable)
for args in get_script_args(dist, executable): self.write_script(*args)
for args in get_script_args(dist, executable):
self.write_script(*args)
def write_script(self, script_name, contents, mode="t", *ignored):
"""Write an executable file to the scripts directory"""
......@@ -39,3 +55,28 @@ class install_scripts(_install_scripts):
except (AttributeError, os.error):
pass
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment