summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-06-27 04:37:09 +0000
committerZac Medico <zmedico@gentoo.org>2006-06-27 04:37:09 +0000
commita227d5d0ce381ff0263f77f781da2c2626f8dd6c (patch)
tree57c3afbfca793faed084eceededb3384e45ad33b /bin
parent58d9573ef4b52a0cc77fc56ca92e488bcf48a161 (diff)
downloadportage-a227d5d0ce381ff0263f77f781da2c2626f8dd6c.tar.gz
portage-a227d5d0ce381ff0263f77f781da2c2626f8dd6c.tar.bz2
portage-a227d5d0ce381ff0263f77f781da2c2626f8dd6c.zip
When --buildpkg is enabled, merge directly from the uncompressed install image instead of needlessly unpacking the binary package. See bug #138105.
svn path=/main/trunk/; revision=3671
Diffstat (limited to 'bin')
-rwxr-xr-xbin/emerge17
1 files changed, 11 insertions, 6 deletions
diff --git a/bin/emerge b/bin/emerge
index 08cf83429..31c406708 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -1665,6 +1665,7 @@ class depgraph:
def merge(self, mylist, favorites):
returnme=0
mymergelist=[]
+ ldpath_mtimes = portage.mtimedb["ldpath"]
#check for blocking dependencies
if "--fetchonly" not in self.myopts and \
@@ -1857,12 +1858,16 @@ class depgraph:
short_msg = "emerge: ("+str(mergecount)+" of "+str(len(mymergelist))+") "+x[pkgindex]+" Merge"
emergelog(" === ("+str(mergecount)+" of "+str(len(mymergelist))+") Merging ("+x[pkgindex]+"::"+y+")", short_msg=short_msg)
- self.pkgsettings["EMERGE_FROM"] = "binary"
- self.pkgsettings.backup_changes("EMERGE_FROM")
-
- retval=portage.pkgmerge(mytbz2,myroot,self.pkgsettings)
- if retval is None:
- sys.exit(1)
+ retval = portage.merge(self.pkgsettings["CATEGORY"],
+ self.pkgsettings["PF"], self.pkgsettings["D"],
+ os.path.join(self.pkgsettings["PORTAGE_BUILDDIR"],
+ "build-info"), myroot, self.pkgsettings,
+ myebuild=self.pkgsettings["EBUILD"],
+ mytree="porttree", mydbapi=self.portdb,
+ vartree=self.trees[myroot]["vartree"],
+ prev_mtimes=ldpath_mtimes)
+ if retval:
+ sys.exit(retval)
elif "noclean" not in self.pkgsettings.features:
portage.doebuild(y, "clean", myroot, self.pkgsettings,
self.edebug, tree="porttree")