Use tbz2.unpackinfo() to unpack the xpak when running pkg_pretend, since we
authorZac Medico <zmedico@gentoo.org>
Wed, 7 Apr 2010 21:16:52 +0000 (14:16 -0700)
committerZac Medico <zmedico@gentoo.org>
Wed, 7 Apr 2010 21:16:52 +0000 (14:16 -0700)
need evironment.bz2 to get unpacked here.

pym/_emerge/Scheduler.py

index 7a0b95a9566ee7258545ad23bc461bb4f519a0f4..d89fa480e1a121284434b8cb89c4bee3c293f11e 100644 (file)
@@ -897,13 +897,10 @@ class Scheduler(PollScheduler):
                                        fetcher.wait()
 
                                tbz2_file = bintree.getname(x.cpv)
-                               ebuild_file_name = x.cpv.split("/")[1] + ".ebuild"
-                               ebuild_file_contents = portage.xpak.tbz2(tbz2_file).getfile(ebuild_file_name)
-                               os.makedirs(os.path.join(tmpdir, x.category, x.pf))
-                               ebuild_path = os.path.join(tmpdir, x.category, x.pf, ebuild_file_name)
-                               file = open(ebuild_path, 'wb')
-                               file.write(ebuild_file_contents)
-                               file.close()
+                               infloc = os.path.join(tmpdir, x.category, x.pf, "build-info")
+                               os.makedirs(infloc)
+                               portage.xpak.tbz2(tbz2_file).unpackinfo(infloc)
+                               ebuild_path = os.path.join(infloc, x.pf + ".ebuild")
 
                        else:
                                tree = "porttree"