Merged revisions 73788 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r73788 | amaury.forgeotdarc | 2009-07-03 01:08:45 +0200 (ven., 03 juil. 2009) | 6 lines

  #4601: 'make install' did not set the permissions on library directories,
  only root could start IDLE for example.

  Beware that os.path.walk does not translate as is to os.walk!
  the former uses a callback to call on each dir, the latter is a generator...
........
This commit is contained in:
Amaury Forgeot d'Arc 2009-07-02 23:57:11 +00:00
parent e39d5d5f81
commit 7e07724309
2 changed files with 8 additions and 6 deletions

View File

@ -35,6 +35,9 @@ Library
Build
-----
- Issue 4601: 'make install' did not set the appropriate permissions on
directories.
- Issue 5390: Add uninstall icon independent of whether file
extensions are installed.

View File

@ -1605,12 +1605,11 @@ class PyBuildInstallLib(install_lib):
def set_dir_modes(self, dirname, mode):
if not self.is_chmod_supported(): return
os.walk(dirname, self.set_dir_modes_visitor, mode)
def set_dir_modes_visitor(self, mode, dirname, names):
if os.path.islink(dirname): return
log.info("changing mode of %s to %o", dirname, mode)
if not self.dry_run: os.chmod(dirname, mode)
for dirpath, dirnames, fnames in os.walk(dirname):
if os.path.islink(dirpath):
continue
log.info("changing mode of %s to %o", dirpath, mode)
if not self.dry_run: os.chmod(dirpath, mode)
def is_chmod_supported(self):
return hasattr(os, 'chmod')