aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Stubbs <jstubbs@gentoo.org>2004-10-29 14:45:35 +0000
committerJason Stubbs <jstubbs@gentoo.org>2004-10-29 14:45:35 +0000
commit6c97e50f22a45a1565fa213fdefccafaffab9d8a (patch)
tree395ab14684dc5c15de88449c75ecae051a674864 /bin/emerge
parentClosing out (#69388), using solution provided in said bug. (diff)
downloadportage-cvs-6c97e50f22a45a1565fa213fdefccafaffab9d8a.tar.gz
portage-cvs-6c97e50f22a45a1565fa213fdefccafaffab9d8a.tar.bz2
portage-cvs-6c97e50f22a45a1565fa213fdefccafaffab9d8a.zip
emerge: Fixed issue where emerge adds package to world when --onlydeps is
specified. #69260 Fixed issue where emerge was adding packages to world when --uprade is specified even if the package is already installed. #69287 Fixed logic in path/to/ebuild check so that symlinks do not cause false positives. dispatch-conf: Added usata's fix for mac-os compatibility. #69304 getbinpkg.py: Reversed the logic of ftp passive-mode selection. #69371
Diffstat (limited to 'bin/emerge')
-rwxr-xr-xbin/emerge15
1 files changed, 8 insertions, 7 deletions
diff --git a/bin/emerge b/bin/emerge
index 89eb80d..a789472 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -1,7 +1,7 @@
#!/usr/bin/python -O
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /local/data/ulm/cvs/history/var/cvsroot/gentoo-src/portage/bin/emerge,v 1.351 2004/10/28 13:37:08 jstubbs Exp $
+# $Header: /local/data/ulm/cvs/history/var/cvsroot/gentoo-src/portage/bin/emerge,v 1.352 2004/10/29 14:45:35 jstubbs Exp $
import os,sys
os.environ["PORTAGE_CALLER"]="emerge"
@@ -1011,7 +1011,7 @@ class depgraph:
sys.exit(1)
mytbz2=xpak.tbz2(x)
mykey=mytbz2.getelements("CATEGORY")[0]+"/"+os.path.basename(x)[:-5]
- if portage.db["/"]["bintree"].getname(mykey) != os.path.abspath(x):
+ if os.path.realpath(portage.db["/"]["bintree"].getname(mykey)) != os.path.realpath(x):
print red("\n*** You need to adjust PKGDIR to emerge this package.\n")
sys.exit(1)
if not self.create(["binary",portage.root,mykey],None,"--onlydeps" not in myopts):
@@ -1019,8 +1019,9 @@ class depgraph:
elif not "--oneshot" in myopts:
myfavorites.append(mykey)
elif x[-7:]==".ebuild":
- mykey=os.path.basename(os.path.abspath(x+"/../.."))+"/"+os.path.basename(x)[:-7]
- if portage.db["/"]["porttree"].dbapi.findname(mykey) != os.path.abspath(x):
+ x = os.path.realpath(x)
+ mykey=os.path.basename(os.path.normpath(x+"/../.."))+"/"+os.path.basename(x)[:-7]
+ if os.path.realpath(portage.db["/"]["porttree"].dbapi.findname(mykey)) != x:
print red("\n*** You need to adjust PORTDIR or PORTDIR_OVERLAY to emerge this package.\n")
sys.exit(1)
if mykey not in portage.db["/"]["porttree"].dbapi.xmatch("match-visible", portage.dep_getkey(mykey)):
@@ -1728,8 +1729,7 @@ class depgraph:
mymergelist.append(mylist[x])
else:
myfavkey=portage.cpv_getkey(mylist[x][2])
- if "--update" in myopts and portage.db[portage.root]["vartree"].dbapi.match(myfavkey):
- # It's already merged, so we don't add it if updating.
+ if "--onlydeps" in myopts:
continue
# Add to the world file. Since we won't be able to later.
if (not "--fetchonly" in myopts) and (myfavkey in favorites):
@@ -1865,7 +1865,8 @@ class depgraph:
myfavdict=genericdict(myfavs)
mysysdict=genericdict(syslist)
#don't record if already in system profile or already recorded
- if (not mysysdict.has_key(myfavkey)) and (not myfavdict.has_key(myfavkey)):
+ if ("--update" not in myopts or not portage.db[portage.root]["vartree"].dbapi.match(myfavkey)) and \
+ (not mysysdict.has_key(myfavkey)) and (not myfavdict.has_key(myfavkey)):
#we don't have a favorites entry for this package yet; add one
myfavdict[myfavkey]=myfavkey
print ">>> Recording",myfavkey,"in \"world\" favorites file..."