summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/portage/sets/files.py7
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):