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:
+38
-1
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user