[entropy.db] complete API docstring and refactoring work
This commit is contained in:
@@ -705,8 +705,10 @@ def search_removal_dependencies(atoms, deep = False, Equo = None):
|
||||
print_generic(rematom)
|
||||
continue
|
||||
|
||||
installedfrom = clientDbconn.retrievePackageFromInstalledTable(
|
||||
installedfrom = clientDbconn.getInstalledPackageRepository(
|
||||
idpackage)
|
||||
if installedfrom is None:
|
||||
installedfrom = _("Not available")
|
||||
repo_info = bold("[") + red("%s: " % (_("from"),)) + \
|
||||
brown(installedfrom)+bold("]")
|
||||
stratomscounter = str(atomscounter)
|
||||
|
||||
+12
-8
@@ -174,7 +174,7 @@ def database(options):
|
||||
pass
|
||||
|
||||
idpk, rev, xx = Equo.clientDbconn.addPackage(mydata, revision = mydata['revision'])
|
||||
Equo.clientDbconn.addPackageToInstalledTable(idpk,"gentoo-db")
|
||||
Equo.clientDbconn.storeInstalledPackage(idpk,"gentoo-db")
|
||||
os.remove(temptbz2)
|
||||
|
||||
print_info(red(" %s." % (_("All the Gentoo packages have been injected into Entropy database"),) ))
|
||||
@@ -212,7 +212,7 @@ def database(options):
|
||||
Equo.clientDbconn.removePackage(myidpackage)
|
||||
|
||||
print_info(red(" %s..." % (_("Now generating depends caching table"),) ))
|
||||
Equo.clientDbconn.regenerateDependsTable()
|
||||
Equo.clientDbconn.regenerateReverseDependenciesMetadata()
|
||||
print_info(red(" %s...") % (_("Now indexing tables"),) )
|
||||
Equo.clientDbconn.indexing = True
|
||||
Equo.clientDbconn.createAllIndexes()
|
||||
@@ -220,7 +220,11 @@ def database(options):
|
||||
return 0
|
||||
|
||||
elif (options[0] == "check"):
|
||||
if Equo.clientDbconn.doesTableExist("baseinfo"):
|
||||
try:
|
||||
valid = Equo.clientDbconn.validateDatabase()
|
||||
except SystemDatabaseError:
|
||||
valid = False
|
||||
if valid:
|
||||
Equo.client_repository_sanity_check()
|
||||
else:
|
||||
mytxt = "# %s: %s" % (bold(_("ATTENTION")),red(_("database does not exist or is badly broken")),)
|
||||
@@ -372,7 +376,7 @@ def database(options):
|
||||
print_info(red(" %s." % (_("Database resurrected successfully"),)))
|
||||
|
||||
print_info(red(" %s..." % (_("Now generating depends caching table"),)))
|
||||
Equo.clientDbconn.regenerateDependsTable()
|
||||
Equo.clientDbconn.regenerateReverseDependenciesMetadata()
|
||||
print_info(red(" %s..." % (_("Now indexing tables"),)))
|
||||
Equo.clientDbconn.indexing = True
|
||||
Equo.clientDbconn.createAllIndexes()
|
||||
@@ -388,7 +392,7 @@ def database(options):
|
||||
return rc
|
||||
|
||||
print_info(red(" %s..." % (_("Regenerating depends caching table"),) ))
|
||||
Equo.clientDbconn.regenerateDependsTable()
|
||||
Equo.clientDbconn.regenerateReverseDependenciesMetadata()
|
||||
print_info(red(" %s." % (_("Depends caching table regenerated successfully"),) ))
|
||||
return 0
|
||||
|
||||
@@ -403,7 +407,7 @@ def database(options):
|
||||
return rc
|
||||
|
||||
print_info(red(" %s..." % (_("Regenerating counters table"),) ))
|
||||
Equo.clientDbconn.regenerateCountersTable(Spm.get_vdb_path(), output = True)
|
||||
Equo.clientDbconn.regenerateSpmUidTable(verbose = True)
|
||||
print_info(red(" %s" % (_("Counters table regenerated. Look above for errors."),) ))
|
||||
return 0
|
||||
|
||||
@@ -606,8 +610,8 @@ def database(options):
|
||||
mydata['revision'] = 9999 # can't do much more
|
||||
|
||||
idpk, rev, xx = Equo.clientDbconn.handlePackage(mydata, forcedRevision = mydata['revision'])
|
||||
Equo.clientDbconn.removePackageFromInstalledTable(idpk)
|
||||
Equo.clientDbconn.addPackageToInstalledTable(idpk,"gentoo-db")
|
||||
Equo.clientDbconn.dropInstalledPackageFromStore(idpk)
|
||||
Equo.clientDbconn.storeInstalledPackage(idpk,"gentoo-db")
|
||||
os.remove(temptbz2)
|
||||
|
||||
print_info(brown(" @@ ")+blue("%s." % (_("Database update completed"),)))
|
||||
|
||||
@@ -310,7 +310,6 @@ def smartpackagegenerator(matchedPackages):
|
||||
dbfile = unpackdir+"/db/merged.db"
|
||||
mergeDbconn = Equo.open_generic_database(dbfile, dbname = "client")
|
||||
mergeDbconn.initializeDatabase()
|
||||
mergeDbconn.createXpakTable()
|
||||
tmpdbfile = dbfile+"--readingdata"
|
||||
for package in matchedPackages:
|
||||
print_info(darkgreen(" * ")+brown(matchedAtoms[package]['atom'])+": "+red(_("collecting Entropy metadata")))
|
||||
@@ -329,7 +328,7 @@ def smartpackagegenerator(matchedPackages):
|
||||
# add
|
||||
idpk, rev, y = mergeDbconn.handlePackage(data, forcedRevision = matchedAtoms[package]['revision']) # get the original rev
|
||||
del y
|
||||
mergeDbconn.storeXpakMetadata(idpk,xpakdata)
|
||||
mergeDbconn.storeXpakMetadata(idpk, xpakdata)
|
||||
mydbconn.closeDB()
|
||||
os.remove(tmpdbfile)
|
||||
|
||||
|
||||
+1
-1
@@ -496,7 +496,7 @@ def ugcDocuments(options):
|
||||
continue
|
||||
doc_data = doc_data[0]
|
||||
data, err_msg = Equo.UGC.remove_document_autosense(repository, identifier, doc_data['iddoctype'])
|
||||
if data == False:
|
||||
if data is False:
|
||||
print_error(
|
||||
"[%s:%s] %s: %s, %s" % (
|
||||
darkgreen(repository),
|
||||
|
||||
+19
-7
@@ -372,7 +372,7 @@ def branchHop(branch):
|
||||
|
||||
if status:
|
||||
|
||||
Equo.clientDbconn.moveCountersToBranch(branch)
|
||||
Equo.clientDbconn.moveSpmUidsToBranch(branch)
|
||||
|
||||
# remove old repos
|
||||
for repo_path in old_repo_paths:
|
||||
@@ -533,7 +533,9 @@ def _showPackageInfo(foundAtoms, deps):
|
||||
idx = pkginstalled[0]
|
||||
installedVer = Equo.clientDbconn.retrieveVersion(idx)
|
||||
installedTag = Equo.clientDbconn.retrieveVersionTag(idx)
|
||||
installedRepo = Equo.clientDbconn.retrievePackageFromInstalledTable(idx)
|
||||
installedRepo = Equo.clientDbconn.getInstalledPackageRepository(idx)
|
||||
if installedRepo is None:
|
||||
installedRepo = _("Not available")
|
||||
if not installedTag:
|
||||
installedTag = "NoTag"
|
||||
installedRev = Equo.clientDbconn.retrieveRevision(idx)
|
||||
@@ -827,7 +829,9 @@ def installPackages(packages = [], atomsdata = [], deps = True, emptydeps = Fals
|
||||
installedVer = Equo.clientDbconn.retrieveVersion(idx)
|
||||
installedTag = Equo.clientDbconn.retrieveVersionTag(idx)
|
||||
installedRev = Equo.clientDbconn.retrieveRevision(idx)
|
||||
installedRepo = Equo.clientDbconn.retrievePackageFromInstalledTable(idx)
|
||||
installedRepo = Equo.clientDbconn.getInstalledPackageRepository(idx)
|
||||
if installedRepo is None:
|
||||
installedRepo = _("Not available")
|
||||
onDiskFreedSize += Equo.clientDbconn.retrieveOnDiskSize(idx)
|
||||
|
||||
if not (etpUi['ask'] or etpUi['pretend'] or etpUi['verbose']):
|
||||
@@ -897,7 +901,9 @@ def installPackages(packages = [], atomsdata = [], deps = True, emptydeps = Fals
|
||||
if not pkgatom:
|
||||
continue
|
||||
onDiskFreedSize += Equo.clientDbconn.retrieveOnDiskSize(idpackage)
|
||||
installedfrom = Equo.clientDbconn.retrievePackageFromInstalledTable(idpackage)
|
||||
installedfrom = Equo.clientDbconn.getInstalledPackageRepository(idpackage)
|
||||
if installedfrom is None:
|
||||
installedfrom = _("Not available")
|
||||
repoinfo = red("[")+brown("%s: " % (_("from"),) )+bold(installedfrom)+red("] ")
|
||||
print_info(red(" ## ")+"["+red("W")+"] "+repoinfo+enlightenatom(pkgatom))
|
||||
|
||||
@@ -1281,7 +1287,9 @@ def configurePackages(packages = []):
|
||||
pkgatom = Equo.clientDbconn.retrieveAtom(idpackage)
|
||||
if not pkgatom: continue
|
||||
|
||||
installedfrom = Equo.clientDbconn.retrievePackageFromInstalledTable(idpackage)
|
||||
installedfrom = Equo.clientDbconn.getInstalledPackageRepository(idpackage)
|
||||
if installedfrom is None:
|
||||
installedfrom = _("Not available")
|
||||
mytxt = " | %s: " % (_("Installed from"),)
|
||||
print_info(" # "+red("(")+brown(str(atomscounter))+"/"+blue(str(totalatoms))+red(")")+" "+enlightenatom(pkgatom)+mytxt+red(installedfrom))
|
||||
|
||||
@@ -1402,8 +1410,10 @@ def removePackages(packages = [], atomsdata = [], deps = True, deep = False,
|
||||
|
||||
plainRemovalQueue.append(idpackage)
|
||||
|
||||
installedfrom = Equo.clientDbconn.retrievePackageFromInstalledTable(
|
||||
installedfrom = Equo.clientDbconn.getInstalledPackageRepository(
|
||||
idpackage)
|
||||
if installedfrom is None:
|
||||
installedfrom = _("Not available")
|
||||
disksize = Equo.clientDbconn.retrieveOnDiskSize(idpackage)
|
||||
disksize = Equo.entropyTools.bytes_into_human(disksize)
|
||||
disksizeinfo = " | %s: %s" % (blue(_("Disk size")),
|
||||
@@ -1452,7 +1462,9 @@ def removePackages(packages = [], atomsdata = [], deps = True, deep = False,
|
||||
rematom = Equo.clientDbconn.retrieveAtom(idpackage)
|
||||
if not rematom:
|
||||
continue
|
||||
installedfrom = Equo.clientDbconn.retrievePackageFromInstalledTable(idpackage)
|
||||
installedfrom = Equo.clientDbconn.getInstalledPackageRepository(idpackage)
|
||||
if installedfrom is None:
|
||||
installedfrom = _("Not available")
|
||||
disksize = Equo.clientDbconn.retrieveOnDiskSize(idpackage)
|
||||
disksize = Equo.entropyTools.bytes_into_human(disksize)
|
||||
repositoryInfo = bold("[")+darkgreen("%s:" % (_("from"),) )+brown(installedfrom)+bold("]")
|
||||
|
||||
@@ -157,7 +157,7 @@ class CacheMixin:
|
||||
except (RepositoryError):
|
||||
continue # repo not available
|
||||
try:
|
||||
sum_hashes += dbconn.database_checksum()
|
||||
sum_hashes += dbconn.checksum()
|
||||
except self.dbapi2.OperationalError:
|
||||
pass
|
||||
return sum_hashes
|
||||
|
||||
@@ -195,7 +195,7 @@ class CalculatorsMixin:
|
||||
return dbconn
|
||||
|
||||
def atom_match(self, atom, caseSensitive = True, matchSlot = None,
|
||||
matchBranches = (), matchTag = None, packagesFilter = True,
|
||||
matchTag = None, packagesFilter = True,
|
||||
multiMatch = False, multiRepo = False, matchRevision = None,
|
||||
matchRepo = None, server_repos = [], serverInstance = None,
|
||||
extendedResults = False, useCache = True):
|
||||
@@ -207,23 +207,25 @@ class CalculatorsMixin:
|
||||
matchRepo = repos
|
||||
|
||||
u_hash = ""
|
||||
m_hash = ""
|
||||
k_ms = "//"
|
||||
k_mt = "@#@"
|
||||
k_mr = "-1"
|
||||
if isinstance(matchRepo,(list,tuple,set,)): u_hash = hash(frozenset(matchRepo))
|
||||
if isinstance(matchBranches,(list,tuple,set,)): m_hash = hash(frozenset(matchBranches))
|
||||
if isinstance(matchSlot,basestring): k_ms = matchSlot
|
||||
if isinstance(matchTag,basestring): k_mt = matchTag
|
||||
if isinstance(matchRevision,basestring): k_mr = matchRevision
|
||||
if isinstance(matchRepo,(list,tuple,set,)):
|
||||
u_hash = hash(frozenset(matchRepo))
|
||||
if isinstance(matchSlot,basestring):
|
||||
k_ms = matchSlot
|
||||
if isinstance(matchTag,basestring):
|
||||
k_mt = matchTag
|
||||
if isinstance(matchRevision,basestring):
|
||||
k_mr = matchRevision
|
||||
|
||||
c_hash = "|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s" % (
|
||||
c_hash = "|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s" % (
|
||||
atom,k_ms,k_mt,hash(packagesFilter),
|
||||
hash(frozenset(self.validRepositories)),
|
||||
hash(frozenset(self.SystemSettings['repositories']['available'])),
|
||||
hash(multiMatch),hash(multiRepo),hash(caseSensitive),
|
||||
k_mr,hash(extendedResults),
|
||||
u_hash, m_hash
|
||||
u_hash,
|
||||
)
|
||||
c_hash = "%s%s" % (self.atomMatchCacheKey,hash(c_hash),)
|
||||
|
||||
@@ -259,7 +261,6 @@ class CalculatorsMixin:
|
||||
atom,
|
||||
caseSensitive = caseSensitive,
|
||||
matchSlot = matchSlot,
|
||||
matchBranches = matchBranches,
|
||||
matchTag = matchTag,
|
||||
packagesFilter = packagesFilter,
|
||||
matchRevision = matchRevision,
|
||||
@@ -315,7 +316,6 @@ class CalculatorsMixin:
|
||||
atom,
|
||||
caseSensitive = caseSensitive,
|
||||
matchSlot = matchSlot,
|
||||
matchBranches = matchBranches,
|
||||
matchTag = matchTag,
|
||||
packagesFilter = packagesFilter,
|
||||
multiMatch = True,
|
||||
@@ -330,15 +330,14 @@ class CalculatorsMixin:
|
||||
else:
|
||||
dbconn = self.__atom_match_open_db(dbpkginfo[1], serverInstance)
|
||||
query_data, query_rc = dbconn.atomMatch(
|
||||
atom,
|
||||
caseSensitive = caseSensitive,
|
||||
matchSlot = matchSlot,
|
||||
matchBranches = matchBranches,
|
||||
matchTag = matchTag,
|
||||
packagesFilter = packagesFilter,
|
||||
multiMatch = True,
|
||||
extendedResults = extendedResults
|
||||
)
|
||||
atom,
|
||||
caseSensitive = caseSensitive,
|
||||
matchSlot = matchSlot,
|
||||
matchTag = matchTag,
|
||||
packagesFilter = packagesFilter,
|
||||
multiMatch = True,
|
||||
extendedResults = extendedResults
|
||||
)
|
||||
if extendedResults:
|
||||
dbpkginfo = (set([((x[0],x[2],x[3],x[4]),dbpkginfo[1]) for x in query_data]),0)
|
||||
else:
|
||||
@@ -490,7 +489,7 @@ class CalculatorsMixin:
|
||||
|
||||
if self.xcache:
|
||||
c_data = sorted(dependencies)
|
||||
client_checksum = self.clientDbconn.database_checksum()
|
||||
client_checksum = self.clientDbconn.checksum()
|
||||
c_hash = hash("%s|%s|%s" % (c_data,deep_deps,client_checksum,))
|
||||
c_hash = "%s%s" % (etpCache['filter_satisfied_deps'],c_hash,)
|
||||
cached = self.Cacher.pop(c_hash)
|
||||
@@ -1236,7 +1235,7 @@ class CalculatorsMixin:
|
||||
hash(frozenset(sorted(matched_atoms))),
|
||||
empty_deps,
|
||||
deep_deps,
|
||||
self.clientDbconn.database_checksum(),
|
||||
self.clientDbconn.checksum(),
|
||||
# needed when users do bogus things like editing config files
|
||||
# manually (branch setting)
|
||||
self.SystemSettings['repositories']['branch'],
|
||||
|
||||
@@ -404,7 +404,6 @@ class RepositoryMixin:
|
||||
def add_tbz2_to_repos(self, tbz2file):
|
||||
atoms_contained = []
|
||||
basefile = os.path.basename(tbz2file)
|
||||
cut_idx = -1*(len(etpConst['packagesext']))
|
||||
db_dir = tempfile.mkdtemp()
|
||||
dbfile = self.entropyTools.extract_edb(tbz2file,
|
||||
dbpath = db_dir+"/packages.db")
|
||||
@@ -727,8 +726,6 @@ class RepositoryMixin:
|
||||
"run_repositories_post_branch_switch_hooks: clientdb not avail")
|
||||
return hooks_ran, True
|
||||
|
||||
from datetime import datetime
|
||||
place_status_file = set()
|
||||
errors = False
|
||||
repo_data = self.SystemSettings['repositories']['available']
|
||||
repo_data_excl = self.SystemSettings['repositories']['available']
|
||||
@@ -991,7 +988,7 @@ class MiscMixin:
|
||||
# check if another instance is running
|
||||
etpConst['applicationlock'] = False
|
||||
const_setup_entropy_pid(just_read = True)
|
||||
locked = self.entropyTools.application_lock_check(option = None, gentle = True)
|
||||
locked = self.entropyTools.application_lock_check(gentle = True)
|
||||
if locked:
|
||||
if not silent:
|
||||
self.updateProgress(
|
||||
@@ -1066,10 +1063,10 @@ class MiscMixin:
|
||||
return const_set_nice_level(low)
|
||||
|
||||
def reload_repositories_config(self, repositories = None):
|
||||
if repositories == None:
|
||||
if repositories is None:
|
||||
repositories = self.validRepositories
|
||||
for repoid in repositories:
|
||||
dbconn = self.open_repository(repoid)
|
||||
self.open_repository(repoid)
|
||||
|
||||
def switch_chroot(self, chroot = ""):
|
||||
# clean caches
|
||||
@@ -1269,19 +1266,23 @@ class MiscMixin:
|
||||
self.Cacher.start()
|
||||
|
||||
def get_meant_packages(self, search_term, from_installed = False,
|
||||
valid_repos = []):
|
||||
valid_repos = None):
|
||||
|
||||
if valid_repos is None:
|
||||
valid_repos = []
|
||||
|
||||
pkg_data = []
|
||||
atom_srch = False
|
||||
if "/" in search_term:
|
||||
atom_srch = True
|
||||
|
||||
if not valid_repos:
|
||||
valid_repos = self.validRepositories
|
||||
if from_installed:
|
||||
valid_repos = []
|
||||
if hasattr(self,'clientDbconn'):
|
||||
valid_repos.append(self.clientDbconn)
|
||||
if hasattr(self, 'clientDbconn'):
|
||||
if self.clientDbconn is not None:
|
||||
valid_repos.append(self.clientDbconn)
|
||||
|
||||
elif not valid_repos:
|
||||
valid_repos.extend(self.validRepositories[:])
|
||||
|
||||
for repo in valid_repos:
|
||||
if isinstance(repo, basestring):
|
||||
@@ -1425,7 +1426,6 @@ class MiscMixin:
|
||||
def quickpkg_handler(self, pkgdata, dirpath, edb = True,
|
||||
portdbPath = None, fake = False, compression = "bz2", shiftpath = ""):
|
||||
|
||||
import stat
|
||||
import tarfile
|
||||
|
||||
if compression not in ("bz2","","gz"):
|
||||
|
||||
@@ -1022,8 +1022,8 @@ class Package:
|
||||
self.Entropy.clientDbconn.setCreationDate(idpackage, str(ctime))
|
||||
|
||||
# add idpk to the installedtable
|
||||
self.Entropy.clientDbconn.removePackageFromInstalledTable(idpackage)
|
||||
self.Entropy.clientDbconn.addPackageToInstalledTable(idpackage,
|
||||
self.Entropy.clientDbconn.dropInstalledPackageFromStore(idpackage)
|
||||
self.Entropy.clientDbconn.storeInstalledPackage(idpackage,
|
||||
self.infoDict['repository'], self.infoDict['install_source'])
|
||||
|
||||
automerge_data = self.infoDict.get('configprotect_data')
|
||||
@@ -1033,7 +1033,7 @@ class Package:
|
||||
|
||||
# clear depends table, this will make clientdb dependstable to be
|
||||
# regenerated during the next request (retrieveReverseDependencies)
|
||||
self.Entropy.clientDbconn.clearDependsTable()
|
||||
self.Entropy.clientDbconn.taintReverseDependenciesMetadata()
|
||||
return idpackage
|
||||
|
||||
def __fill_image_dir(self, mergeFrom, imageDir):
|
||||
@@ -1094,7 +1094,6 @@ class Package:
|
||||
def __move_image_to_system(self, already_protected_config_files):
|
||||
|
||||
# load CONFIG_PROTECT and its mask
|
||||
repoid = self.infoDict['repository']
|
||||
protect = self.Entropy.get_package_match_config_protect(
|
||||
self.matched_atom)
|
||||
mask = self.Entropy.get_package_match_config_protect(
|
||||
|
||||
@@ -72,11 +72,6 @@ class UGCErrorReportInterface(ErrorReportInterface):
|
||||
@return submission status -- bool
|
||||
"""
|
||||
|
||||
def convert_to_str(el):
|
||||
if not isinstance(el, basestring):
|
||||
el = str(el)
|
||||
return el
|
||||
|
||||
if self.generated:
|
||||
done, err_msg = self.entropy.UGC.report_error(self.__repository_id,
|
||||
self.params)
|
||||
|
||||
@@ -893,7 +893,7 @@ class Repository:
|
||||
mydbconn.clearCache()
|
||||
# now verify if both checksums match
|
||||
result = False
|
||||
mychecksum = mydbconn.database_checksum(do_order = True,
|
||||
mychecksum = mydbconn.checksum(do_order = True,
|
||||
strict = False, strings = True)
|
||||
if checksum == mychecksum:
|
||||
result = True
|
||||
@@ -1051,7 +1051,7 @@ class Repository:
|
||||
if (do_db_update_transfer is not None) and not \
|
||||
do_db_update_transfer:
|
||||
|
||||
if os.access(dbfile, os.R_OK | os.R_OK | os.F_OK):
|
||||
if os.access(dbfile, os.R_OK | os.W_OK | os.F_OK):
|
||||
try:
|
||||
os.rename(dbfile, dbfile_old)
|
||||
do_db_update_transfer = True
|
||||
|
||||
+1105
-1172
File diff suppressed because it is too large
Load Diff
@@ -289,7 +289,6 @@ class Server(Singleton, TextInterface):
|
||||
raise PermissionDenied("PermissionDenied: %s" % (mytxt,))
|
||||
|
||||
# settings
|
||||
from entropy.misc import LogFile
|
||||
self.SystemSettings = SystemSettings()
|
||||
self.community_repo = community_repo
|
||||
from entropy.db import dbapi2
|
||||
@@ -475,7 +474,6 @@ class Server(Singleton, TextInterface):
|
||||
|
||||
def setup_entropy_settings(self, repo = None):
|
||||
srv_set = self.SystemSettings[self.sys_settings_plugin_id]['server']
|
||||
curr_repoid = srv_set['default_repository_id']
|
||||
backup_list = [
|
||||
'etpdatabaseclientfilepath',
|
||||
'clientdbid',
|
||||
@@ -800,7 +798,6 @@ class Server(Singleton, TextInterface):
|
||||
|
||||
if mirrors is None:
|
||||
mirrors = []
|
||||
product = self.SystemSettings['repositories']['product']
|
||||
dbc = self.open_memory_database(dbname = etpConst['serverdbid']+repoid)
|
||||
self._memory_db_instances[repoid] = dbc
|
||||
|
||||
@@ -1427,7 +1424,7 @@ class Server(Singleton, TextInterface):
|
||||
def depends_table_initialize(self, repo = None):
|
||||
dbconn = self.open_server_repository(read_only = False,
|
||||
no_upload = True, repo = repo)
|
||||
dbconn.regenerateDependsTable()
|
||||
dbconn.regenerateReverseDependenciesMetadata()
|
||||
dbconn.taintDatabase()
|
||||
dbconn.commitChanges()
|
||||
|
||||
@@ -1756,7 +1753,6 @@ class Server(Singleton, TextInterface):
|
||||
)
|
||||
return False
|
||||
|
||||
tmp_db_path = self.entropyTools.get_random_temp_file()
|
||||
for from_branch in sorted(mapped_branches):
|
||||
|
||||
self.updateProgress(
|
||||
@@ -1969,7 +1965,7 @@ class Server(Singleton, TextInterface):
|
||||
darkred(to_repo),
|
||||
brown(branch),
|
||||
bold(_("cannot switch, package not found, skipping")),
|
||||
darkgreen(),
|
||||
darkgreen(match_atom),
|
||||
red(from_file),
|
||||
),
|
||||
importance = 1,
|
||||
@@ -2143,8 +2139,8 @@ class Server(Singleton, TextInterface):
|
||||
dbconn.setTrashedUid(mycounter)
|
||||
|
||||
# add package info to our current server repository
|
||||
dbconn.removePackageFromInstalledTable(idpackage)
|
||||
dbconn.addPackageToInstalledTable(idpackage, repo)
|
||||
dbconn.dropInstalledPackageFromStore(idpackage)
|
||||
dbconn.storeInstalledPackage(idpackage, repo)
|
||||
atom = dbconn.retrieveAtom(idpackage)
|
||||
|
||||
self.updateProgress(
|
||||
@@ -2784,7 +2780,6 @@ class Server(Singleton, TextInterface):
|
||||
exp_based_scope = my_settings['exp_based_scope']
|
||||
|
||||
server_repos = my_settings['repositories'].keys()
|
||||
exp_pkgs_cache = {}
|
||||
|
||||
# packages to be added
|
||||
for spm_atom, spm_counter in installed_packages:
|
||||
@@ -2963,20 +2958,25 @@ class Server(Singleton, TextInterface):
|
||||
dbconn = self.open_server_repository(read_only = True,
|
||||
no_upload = True, repo = repo, warnings = warnings)
|
||||
|
||||
if dbconn.doesTableExist("baseinfo") and \
|
||||
dbconn.doesTableExist("extrainfo"):
|
||||
try:
|
||||
dbconn.validateDatabase()
|
||||
idpackages = dbconn.listAllIdpackages()
|
||||
except SystemDatabaseError:
|
||||
pass
|
||||
|
||||
if dbconn.doesTableExist("treeupdatesactions"):
|
||||
try:
|
||||
treeupdates_actions = dbconn.listAllTreeUpdatesActions()
|
||||
except dbconn.dbapi2.Error:
|
||||
pass
|
||||
|
||||
# save list of injected packages
|
||||
if dbconn.doesTableExist("injected") and \
|
||||
dbconn.doesTableExist("extrainfo"):
|
||||
try:
|
||||
injected_packages = dbconn.listAllInjectedPackages(
|
||||
just_files = True)
|
||||
injected_packages = set([os.path.basename(x) for x \
|
||||
in injected_packages])
|
||||
except dbconn.dbapi2.Error:
|
||||
pass
|
||||
|
||||
for idpackage in idpackages:
|
||||
url = dbconn.retrieveDownloadURL(idpackage)
|
||||
@@ -3847,7 +3847,7 @@ class Server(Singleton, TextInterface):
|
||||
dbconn.commitChanges()
|
||||
|
||||
# now migrate counters
|
||||
dbconn.moveCountersToBranch(to_branch, from_branch = from_branch)
|
||||
dbconn.moveSpmUidsToBranch(to_branch, from_branch = from_branch)
|
||||
|
||||
self.close_server_database(dbconn)
|
||||
mytxt = blue("%s.") % (_("migration loop completed"),)
|
||||
|
||||
@@ -204,7 +204,7 @@ class Server(SocketHost):
|
||||
mydb = self.open_db(mydbpath, docache = False)
|
||||
mydb.createAllIndexes()
|
||||
self.updateProgress(
|
||||
darkgreen(str(mydb.database_checksum(do_order = True, strict = False, strings = True))),
|
||||
darkgreen(str(mydb.checksum(do_order = True, strict = False, strings = True))),
|
||||
importance = 1,
|
||||
type = "info"
|
||||
)
|
||||
|
||||
@@ -428,7 +428,7 @@ def ebeep(count = 5):
|
||||
os.system("sleep 0.35; echo -ne \"\a\"; sleep 0.35")
|
||||
mycount -= 1
|
||||
|
||||
def application_lock_check(option = None, gentle = False):
|
||||
def application_lock_check(gentle = False):
|
||||
if etpConst['applicationlock']:
|
||||
if not gentle:
|
||||
raise SystemExit(10)
|
||||
@@ -446,7 +446,6 @@ def split_indexable_into_chunks(mystr, chunk_len):
|
||||
chunks = []
|
||||
my = mystr[:]
|
||||
mylen = len(my)
|
||||
mycount = 0
|
||||
while mylen:
|
||||
chunk = my[:chunk_len]
|
||||
chunks.append(chunk)
|
||||
@@ -2111,7 +2110,7 @@ def uncompress_tar_bz2(filepath, extractPath = None, catchEmpty = False):
|
||||
tar.chown(tarinfo, epath)
|
||||
fix_uid_gid(tarinfo, epath)
|
||||
tar.utime(tarinfo, epath)
|
||||
mode = tarinfo.mode
|
||||
# mode = tarinfo.mode
|
||||
# xorg-server /usr/bin/X symlink of /usr/bin/Xorg
|
||||
# which is setuid. Symlinks don't need chmod. PERIOD!
|
||||
if not os.path.islink(epath):
|
||||
|
||||
@@ -39,8 +39,8 @@ class EntropyRepositoryTest(unittest.TestCase):
|
||||
def test_db_creation(self):
|
||||
self.assert_(isinstance(self.test_db, EntropyRepository))
|
||||
self.assertEqual(self.test_db_name,self.test_db.dbname)
|
||||
self.assert_(self.test_db.doesTableExist('baseinfo'))
|
||||
self.assert_(self.test_db.doesTableExist('extrainfo'))
|
||||
self.assert_(self.test_db._doesTableExist('baseinfo'))
|
||||
self.assert_(self.test_db._doesTableExist('extrainfo'))
|
||||
|
||||
def test_db_contentdiff(self):
|
||||
|
||||
|
||||
@@ -326,7 +326,7 @@ class UpdatesDaemon(dbus.service.Object):
|
||||
_("updates available."),),
|
||||
urgency = 'critical'
|
||||
)
|
||||
self.__system_db_hash = entropy.clientDbconn.database_checksum(
|
||||
self.__system_db_hash = entropy.clientDbconn.checksum(
|
||||
do_order = True, strict = False)
|
||||
self.__updates = update[:]
|
||||
del self.__updates_atoms[:]
|
||||
@@ -384,7 +384,7 @@ class UpdatesDaemon(dbus.service.Object):
|
||||
def get_updates(self):
|
||||
|
||||
entropy = Entropy()
|
||||
curr_hash = entropy.clientDbconn.database_checksum(
|
||||
curr_hash = entropy.clientDbconn.checksum(
|
||||
do_order = True, strict = False)
|
||||
if curr_hash == self.__system_db_hash:
|
||||
return self.__updates
|
||||
|
||||
@@ -238,7 +238,10 @@ class EntropyPackage:
|
||||
return ' '.join([x for x in sorted(self.set_from)])
|
||||
|
||||
if self.matched_atom[1] == 0:
|
||||
return self.dbconn.retrievePackageFromInstalledTable(self.matched_id)
|
||||
repoid = self.dbconn.getInstalledPackageRepository(
|
||||
self.matched_id)
|
||||
if repoid is None:
|
||||
repoid = _("Not available")
|
||||
else: return self.matched_repo
|
||||
|
||||
def get_idpackage(self):
|
||||
|
||||
Reference in New Issue
Block a user