On 07/15/2018 07:27 AM, Brian Dolbec wrote: > On Sat, 14 Jul 2018 22:05:55 -0700 > Zac Medico <zmed...@gentoo.org> wrote: > >> Optimize config to stat profile.bashrc files once in the constructor, >> in order to avoid repeated stat calls in the setcpv method. >> >> Bug: https://bugs.gentoo.org/649806 >> --- >> pym/portage/package/ebuild/config.py | 13 ++++++++----- >> 1 file changed, 8 insertions(+), 5 deletions(-) >> >> diff --git a/pym/portage/package/ebuild/config.py >> b/pym/portage/package/ebuild/config.py index 88acac5cc..320d9f6c0 >> 100644 --- a/pym/portage/package/ebuild/config.py >> +++ b/pym/portage/package/ebuild/config.py >> @@ -274,6 +274,7 @@ class config(object): >> self.mycpv = clone.mycpv >> self._setcpv_args_hash = >> clone._setcpv_args_hash self._soname_provided = clone._soname_provided >> + self._profile_bashrc = clone._profile_bashrc >> >> # immutable attributes (internal policy >> ensures lack of mutation) self._locations_manager = >> clone._locations_manager @@ -725,6 +726,10 @@ class config(object): >> self._license_manager.extract_global_changes( \ >> >> self.configdict["conf"].get("ACCEPT_LICENSE", >> "")) >> + # profile.bashrc >> + self._profile_bashrc = >> tuple(os.path.isfile(os.path.join(profile.location, 'profile.bashrc')) >> + for profile in profiles_complex) >> + >> if local_config: >> #package.properties >> propdict = >> grabdict_package(os.path.join( @@ -1596,11 +1601,9 @@ class >> config(object): >> bashrc_files = [] >> >> - for profile in >> self._locations_manager.profiles_complex: >> - profile_bashrc = >> os.path.join(profile.location, >> - 'profile.bashrc') >> - if os.path.exists(profile_bashrc): >> - bashrc_files.append(profile_bashrc) >> + for profile, profile_bashrc in >> zip(self._locations_manager.profiles_complex, self._profile_bashrc): >> + if profile_bashrc: >> + >> bashrc_files.append(os.path.join(profile.location, 'profile.bashrc')) >> if profile in self._pbashrcdict: cpdict = >> self._pbashrcdict[profile].get(cp) if cpdict: > > looks good
Thanks, merged: https://gitweb.gentoo.org/proj/portage.git/commit/?id=2de6ba26fd45fe942329ac928029e4edf603e125 -- Thanks, Zac
signature.asc
Description: OpenPGP digital signature