summaryrefslogtreecommitdiffstats
path: root/bin
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
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')
-rwxr-xr-xbin/emaint3
-rwxr-xr-xbin/emerge10
-rwxr-xr-xbin/regenworld3
3 files changed, 10 insertions, 6 deletions
diff --git a/bin/emaint b/bin/emaint
index e86920a2f..0353a52ce 100755
--- a/bin/emaint
+++ b/bin/emaint
@@ -58,7 +58,8 @@ class WorldHandler(object):
def fix(self):
errors = []
try:
- portage.write_atomic(self.world_file, "\n".join(self.okay))
+ portage.write_atomic(self.world_file,
+ "\n".join(sorted(self.okay)) + "\n")
except portage_exception.PortageException:
errors.append(self.world_file + " could not be opened for writing")
return errors
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 \
diff --git a/bin/regenworld b/bin/regenworld
index ebac4a591..601653406 100755
--- a/bin/regenworld
+++ b/bin/regenworld
@@ -92,4 +92,5 @@ for mykey in biglist:
print "add to world:",myfavkey
worldlist.append(myfavkey)
-portage.write_atomic(os.path.join("/", portage.WORLD_FILE), "\n".join(worldlist))
+portage.write_atomic(os.path.join("/", portage.WORLD_FILE),
+ "\n".join(sorted(worldlist)) + "\n")