hopefully the last api change

git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@336 cd1c1023-2f26-0410-ae45-c471fc1f0318
This commit is contained in:
lxnay
2007-07-27 09:58:28 +00:00
parent 7df0cdd108
commit c04e2dc59c
2 changed files with 66 additions and 18 deletions
+38 -1
View File
@@ -29,8 +29,11 @@ sys.path.append('../libraries')
from entropyConstants import *
from outputTools import *
from remoteTools import downloadData
from entropyTools import unpackGzip,compareMd5,bytesIntoHuman,convertUnixTimeToHumanTime,askquestion,getRandomNumber
from entropyTools import unpackGzip, compareMd5, bytesIntoHuman, convertUnixTimeToHumanTime, askquestion, getRandomNumber, dep_getcpv
# Logging initialization
import logTools
equoLog = logTools.LogFile(level = etpConst['equologlevel'],filename = etpConst['equologfile'], header = "[Equo]")
########################################################
####
@@ -211,6 +214,40 @@ def backupClientDatabase():
return dest
return ""
########################################################
####
## Dependency handling functions
#
'''
@description: matches the user chosen package name+ver, if possibile
@input atom: string
@input dbconn: database connection
@output: the package id, if found, otherwise -1
'''
def packageMatch(atom, dbconn):
# check for direction
strippedAtom = dep_getcpv(atom)
direction = atom[0:len(atom)-len(strippedAtom)]
# strip tag
# strip revision
# get version
# get name
# check for category
if (not strippedAtom.find("/")) or (len(strippedAtom.split("/")) != 2):
# we need to append category
packageCategory = ""
# FIXME: search for category
else:
packageCategory = strippedAtom.split("/")[0]
# query the database using category and name (without version+tag)
# strip version
########################################################
####
## Database Tools
+28 -17
View File
@@ -145,11 +145,13 @@ def extractPkgData(package):
print_info(yellow(" * ")+red("Getting package name/version..."),back = True)
tbz2File = package
package = package.split(".tbz2")[0]
package = package.split("-unstable")[0]
package = package.split("-stable")[0]
# strip revision tag
package = package.split("-tag")[0]
package = package.split("-linux-core")[0]
if package.split("-")[len(package.split("-"))-1].startswith("unstable"):
package = string.join(package.split("-unstable")[:len(package.split("-unstable"))-1],"-unstable")
if package.split("-")[len(package.split("-"))-1].startswith("stable"):
package = string.join(package.split("-stable")[:len(package.split("-stable"))-1],"-stable")
if package.split("-")[len(package.split("-"))-1].startswith("t"):
package = string.join(package.split("-t")[:len(package.split("-t"))-1],"-t")
package = package.split("-")
pkgname = ""
pkglen = len(package)
@@ -263,7 +265,25 @@ def extractPkgData(package):
# get the version of the modules
kmodver = file.split("/lib/modules/")[1]
kmodver = kmodver.split("/")[0]
# substitute "-" with "_"
kmodver = re.subn("-","_", kmodver)
if len(kmodver) >= 2:
kmodver = kmodver[0]
lp = kmodver.split("-")[len(kmodver.split("-"))-1]
if lp.startswith("r"):
kname = kmodver.split("_")[len(kmodver.split("_"))-2]
kver = kmodver.split("_")[0]+"-"+kmodver.split("_")[len(kmodver.split("_"))-1]
else:
kname = kmodver.split("_")[len(kmodver.split("_"))-1]
kver = kmodver.split("_")[0]
break
# validate the results above
if (kernelDependentModule):
matchatom = "linux-"+kname+"-"+kver
if (matchatom == etpData['name']+"-"+etpData['version']):
# discard
kernelDependentModule = False
# add strict kernel dependency
# done below
@@ -274,8 +294,8 @@ def extractPkgData(package):
print_info(yellow(" * ")+red("Getting package download URL..."),back = True)
# Fill download relative URI
if (kernelDependentModule):
etpData['versiontag'] = kmodver
versiontag = "-tag-"+etpData['versiontag']
etpData['versiontag'] = "t"+kmodver
versiontag = "-t"+etpData['versiontag']
else:
versiontag = ""
etpData['download'] = etpConst['binaryurirelativepath']+etpData['name']+"-"+etpData['version']+versiontag+".tbz2"
@@ -465,17 +485,8 @@ def extractPkgData(package):
etpData['conflicts'].append(i)
if (kernelDependentModule):
# 2.6.22-sabayon-r2
rev = ''
lp = kmodver.split("-")[len(kmodver.split("-"))-1]
if lp.startswith("r"):
kname = kmodver.split("-")[len(kmodver.split("-"))-2]
kmodver = kmodver.split("-")[0]+"-"+kmodver.split("-")[len(kmodver.split("-"))-1]
else:
kname = kmodver.split("-")[len(kmodver.split("-"))-1]
kmodver = kmodver.split("-")[0]
# add kname to the dependency
etpData['dependencies'].append("sys-kernel/linux-"+kname+"-"+kmodver)
etpData['dependencies'].append("sys-kernel/linux-"+kname+"-"+kver)
# etpData['rdependencies']
# Now we need to add environmental dependencies