I can't make out the different between portage.abssymlink and
os.path.realpath, besides that realpath is used a LOT more in portage
and abssympath dies if it gets passed something that's not a symlink.

Let's get rid of it!

1st patch is for trunk/pym/__init__.py
2nd patch is for trunk/pym/dbapi/vartree.py (only actual instance of
abssymlink left)

-Doug
--- __init__.py.old	2009-03-10 21:07:06.000000000 +0900
+++ __init__.py	2009-03-10 21:20:34.000000000 +0900
@@ -180,12 +180,10 @@ def getcwd():
 getcwd()
 
 def abssymlink(symlink):
-	"This reads symlinks, resolving the relative symlinks, and returning the absolute."
-	mylink=os.readlink(symlink)
-	if mylink[0] != '/':
-		mydir=os.path.dirname(symlink)
-		mylink=mydir+"/"+mylink
-	return os.path.normpath(mylink)
+	"Not currently used by Portage (DEPRECATED 03/2009)"
+	writemsg("DEPRECATED: portage.abssymlink: use os.path.realpath instead\n",
+		noiselevel=-1)
+	return os.path.realpath(symlink)
 
 dircache = {}
 cacheHit=0
--- vartree.py.old	2009-03-10 21:14:12.000000000 +0900
+++ vartree.py	2009-03-10 21:16:07.000000000 +0900
@@ -3,8 +3,18 @@
 # $Id$
 
 __all__ = ["PreservedLibsRegistry", "LinkageMap",
-	"vardbapi", "vartree", "dblink"] + \
-	["write_contents", "tar_contents"]
+	"vardbapi", "vartree", "dblink", "write_contents", "tar_contents"]
+
+import os, re, shutil, stat, errno, copy, subprocess
+import logging
+import shlex
+import sys
+from itertools import izip
+
+try:
+	import cPickle as pickle
+except ImportError:
+	import pickle
 
 import portage
 portage.proxy.lazyimport.lazyimport(globals(),
@@ -32,20 +42,10 @@ from portage.exception import CommandNot
 
 from portage import listdir, dep_expand, digraph, flatten, key_expand, \
 	doebuild_environment, doebuild, env_update, prepare_build_dirs, \
-	abssymlink, movefile, _movefile, bsd_chflags, cpv_getkey
+	movefile, _movefile, bsd_chflags, cpv_getkey
 
 from portage.cache.mappings import slot_dict_class
 
-import os, re, shutil, stat, errno, copy, subprocess
-import logging
-import shlex
-import sys
-from itertools import izip
-
-try:
-	import cPickle as pickle
-except ImportError:
-	import pickle
 
 class PreservedLibsRegistry(object):
 	""" This class handles the tracking of preserved library objects """
@@ -3649,7 +3649,7 @@ class dblink(object):
 
 			if stat.S_ISLNK(mymode):
 				# we are merging a symbolic link
-				myabsto = abssymlink(mysrc)
+				myabsto = os.path.realpath(mysrc)
 				if myabsto.startswith(srcroot):
 					myabsto = myabsto[len(srcroot):]
 				myabsto = myabsto.lstrip(sep)

Reply via email to