For the time being, write a variation of the old _eclass_ format so that cache writte...
authorZac Medico <zmedico@gentoo.org>
Wed, 25 Oct 2006 16:47:54 +0000 (16:47 -0000)
committerZac Medico <zmedico@gentoo.org>
Wed, 25 Oct 2006 16:47:54 +0000 (16:47 -0000)
svn path=/main/trunk/; revision=4815

pym/cache/template.py

index 1e3c9abe8ab861e90816468c025858dec1ab28f4..cce8e30a899612dde526c5c5a1f045dbdb6a9bbe 100644 (file)
@@ -157,8 +157,18 @@ class database(object):
 
 def serialize_eclasses(eclass_dict):
        """takes a dict, returns a string representing said dict"""
+       """The "new format", which causes older versions of <portage-2.1.2 to
+       traceback with a ValueError due to failed long() conversion.  This format
+       isn't currently written, but the the capability to read it is already built
+       in.
        return "\t".join(["%s\t%s" % (k, str(v)) \
                for k, v in eclass_dict.iteritems()])
+       """
+       """ This is a variation of the old format that uses a relative path instead
+       of the full path of the eclass.  It should only force a regen in older
+       versions of portage (rather than a traceback)."""
+       return "\t".join(["%s\teclass\t%s" % (k, str(v)) \
+               for k, v in eclass_dict.iteritems()])
 
 def reconstruct_eclasses(cpv, eclass_string):
        """returns a dict when handed a string generated by serialize_eclasses"""