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

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to