summaryrefslogtreecommitdiffstats
path: root/pym/portage.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-04-05 19:27:13 +0000
committerZac Medico <zmedico@gentoo.org>2008-04-05 19:27:13 +0000
commit801d551e35934bbd8c48f7ef6680960cf3572741 (patch)
treeb4dc41c22a11d34090c293272de438f0c1f41969 /pym/portage.py
parent055a588d2b4ae8135ab5bef77949b3b8c99d2019 (diff)
downloadportage-801d551e35934bbd8c48f7ef6680960cf3572741.tar.gz
portage-801d551e35934bbd8c48f7ef6680960cf3572741.tar.bz2
portage-801d551e35934bbd8c48f7ef6680960cf3572741.zip
In dbapi.move_ent(), never assume that any of the expected metadata
entries exist (PF, CATEGORY, or *.ebuild). (trunk r9712) svn path=/main/branches/2.1.2/; revision=9722
Diffstat (limited to 'pym/portage.py')
-rw-r--r--pym/portage.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/pym/portage.py b/pym/portage.py
index 8cf24bd7a..fecfec3dd 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -6461,8 +6461,7 @@ class vardbapi(dbapi):
if e.errno != errno.ENOENT:
raise
del e
- write_atomic(os.path.join(newpath, "PF"), new_pf+"\n")
-
+ write_atomic(os.path.join(newpath, "PF"), new_pf+"\n")
write_atomic(os.path.join(newpath, "CATEGORY"), mynewcat+"\n")
fixdbentries([mylist], newpath)
return moves
@@ -7747,11 +7746,13 @@ class binarytree(object):
mydata = mytbz2.get_data()
updated_items = update_dbentries([mylist], mydata)
mydata.update(updated_items)
+ mydata["PF"] = mynewpkg + "\n"
mydata["CATEGORY"] = mynewcat+"\n"
if mynewpkg != myoldpkg:
- mydata[mynewpkg+".ebuild"] = mydata[myoldpkg+".ebuild"]
- del mydata[myoldpkg+".ebuild"]
- mydata["PF"] = mynewpkg + "\n"
+ ebuild_data = mydata.get(myoldpkg+".ebuild")
+ if ebuild_data is not None:
+ mydata[mynewpkg+".ebuild"] = ebuild_data
+ del mydata[myoldpkg+".ebuild"]
mytbz2.recompose_mem(xpak.xpak_mem(mydata))
self.dbapi.cpv_remove(mycpv)