From: Amaury Forgeot d'Arc Date: Thu, 2 Jul 2009 23:57:11 +0000 (+0000) Subject: Merged revisions 73788 via svnmerge from X-Git-Tag: v3.1.1rc1~109 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7e077243095e0f91c5627f9e6e7cd395846edb46;p=python 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... ........ --- diff --git a/Misc/NEWS b/Misc/NEWS index b08ba8fe72..83554f3b21 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -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. diff --git a/setup.py b/setup.py index 2738eecc38..c42416edf8 100644 --- a/setup.py +++ b/setup.py @@ -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')