diff options
-rw-r--r-- | pym/portage/sets/files.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/pym/portage/sets/files.py b/pym/portage/sets/files.py index 3abb3f88b..f08a7d423 100644 --- a/pym/portage/sets/files.py +++ b/pym/portage/sets/files.py @@ -185,6 +185,7 @@ class WorldSet(EditablePackageSet): def load(self): atoms = [] nonatoms = [] + atoms_changed = False # load atoms and non-atoms from different files so the worldfile is # backwards-compatible with older versions and other PMs, even though # it's supposed to be private state data :/ @@ -205,11 +206,12 @@ class WorldSet(EditablePackageSet): data = {} atoms = data.keys() self._mtime = mtime + atoms_changed = True try: mtime = os.stat(self._filename2).st_mtime except (OSError, IOError): mtime = None - if (not self._loaded or self._mtime2 != mtime): + if (not self._loaded or self._mtime2 != mtime or atoms_changed): try: data, errors = self.loader2.load() for fname in errors: @@ -222,7 +224,8 @@ class WorldSet(EditablePackageSet): data = {} nonatoms = data.keys() self._mtime2 = mtime - if self._atoms != atoms or self._nonatoms != nonatoms: + atoms_changed = True + if atoms_changed: self._setAtoms(atoms+nonatoms) def _ensure_dirs(self): |