Move isjustname, isspecific, dep_getkey, and dep_transform from the core portage...
authorZac Medico <zmedico@gentoo.org>
Fri, 21 Jul 2006 05:38:50 +0000 (05:38 -0000)
committerZac Medico <zmedico@gentoo.org>
Fri, 21 Jul 2006 05:38:50 +0000 (05:38 -0000)
svn path=/main/trunk/; revision=3976

pym/portage.py
pym/portage_dep.py

index 68cdbff66106c5b7b7efa5fbf685eac785aa6914..cb8e239a98a4adb520d7499c44bd5df9fdbabd23 100644 (file)
@@ -54,7 +54,8 @@ try:
        import xpak
        import getbinpkg
        import portage_dep
-       from portage_dep import dep_getcpv, get_operator, isvalidatom
+       from portage_dep import dep_getcpv, dep_getkey, get_operator, \
+               dep_transform, isjustname, isspecific, isvalidatom
 
        # XXX: This needs to get cleaned up.
        import output
@@ -3155,29 +3156,6 @@ def unmerge(cat, pkg, myroot, mysettings, mytrimworld=1, vartree=None, ldpath_mt
                return 0
        return 1
 
-def isjustname(mypkg):
-       myparts=string.split(mypkg,'-')
-       for x in myparts:
-               if ververify(x):
-                       return 0
-       return 1
-
-iscache={}
-def isspecific(mypkg):
-       "now supports packages with no category"
-       try:
-               return iscache[mypkg]
-       except SystemExit, e:
-               raise
-       except:
-               pass
-       mysplit=string.split(mypkg,"/")
-       if not isjustname(mysplit[-1]):
-                       iscache[mypkg]=1
-                       return 1
-       iscache[mypkg]=0
-       return 0
-
 def getCPFromCPV(mycpv):
        """Calls pkgsplit on a cpv and returns only the cp."""
        return pkgsplit(mycpv)[0]
@@ -3316,49 +3294,6 @@ def dep_zapdeps(unreduced, reduced, myroot, use_binaries=0, trees=None):
        suitable_atom = available_pkgs[target_pkg]
        return [suitable_atom]
 
-
-
-def dep_getkey(mydep):
-       if mydep and mydep[0]=="*":
-               mydep=mydep[1:]
-       if mydep and mydep[-1]=="*":
-               mydep=mydep[:-1]
-       if mydep and mydep[0]=="!":
-               mydep=mydep[1:]
-       if mydep[:2] in [ ">=", "<=" ]:
-               mydep=mydep[2:]
-       elif mydep[:1] in "=<>~":
-               mydep=mydep[1:]
-       if mydep and isspecific(mydep):
-               mysplit=catpkgsplit(mydep)
-               if not mysplit:
-                       return mydep
-               return mysplit[0]+"/"+mysplit[1]
-       else:
-               return mydep
-
-def dep_transform(mydep,oldkey,newkey):
-       origdep=mydep
-       if not len(mydep):
-               return mydep
-       if mydep[0]=="*":
-               mydep=mydep[1:]
-       prefix=""
-       postfix=""
-       if mydep[-1]=="*":
-               mydep=mydep[:-1]
-               postfix="*"
-       if mydep[:2] in [ ">=", "<=" ]:
-               prefix=mydep[:2]
-               mydep=mydep[2:]
-       elif mydep[:1] in "=<>~!":
-               prefix=mydep[:1]
-               mydep=mydep[1:]
-       if mydep==oldkey:
-               return prefix+newkey+postfix
-       else:
-               return origdep
-
 def dep_expand(mydep, mydb=None, use_cache=1, settings=None):
        if not len(mydep):
                return mydep
index 32aacc666ddc0b093dce953a350622542682a1be..72c6c4257d1c963ccf842ff1c43d12afe88aeab0 100644 (file)
@@ -20,7 +20,7 @@
 
 import os,string,types,sys,copy
 import portage_exception
-from portage_versions import catpkgsplit
+from portage_versions import catpkgsplit, ververify
 
 def strip_empty(myarr):
        for x in range(len(myarr)-1, -1, -1):
@@ -218,3 +218,66 @@ def isvalidatom(atom):
                return 1
        else:
                return 0
+
+def isjustname(mypkg):
+       myparts = mypkg.split('-')
+       for x in myparts:
+               if ververify(x):
+                       return 0
+       return 1
+
+iscache = {}
+
+def isspecific(mypkg):
+       "now supports packages with no category"
+       try:
+               return iscache[mypkg]
+       except KeyError:
+               pass
+       mysplit = mypkg.split("/")
+       if not isjustname(mysplit[-1]):
+                       iscache[mypkg] = 1
+                       return 1
+       iscache[mypkg] = 0
+       return 0
+
+def dep_getkey(mydep):
+       if mydep and mydep[0] == "*":
+               mydep = mydep[1:]
+       if mydep and mydep[-1] == "*":
+               mydep = mydep[:-1]
+       if mydep and mydep[0] == "!":
+               mydep = mydep[1:]
+       if mydep[:2] in [">=", "<="]:
+               mydep = mydep[2:]
+       elif mydep[:1] in "=<>~":
+               mydep = mydep[1:]
+       if mydep and isspecific(mydep):
+               mysplit = catpkgsplit(mydep)
+               if not mysplit:
+                       return mydep
+               return mysplit[0] + "/" + mysplit[1]
+       else:
+               return mydep
+
+def dep_transform(mydep, oldkey, newkey):
+       origdep = mydep
+       if not len(mydep):
+               return mydep
+       if mydep[0] == "*":
+               mydep = mydep[1:]
+       prefix = ""
+       postfix = ""
+       if mydep[-1] == "*":
+               mydep = mydep[:-1]
+               postfix = "*"
+       if mydep[:2] in [">=", "<="]:
+               prefix = mydep[:2]
+               mydep = mydep[2:]
+       elif mydep[:1] in "=<>~!":
+               prefix = mydep[:1]
+               mydep = mydep[1:]
+       if mydep == oldkey:
+               return prefix + newkey + postfix
+       else:
+               return origdep