diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-04-05 19:27:13 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-04-05 19:27:13 +0000 |
commit | 801d551e35934bbd8c48f7ef6680960cf3572741 (patch) | |
tree | b4dc41c22a11d34090c293272de438f0c1f41969 | |
parent | 055a588d2b4ae8135ab5bef77949b3b8c99d2019 (diff) | |
download | portage-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
-rw-r--r-- | pym/portage.py | 11 |
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) |