Make Wheel respect --root

This commit is contained in:
Donald Stufft 2013-10-30 08:03:47 -04:00
parent 39b2aaf729
commit 97507f8931
3 changed files with 12 additions and 6 deletions

View File

@ -127,7 +127,7 @@ else:
default_log_file = os.path.join(user_dir, 'Library/Logs/pip.log')
def distutils_scheme(dist_name, user=False, home=None):
def distutils_scheme(dist_name, user=False, home=None, root=None):
"""
Return a distutils install scheme
"""
@ -141,6 +141,7 @@ def distutils_scheme(dist_name, user=False, home=None):
# ideally, we'd prefer a scheme class that has no side-effects.
i.user = user or i.user
i.home = home or i.home
i.root = root or i.root
i.finalize_options()
for key in SCHEME_KEYS:
scheme[key] = getattr(i, 'install_'+key)

View File

@ -612,7 +612,7 @@ exec(compile(open(__file__).read().replace('\\r\\n', '\\n'), __file__, 'exec'))
self.install_editable(install_options, global_options)
return
if self.is_wheel:
self.move_wheel_files(self.source_dir)
self.move_wheel_files(self.source_dir, root=root)
self.install_succeeded = True
return
@ -831,8 +831,13 @@ exec(compile(open(__file__).read().replace('\\r\\n', '\\n'), __file__, 'exec'))
self._bundle_build_dirs = bundle_build_dirs
self._bundle_editable_dirs = bundle_editable_dirs
def move_wheel_files(self, wheeldir):
move_wheel_files(self.name, self.req, wheeldir, user=self.use_user_site, home=self.target_dir)
def move_wheel_files(self, wheeldir, root=None):
move_wheel_files(
self.name, self.req, wheeldir,
user=self.use_user_site,
home=self.target_dir,
root=root,
)
@property
def delete_marker_filename(self):

View File

@ -103,10 +103,10 @@ def root_is_purelib(name, wheeldir):
return True
return False
def move_wheel_files(name, req, wheeldir, user=False, home=None):
def move_wheel_files(name, req, wheeldir, user=False, home=None, root=None):
"""Install a wheel"""
scheme = distutils_scheme(name, user=user, home=home)
scheme = distutils_scheme(name, user=user, home=home, root=root)
if root_is_purelib(name, wheeldir):
lib_dir = scheme['purelib']