summaryrefslogtreecommitdiffstats
path: root/bin/emerge
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-06-24 19:06:10 +0000
committerZac Medico <zmedico@gentoo.org>2007-06-24 19:06:10 +0000
commit4dd5d69f9902ae00534d430dc1351ee9ec165bb7 (patch)
treebd6fb670a71868434bb0ca1d2cf0f26276bab269 /bin/emerge
parent058a5fc1b8c757baf2981b0d21191950792a56f6 (diff)
downloadportage-4dd5d69f9902ae00534d430dc1351ee9ec165bb7.tar.gz
portage-4dd5d69f9902ae00534d430dc1351ee9ec165bb7.tar.bz2
portage-4dd5d69f9902ae00534d430dc1351ee9ec165bb7.zip
sort the world file before writing it and ensure that it's terminated by a newline (bug #180706, trunk r6976 and r6999)
svn path=/main/branches/2.1.2/; revision=7000
Diffstat (limited to 'bin/emerge')
-rwxr-xr-xbin/emerge10
1 files changed, 6 insertions, 4 deletions
diff --git a/bin/emerge b/bin/emerge
index 2502387d2..43c7efc27 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -584,10 +584,12 @@ def clean_world(vardb, cpv):
else:
#this doesn't match the package we're unmerging; keep it.
newworldlist.append(x)
-
+
+ newworldlist.sort()
+
portage_util.ensure_dirs(os.path.join(vardb.root, portage.PRIVATE_PATH),
gid=portage.portage_gid, mode=02770)
- portage_util.write_atomic(world_filename, "\n".join(newworldlist))
+ portage_util.write_atomic(world_filename, "\n".join(newworldlist)+"\n")
def genericdict(mylist):
mynewdict={}
@@ -3028,7 +3030,7 @@ class MergeTask(object):
"--pretend" in self.myopts):
portage.write_atomic(
os.path.join(self.target_root, portage.WORLD_FILE),
- "\n".join(myfavdict.values()))
+ "\n".join(sorted(myfavdict.values())) + "\n")
mtimedb["resume"]["mergelist"]=mymergelist[:]
mtimedb.commit()
@@ -3281,7 +3283,7 @@ class MergeTask(object):
") Updating world file ("+x[pkgindex]+")")
portage.write_atomic(
os.path.join(myroot, portage.WORLD_FILE),
- "\n".join(myfavdict.values()))
+ "\n".join(sorted(myfavdict.values()))+"\n")
if "--pretend" not in self.myopts and \
"--fetchonly" not in self.myopts and \