# Jeremy Wohl's dispatch-conf script and the portage chkcontents script.
#
-import os, sys, string
+import os, sys
try:
import portage
except ImportError:
hexform = ""
for ix in xrange(len(md5sum)):
hexform = hexform + "%02x" % ord(md5sum[ix])
- return string.lower(hexform)
+ return hexform.lower()
def perform_checksum(filename):
f = open(filename, 'rb')
sys.exit(1)
lines = contents.readlines()
for line in lines:
- items = string.split(line)
+ items = line.split()
if items[0] == 'obj':
for conf in args:
if items[1] == conf:
- stored = string.lower(items[2])
- real = string.lower(perform_checksum(conf)[0])
+ stored = items[2].lower()
+ real = perform_checksum(conf)[0].lower()
if stored == real:
md5_match_hash[conf] = conf
todo_cnt -= 1
# actual programs on the system (and makes sure that symlinks point to
# the right files).
-import string, os.path, os, sys
+import os.path, os, sys
try:
import portage
except ImportError:
sys.exit(1)
lines = contents.readlines()
for line in lines:
- items = string.split(line)
+ items = line.split()
# items is a list w/ size depending on the type of item listed in item[0]
# if items[0] = 'dir' then items[1] is the path of a directory
# if items[0] = 'obj' then items[1] is the path of a file,
# items[3] is the file the symlink should point to
# items[4] is the symlink mtime
if (items[0] == 'obj'):
- md5stored = string.lower(items[2])
+ md5stored = items[2].lower()
# fchksum.fmdft(file) returns the file's md5sum and the file's size
- md5real = string.lower(portage.perform_checksum(items[1])[0])
+ md5real = portage.perform_checksum(items[1])[0].lower()
if (md5stored != md5real):
if md5real:
print "%s has md5sum of %s instead of %s" % (items[1], md5real, md5stored)
from stat import *
from random import *
-import atexit, commands, os, re, shutil, stat, string, sys
+import atexit, commands, os, re, shutil, stat, sys
try:
import portage
except ImportError:
if len(sys.argv) > 1:
# for testing
- d.grind (string.join (sys.argv [1:]))
+ d.grind ("".join( (sys.argv [1:]))
else:
d.grind (portage.settings ['CONFIG_PROTECT'])
#
import os
-import string
import sys
import types
print " [-r] [-V] <file> [file ...]"
print
print " -a Set the list of allowed to those that are specified."
- print " Default:", string.join(opts.allowed_exts, ",")
+ print " Default:", ",".join(opts.allowed_exts)
print " -A Extend the list of allowed file types."
print " -f Set list of allowed extensionless file names."
print " -x Set directories to be excluded from recursion."
- print " Default:", string.join(opts.disallowed_dirs, ",")
+ print " Default:", ",".join(opts.disallowed_dirs)
print " -r Install files and directories recursively."
print " -V Be verbose."
print
elif arg == "-p":
options.doc_prefix = sys.argv[x]
else:
- values = string.split(sys.argv[x], ",")
+ values = sys.argv[x].split(",")
if arg == "-A":
options.allowed_exts.extend(values)
elif arg == "-a":
echo >&2
echo "!!! ${*:-(no error message)}" >&2
echo "!!! If you need support, post the topmost build error, and the call stack if relevant." >&2
+ echo "!!! A complete build log is located at '${PORTAGE_LOG_FILE}'." >&2
echo >&2
if [ -n "${EBUILD_OVERLAY_ECLASSES}" ] ; then
echo "This ebuild used the following eclasses from overlays:" >&2
# Distributed under the terms of the GNU General Public License v2
# $Id: /var/cvsroot/gentoo-src/portage/bin/md5check.py,v 1.4 2004/10/10 10:07:20 carpaski Exp $
-import os,sys,string
+import os,sys
os.environ["FEATURES"]="mirror cvs"
try:
import portage
hugelist.sort()
for mycpv in hugelist:
- pv = string.split(mycpv, "/")[-1]
+ pv = mycpv.split("/")[-1]
newuri = portage.db["/"]["porttree"].dbapi.aux_get(mycpv,["SRC_URI"])[0]
- newuri = string.split(newuri)
+ newuri = newuri.split()
digestpath = portage.db["/"]["porttree"].dbapi.findname(mycpv)
digestpath = os.path.dirname(digestpath)+"/files/digest-"+pv
(md5_list[mybn]["size"] != md5sums[mybn]["size"]):
# This associates teh md5 with each file. [md5/size]
- md5joins = string.split(md5_list[mybn][2],",")
- md5joins = string.join(md5joins," ["+md5_list[mybn][0]+"/"+md5_list[mybn][1]+"],")
+ md5joins = md5_list[mybn][2].split(",")
+ md5joins = " ["+md5_list[mybn][0]+"/"+md5_list[mybn][1]+"],".join(md5joins))
md5joins += " ["+md5_list[mybn][0]+"/"+md5_list[mybn][1]+"]"
portage.writemsg("Colliding md5: %s of %s [%s/%s] and %s\n" % (mybn,mycpv,md5sums[mybn][0],md5sums[mybn][1],md5joins))
import os
-import types,string
-
+import types
#-----------------------------------------------------------------------------
#
print "ERROR: insufficient parameters!"
sys.exit(2)
try:
- print string.join(portage.db[argv[0]]["vartree"].dbapi.match(argv[1]),"\n")
+ print "\n".join(portage.db[argv[0]]["vartree"].dbapi.match(argv[1]))
except KeyError:
sys.exit(1)
match.uses_root = True
def usage(argv):
rev="$Revision: 1.13.2.1 $"
- ver=string.split(rev, ' ')[1]
+ ver= rev.split(' ')[1]
print ">>> Portage information query tool -- version "+ver
print ">>> Usage: portageq <command> [<option> ...]"
print ""
print ""
continue
- lines = string.split(doc, '\n')
- print " "+name+" "+string.strip(lines[0])
+ lines = doc.split("\n")
+ print " "+name+" "+lines[0].strip()
if (len(sys.argv) > 1):
if ("--help" not in sys.argv):
lines = lines[:-1]
for line in lines[1:]:
- print " "+string.strip(line)
+ print " "+line.strip()
if (len(sys.argv) == 1):
print "\nRun portageq with --help for info"
except ImportError:
sys.path.insert(0, "@PORTAGE_BASE@/pym")
import portage
-import string, re, portage_const
+import re, portage_const
__candidatematcher__ = re.compile("^[0-9]+: \\*\\*\\* emerge ")
__noncandidatematcher__ = re.compile(" sync( |$)| clean( |$)| search( |$)|--oneshot|--fetchonly| unmerge( |$)")
# $Id: /var/cvsroot/gentoo-src/portage/pym/cvstree.py,v 1.12.2.1 2005/01/16 02:35:33 carpaski Exp $
-import string,os,time,sys,re
+import os,time,sys,re
from stat import *
# [D]/Name/Version/Date/Flags/Tags
def pathdata(entries, path):
"""(entries,path)
Returns the data(dict) for a specific file/dir at the path specified."""
- mysplit=string.split(path,"/")
+ mysplit=path.split("/")
myentries=entries
mytarget=mysplit[-1]
mysplit=mysplit[:-1]
continue
if line=="D": # End of entries file
break
- mysplit=string.split(line, "/")
+ mysplit=line.split("/")
if len(mysplit)!=6:
print "Confused:",mysplit
continue
for x in inherits:
try:
ec_dict[x] = self.eclasses[x]
- except:
+ except KeyError:
print "ec=",ec_dict
print "inherits=",inherits
raise
print " Searches for matches of the supplied string in the current local"
print " portage tree. By default emerge uses a case-insensitive simple "
print " search, but you can enable a regular expression search by "
- print " prefixing the search string with %%."
+ print " prefixing the search string with %."
print " Prepending the expression with a '@' will cause the category to"
print " be included in the search."
print " A few examples:"
from sets import Set as set
from output import *
-import htmllib,HTMLParser,string,formatter,sys,os,xpak,time,tempfile,base64,urllib2
+import htmllib,HTMLParser,formatter,sys,os,xpak,time,tempfile,base64,urllib2
from portage_const import CACHE_PATH
try:
"""(baseurl,conn) --- Takes a protocol://site:port/address url, and an
optional connection. If connection is already active, it is passed on.
baseurl is reduced to address and is returned in tuple (conn,address)"""
- parts = string.split(baseurl, "://", 1)
+ parts = baseurl.split("://",1)
if len(parts) != 2:
raise ValueError, "Provided URL does not contain protocol identifier. '%s'" % baseurl
protocol,url_parts = parts
del parts
- host,address = string.split(url_parts, "/", 1)
+ host,address = url_parts.split("/",1)
del url_parts
address = "/"+address
- userpass_host = string.split(host, "@", 1)
+ userpass_host = host.split("@",1)
if len(userpass_host) == 1:
host = userpass_host[0]
userpass = ["anonymous"]
else:
host = userpass_host[1]
- userpass = string.split(userpass_host[0], ":")
+ userpass = userpass_host[0].split(":")
del userpass_host
if len(userpass) > 2:
if username and password:
http_headers = {
"Authorization": "Basic %s" %
- string.replace(
- base64.encodestring("%s:%s" % (username, password)),
+ base64.encodestring("%s:%s" % (username, password)).replace(
"\012",
""
),
if ((rc == 301) or (rc == 302)):
ignored_data = response.read()
del ignored_data
- for x in string.split(str(response.msg), "\n"):
- parts = string.split(x, ": ", 1)
+ for x in str(response.msg).split("\n"):
+ parts = x.split(": ",1)
if parts[0] == "Location":
if (rc == 301):
sys.stderr.write(red("Location has moved: ")+str(parts[1])+"\n")
if not fcmd:
return file_get_lib(baseurl,dest,conn)
- fcmd = string.replace(fcmd, "${DISTDIR}", dest)
- fcmd = string.replace(fcmd, "${URI}", baseurl)
- fcmd = string.replace(fcmd, "${FILE}", os.path.basename(baseurl))
- mysplit = string.split(fcmd)
+ fcmd = fcmd.replace("${DISTDIR}",dest)
+ fcmd = fcmd.replace("${URI}", baseurl)
+ fcmd = fcmd.replace("${FILE}", os.path.basename(baseurl))
+ mysplit = fcmd.split()
mycmd = mysplit[0]
myargs = [os.path.basename(mycmd)]+mysplit[1:]
mypid=os.fork()
metadata = cPickle.load(metadatafile)
sys.stderr.write("Loaded metadata pickle.\n")
metadatafile.close()
- except SystemExit, e:
- raise
- except:
+ except (cPickle.UnpicklingError, OSError, IOError, EOFError):
metadata = {}
if not metadata.has_key(baseurl):
metadata[baseurl]={}
"this fixes situations where the current directory doesn't exist"
try:
return os.getcwd()
- except SystemExit, e:
- raise
- except:
+ except OSError: #dir doesn't exist
os.chdir("/")
return "/"
getcwd()
best_mod = best_from_dict(property_string,self.modules,self.module_priority)
try:
mod = load_mod(best_mod)
- except:
+ except ImportError:
dump_traceback(red("Error: Failed to import module '%s'") % best_mod, noiselevel=0)
sys.exit(1)
return mod
continue
myvalues = virtuals_dict[k]
for x in myvalues:
- if not isvalidatom(x):
+ myatom = x
+ if x.startswith("-"):
+ # allow incrementals
+ myatom = x[1:]
+ if not isvalidatom(myatom):
writemsg("--- Invalid atom in %s: %s\n" % \
(virtuals_file, x), noiselevel=-1)
myvalues.remove(x)
thirdpartymirrors[mirrorname].remove(cmirr)
# now try the official mirrors
if thirdpartymirrors.has_key(mirrorname):
- try:
- shuffle(thirdpartymirrors[mirrorname])
- except SystemExit, e:
- raise
- except:
- writemsg(red("!!! YOU HAVE A BROKEN PYTHON/GLIBC.\n"), noiselevel=-1)
- writemsg( "!!! You are most likely on a pentium4 box and have specified -march=pentium4\n")
- writemsg( "!!! or -fpmath=sse2. GCC was generating invalid sse2 instructions in versions\n")
- writemsg( "!!! prior to 3.2.3. Please merge the latest gcc or rebuid python with either\n")
- writemsg( "!!! -march=pentium3 or set -mno-sse2 in your cflags.\n\n\n")
- time.sleep(10)
+ shuffle(thirdpartymirrors[mirrorname])
for locmirr in thirdpartymirrors[mirrorname]:
filedict[myfile].append(locmirr+"/"+myuri[eidx+1:])
# Fetch failed... Try the next one... Kill 404 files though.
if (mystat[stat.ST_SIZE]<100000) and (len(myfile)>4) and not ((myfile[-5:]==".html") or (myfile[-4:]==".htm")):
html404=re.compile("<title>.*(not found|404).*</title>",re.I|re.M)
- try:
- if html404.search(open(mysettings["DISTDIR"]+"/"+myfile).read()):
- try:
- os.unlink(mysettings["DISTDIR"]+"/"+myfile)
- writemsg(">>> Deleting invalid distfile. (Improper 404 redirect from server.)\n")
- fetched = 0
- continue
- except SystemExit, e:
- raise
- except:
- pass
- except SystemExit, e:
- raise
- except:
- pass
+ if html404.search(open(mysettings["DISTDIR"]+"/"+myfile).read()):
+ try:
+ os.unlink(mysettings["DISTDIR"]+"/"+myfile)
+ writemsg(">>> Deleting invalid distfile. (Improper 404 redirect from server.)\n")
+ fetched = 0
+ continue
+ except (IOError, OSError):
+ pass
fetched = 1
continue
if not fetchonly:
destexists=1
try:
dstat=os.lstat(dest)
- except SystemExit, e:
- raise
- except:
+ except (OSError, IOError):
dstat=os.lstat(os.path.dirname(dest))
destexists=0
return mymatch
try:
curmtime=os.stat(self.root+VDB_PATH+"/"+mycat)[stat.ST_MTIME]
- except SystemExit, e:
- raise
- except:
+ except (IOError, OSError):
curmtime=0
if not self.matchcache.has_key(mycat) or not self.mtdircache[mycat]==curmtime:
try:
old_counter = long(self.aux_get(x,["COUNTER"])[0])
writemsg("COUNTER '%d' '%s'\n" % (old_counter, x),1)
- except SystemExit, e:
- raise
- except:
+ except (ValueError, KeyError): # valueError from long(), KeyError from aux_get
old_counter = 0
writemsg("!!! BAD COUNTER in '%s'\n" % (x), noiselevel=-1)
if old_counter > min_counter:
counter = long(commands.getoutput(find_counter).strip())
writemsg("!!! Global counter missing. Regenerated from counter files to: %s\n" % counter,
noiselevel=-1)
- except SystemExit, e:
- raise
- except:
+ except ValueError: # Value Error for long(), probably others for commands.getoutput
writemsg("!!! Initializing global counter.\n", noiselevel=-1)
counter=long(0)
changed=1
def finddigest(self,mycpv):
try:
mydig = self.findname2(mycpv)[0]
+ if not mydig:
+ return ""
mydigs = string.split(mydig, "/")[:-1]
mydig = string.join(mydigs, "/")
mysplit = mycpv.split("/")
- except SystemExit, e:
- raise
- except:
+ except OSError:
return ""
return mydig+"/files/digest-"+mysplit[-1]
chunk_size = long(self.settings["PORTAGE_BINHOST_CHUNKSIZE"])
if chunk_size < 8:
chunk_size = 8
- except SystemExit, e:
- raise
- except:
+ except (ValueError, KeyError):
chunk_size = 3000
writemsg(green("Fetching binary packages info...\n"))
mydest = self.pkgdir+"/All/"
try:
os.makedirs(mydest, 0775)
- except SystemExit, e:
- raise
- except:
+ except (OSError, IOError):
pass
return getbinpkg.file_get(
self.settings["PORTAGE_BINHOST"] + "/" + tbz2name,
os.path.join(destroot, filename.lstrip(os.path.sep)))
try:
mylstat = os.lstat(destfile)
- except OSError:
+ except (OSError, IOError):
return True
pkgfiles = self.getcontents()
sys.exit(1)
try:
os.chdir(mycwd)
- except SystemExit, e:
- raise
- except:
+ except OSError:
pass
if os.stat(srcroot).st_dev == os.stat(destroot).st_dev:
# stat file once, test using S_* macros many times (faster that way)
try:
mystat=os.lstat(mysrc)
- except SystemExit, e:
- raise
except OSError, e:
writemsg("\n")
writemsg(red("!!! ERROR: There appears to be ")+bold("FILE SYSTEM CORRUPTION.")+red(" A file that is listed\n"))
# "a? ( b? ( z ) ) -- Valid
#
-import re, string, sys, types
+import re, sys, types
import portage_exception
from portage_exception import InvalidData
from portage_versions import catpkgsplit, catsplit, pkgcmp, pkgsplit, ververify
sys.stderr.write("Note: Nested use flags without parenthesis (Deprecated)\n")
warned = 1
if warned:
- sys.stderr.write(" --> "+string.join(map(str,[head]+newdeparray))+"\n")
+ sys.stderr.write(" --> "+"".join(map(str,[head]+newdeparray))+"\n")
# Check that each flag matches
ismatch = True
for x in candidate_list:
try:
result = pkgcmp(pkgsplit(x), mysplit)
- except ValueError:
+ except ValueError: # pkgcmp may return ValueError during int() conversion
writemsg("\nInvalid package name: %s\n" % x, noiselevel=-1)
raise
if result is None:
func(*targs, **kargs)
except SystemExit:
exc_info = sys.exc_info()
- except:
+ except: # No idea what they called, so we need this broad except here.
dump_traceback("Error in portage_exec.run_exitfuncs", noiselevel=0)
exc_info = sys.exc_info()
import errno
import os
import stat
-import string
import time
import types
import portage_exception
mylist = {}
for x in mydl:
if os.path.isfile(path+"/"+x):
- parts = string.split(x, ".hardlock-")
+ parts = x.split(".hardlock-")
if len(parts) == 2:
filename = parts[0]
- hostpid = string.split(parts[1],"-")
- host = string.join(hostpid[:-1], "-")
+ hostpid = parts[1].split("-")
+ host = "-".join(hostpid[:-1])
pid = hostpid[-1]
if not mylist.has_key(filename):
line = file_contents[x][mypos]
if line[0] == "#" or not line.strip():
continue
- key = dep_getkey(line.split()[0])
+ myatom = line.split()[0]
+ if myatom.startswith("-"):
+ # package.mask supports incrementals
+ myatom = myatom[1:]
+ if not isvalidatom(myatom):
+ continue
+ key = dep_getkey(myatom)
if key == old_value:
file_contents[x][mypos] = \
line.replace(old_value, new_value)
for x in mylines:
#the split/join thing removes leading and trailing whitespace, and converts any whitespace in the line
#into single spaces.
- myline=string.join(string.split(x))
+ myline="".join(x.split())
if not len(myline):
continue
if myline[0]=="#":
# Check if we have a compat-level string. BC-integration data.
# '##COMPAT==>N<==' 'some string attached to it'
- mylinetest = string.split(myline, "<==", 1)
+ mylinetest = myline.split("<==",1)
if len(mylinetest) == 2:
myline_potential = mylinetest[1]
- mylinetest = string.split(mylinetest[0],"##COMPAT==>")
+ mylinetest = mylinetest[0].split("##COMPAT==>")
if len(mylinetest) == 2:
if compat_level >= int(mylinetest[1]):
# It's a compat line, and the key matches.
final_dict[y] += " "+mydict[y][:]
else:
final_dict[y] = mydict[y][:]
- mydict[y] = string.join(mydict[y].split()) # Remove extra spaces.
+ mydict[y] = "".join(mydict[y].split()) # Remove extra spaces.
return final_dict
def stack_lists(lists, incremental=1):
#into single spaces.
if x[0] == "#":
continue
- myline=string.split(x)
+ myline=x.split()
if len(myline) < 2 and empty == 0:
continue
if len(myline) < 1 and empty == 1:
# Distributed under the terms of the GNU General Public License v2
# $Id$
-import re,string
+import re
# PREFIX hack: -r(\\d+) -> -r(\\d+|0\\d+\\.\\d+) (see below)
ver_regexp = re.compile("^(cvs\\.)?(\\d+)((\\.\\d+)*)([a-z]?)((_(pre|p|beta|alpha|rc)\\d*)*)(-r(\\d+|0\\.\\d+))?$")
# are given the same value (in sorting, for example).
if len(vlist1) <= i or len(vlist1[i]) == 0:
list1.append(-1)
- list2.append(string.atoi(vlist2[i]))
+ list2.append(int(vlist2[i]))
elif len(vlist2) <= i or len(vlist2[i]) == 0:
- list1.append(string.atoi(vlist1[i]))
+ list1.append(int(vlist1[i]))
list2.append(-1)
# Let's make life easy and use integers unless we're forced to use floats
elif (vlist1[i][0] != "0" and vlist2[i][0] != "0"):
- list1.append(string.atoi(vlist1[i]))
- list2.append(string.atoi(vlist2[i]))
+ list1.append(int(vlist1[i]))
+ list2.append(int(vlist2[i]))
# now we have to use floats so 1.02 compares correctly against 1.1
else:
- list1.append(string.atof("0."+vlist1[i]))
- list2.append(string.atof("0."+vlist2[i]))
+ list1.append(float("0."+vlist1[i]))
+ list2.append(float("0."+vlist2[i]))
# and now the final letter
if len(match1.group(5)):
if s1[1] != s2[1]:
# it's possible that the s(1|2)[1] == ''
# in such a case, fudge it.
- try: r1 = string.atoi(s1[1])
+ try: r1 = int(s1[1])
except ValueError: r1 = 0
- try: r2 = string.atoi(s2[1])
+ try: r2 = int(s2[1])
except ValueError: r2 = 0
return r1 - r2
# while still staying in the main tree versioning scheme.
if match1.group(10):
if match1.group(10)[0] == '0':
- r1 = string.atof(match1.group(10)[1:])
+ r1 = float(match1.group(10)[1:])
else:
- r1 = string.atoi(match1.group(10))
+ r1 = int(match1.group(10))
else:
r1 = 0
if match2.group(10):
if match2.group(10)[0] == '0':
- r2 = string.atof(match2.group(10)[1:])
+ r2 = float(match2.group(10)[1:])
else:
- r2 = string.atoi(match2.group(10))
+ r2 = int(match2.group(10))
else:
r2 = 0
vercmp_cache[mykey] = r1 - r2
return 1
if mycmp<0:
return -1
- r1=string.atof(pkg1[2][1:])
- r2=string.atof(pkg2[2][1:])
+ r1=float(pkg1[2][1:])
+ r2=float(pkg2[2][1:])
if r1>r2:
return 1
if r2>r1:
return pkgcache[mypkg][:]
except KeyError:
pass
- myparts=string.split(mypkg,'-')
+ myparts=mypkg.split("-")
if len(myparts)<2:
if not silent:
if len(myrev) and myrev[0]=="r":
try:
# PREFIX hack: allow floats in revisions
- string.atof(myrev[1:])
+ float(myrev[1:])
revok=1
- except:
+ except ValueError: # from int()
pass
if revok:
verPos = -2
pkgcache[mypkg]=None
return None
#names can't have versiony looking parts
- myval=[string.join(myparts[:verPos],"-"),myparts[verPos],revision]
+ myval=["-".join(myparts[:verPos]),myparts[verPos],revision]
pkgcache[mypkg]=myval
return myval
else:
# (integer) == encodeint(integer) ===> 4 characters (big-endian copy)
# '+' means concatenate the fields ===> All chunks are strings
-import sys,os,string,shutil,errno
+import sys,os,shutil,errno
from stat import *
def addtolist(mylist,curdir):
mydat=self.getfile(myfile)
if not mydat:
return []
- return string.split(mydat)
+ return mydat.split()
def unpackinfo(self,mydest):
"""Unpacks all the files from the dataSegment into 'mydest'."""
# tests/portage/__init__.py -- Portage Unit Test functionality
# Copyright 2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Id: __init__.py 5522 2007-01-10 12:30:05Z antarus $
+# $Id$
# tests/portage/__init__.py -- Portage Unit Test functionality
# Copyright 2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Id: __init__.py 5522 2007-01-10 12:30:05Z antarus $
+# $Id$
# test_dep_getcpv.py -- Portage Unit Testing Functionality
# Copyright 2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Id: test_atoms.py 5525 2007-01-10 13:35:03Z antarus $
+# $Id$
from unittest import TestCase
from portage_dep import dep_getcpv
# test_dep_getslot.py -- Portage Unit Testing Functionality
# Copyright 2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Id: test_atoms.py 5525 2007-01-10 13:35:03Z antarus $
+# $Id$
from unittest import TestCase
from portage_dep import dep_getslot
# test_match_from_list.py -- Portage Unit Testing Functionality
# Copyright 2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Id: test_atoms.py 5525 2007-01-10 13:35:03Z antarus $
+# $Id$
from unittest import TestCase
from portage_dep import get_operator
# test_isjustname.py -- Portage Unit Testing Functionality
# Copyright 2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Id: test_atoms.py 5525 2007-01-10 13:35:03Z antarus $
+# $Id$
from unittest import TestCase
from portage_dep import isjustname
# test_isvalidatom.py -- Portage Unit Testing Functionality
# Copyright 2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Id: test_atoms.py 5525 2007-01-10 13:35:03Z antarus $
+# $Id$
from unittest import TestCase
from portage_dep import isvalidatom
# test_match_from_list.py -- Portage Unit Testing Functionality
# Copyright 2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Id: test_atoms.py 5525 2007-01-10 13:35:03Z antarus $
+# $Id$
from unittest import TestCase
from portage_dep import match_from_list
# tests/portage_util/__init__.py -- Portage Unit Test functionality
# Copyright 2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Id: __init__.py 5522 2007-01-10 12:30:05Z antarus $
+# $Id$
# test_grabDict.py -- Portage Unit Testing Functionality
# Copyright 2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Id: test_vercmp.py 5213 2006-12-08 00:12:41Z antarus $
+# $Id$
from unittest import TestCase, TestLoader
from portage_util import grabdict
# test_normalizePath.py -- Portage Unit Testing Functionality
# Copyright 2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Id: test_vercmp.py 5213 2006-12-08 00:12:41Z antarus $
+# $Id$
from unittest import TestCase
# test_stackDictList.py -- Portage Unit Testing Functionality
# Copyright 2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Id: test_vercmp.py 5213 2006-12-08 00:12:41Z antarus $
+# $Id$
from unittest import TestCase
# test_stackDicts.py -- Portage Unit Testing Functionality
# Copyright 2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Id: test_vercmp.py 5213 2006-12-08 00:12:41Z antarus $
+# $Id$
from unittest import TestCase
from portage_util import stack_dicts
# test_stackLists.py -- Portage Unit Testing Functionality
# Copyright 2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Id: test_vercmp.py 5213 2006-12-08 00:12:41Z antarus $
+# $Id$
from unittest import TestCase
from portage_util import stack_lists
# test_uniqueArray.py -- Portage Unit Testing Functionality
# Copyright 2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Id: test_vercmp.py 5213 2006-12-08 00:12:41Z antarus $
+# $Id$
from unittest import TestCase
from portage_util import unique_array
# test_varExpand.py -- Portage Unit Testing Functionality
# Copyright 2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Id: test_vercmp.py 5213 2006-12-08 00:12:41Z antarus $
+# $Id$
from unittest import TestCase, TestLoader
from portage_util import varexpand
# tests/portage/__init__.py -- Portage Unit Test functionality
# Copyright 2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Id: __init__.py 5522 2007-01-10 12:30:05Z antarus $
+# $Id$