diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-11-18 07:05:12 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-11-18 07:05:12 +0000 |
commit | df8ef8acce04b1d378ed590ff7556852a46944ae (patch) | |
tree | b483ddd986ee1891fd9e8ee6a4d3f8e59c48a6c9 /pym/portage/eclass_cache.py | |
parent | include quotes when showing make output (diff) | |
download | portage-df8ef8acce04b1d378ed590ff7556852a46944ae.tar.gz portage-df8ef8acce04b1d378ed590ff7556852a46944ae.tar.bz2 portage-df8ef8acce04b1d378ed590ff7556852a46944ae.zip |
For emerge --metadata runs, update _eclasses_ metadata to insert local eclass
paths.
svn path=/main/trunk/; revision=11990
Diffstat (limited to 'pym/portage/eclass_cache.py')
-rw-r--r-- | pym/portage/eclass_cache.py | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/pym/portage/eclass_cache.py b/pym/portage/eclass_cache.py index de20d307c..93c956f8a 100644 --- a/pym/portage/eclass_cache.py +++ b/pym/portage/eclass_cache.py @@ -3,6 +3,8 @@ # License: GPL2 # $Id$ +__all__ = ["cache"] + from portage.util import normalize_path, writemsg import errno, os, sys from portage.data import portage_gid @@ -63,14 +65,22 @@ class cache(object): except OSError: continue ys=y[:-eclass_len] - self.eclasses[ys] = (x, long(mtime)) - self._eclass_locations[ys] = x if x == self._master_eclass_root: master_eclasses[ys] = mtime - else: - master_mtime = master_eclasses.get(ys) - if master_mtime and master_mtime != mtime: + self.eclasses[ys] = (x, mtime) + self._eclass_locations[ys] = x + continue + + master_mtime = master_eclasses.get(ys) + if master_mtime is not None: + if master_mtime == mtime: + # It appears to be identical to the master, + # so prefer the master entry. + continue + else: self._master_eclasses_overridden[ys] = x + self.eclasses[ys] = (x, mtime) + self._eclass_locations[ys] = x def is_eclass_data_valid(self, ec_dict): if not isinstance(ec_dict, dict): |