[entropy.server] first chunk of refactoring and cleanup work (making repo=None argument die)
This commit is contained in:
@@ -307,7 +307,7 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
def __write_gpg_pubkey(self, repo_sec):
|
||||
pubkey = repo_sec.get_pubkey(self._repository_id)
|
||||
# write pubkey to file and add to data upload
|
||||
gpg_path = self._entropy._get_local_database_gpg_signature_file(
|
||||
gpg_path = self._entropy._get_local_repository_gpg_signature_file(
|
||||
self._repository_id)
|
||||
with open(gpg_path, "w") as gpg_f:
|
||||
gpg_f.write(pubkey)
|
||||
@@ -325,7 +325,7 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
"""
|
||||
Return whether repository is locally locked (already).
|
||||
"""
|
||||
lock_file = self._entropy._get_database_lockfile(self._repository_id)
|
||||
lock_file = self._entropy._get_repository_lockfile(self._repository_id)
|
||||
return os.path.isfile(lock_file)
|
||||
|
||||
def _calculate_sync_queues(self):
|
||||
@@ -368,8 +368,8 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
extra_text_files = []
|
||||
gpg_signed_files = []
|
||||
data = {}
|
||||
db_rev_file = self._entropy._get_local_database_revision_file(
|
||||
repo = self._repository_id)
|
||||
db_rev_file = self._entropy._get_local_repository_revision_file(
|
||||
self._repository_id)
|
||||
# adding ~ at the beginning makes this file to be appended at the end
|
||||
# of the upload queue
|
||||
data['~database_revision_file'] = db_rev_file
|
||||
@@ -378,14 +378,14 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
|
||||
# branch migration support scripts
|
||||
post_branch_mig_file = self._entropy._get_local_post_branch_mig_script(
|
||||
repo = self._repository_id)
|
||||
self._repository_id)
|
||||
if os.path.isfile(post_branch_mig_file) or download:
|
||||
if download:
|
||||
data['database_post_branch_hop_script'] = post_branch_mig_file
|
||||
extra_text_files.append(post_branch_mig_file)
|
||||
|
||||
post_branch_upg_file = self._entropy._get_local_post_branch_upg_script(
|
||||
repo = self._repository_id)
|
||||
self._repository_id)
|
||||
if os.path.isfile(post_branch_upg_file) or download:
|
||||
if download:
|
||||
data['database_post_branch_upgrade_script'] = \
|
||||
@@ -394,30 +394,29 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
|
||||
post_repo_update_file = \
|
||||
self._entropy._get_local_post_repo_update_script(
|
||||
repo = self._repository_id)
|
||||
self._repository_id)
|
||||
if os.path.isfile(post_repo_update_file) or download:
|
||||
if download:
|
||||
data['database_post_repo_update_script'] = post_repo_update_file
|
||||
extra_text_files.append(post_repo_update_file)
|
||||
|
||||
database_ts_file = self._entropy._get_local_database_timestamp_file(
|
||||
repo = self._repository_id)
|
||||
database_ts_file = self._entropy._get_local_repository_timestamp_file(
|
||||
self._repository_id)
|
||||
if os.path.isfile(database_ts_file) or download:
|
||||
data['database_timestamp_file'] = database_ts_file
|
||||
if not download:
|
||||
critical.append(database_ts_file)
|
||||
|
||||
database_package_mask_file = \
|
||||
self._entropy._get_local_database_mask_file(
|
||||
repo = self._repository_id)
|
||||
self._entropy._get_local_repository_mask_file(self._repository_id)
|
||||
if os.path.isfile(database_package_mask_file) or download:
|
||||
if download:
|
||||
data['database_package_mask_file'] = database_package_mask_file
|
||||
extra_text_files.append(database_package_mask_file)
|
||||
|
||||
database_package_system_mask_file = \
|
||||
self._entropy._get_local_database_system_mask_file(
|
||||
repo = self._repository_id)
|
||||
self._entropy._get_local_repository_system_mask_file(
|
||||
self._repository_id)
|
||||
if os.path.isfile(database_package_system_mask_file) or download:
|
||||
if download:
|
||||
data['database_package_system_mask_file'] = \
|
||||
@@ -425,8 +424,8 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
extra_text_files.append(database_package_system_mask_file)
|
||||
|
||||
database_package_confl_tagged_file = \
|
||||
self._entropy._get_local_database_confl_tagged_file(
|
||||
repo = self._repository_id)
|
||||
self._entropy._get_local_repository_confl_tagged_file(
|
||||
self._repository_id)
|
||||
if os.path.isfile(database_package_confl_tagged_file) or download:
|
||||
if download:
|
||||
data['database_package_confl_tagged_file'] = \
|
||||
@@ -434,8 +433,8 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
extra_text_files.append(database_package_confl_tagged_file)
|
||||
|
||||
database_license_whitelist_file = \
|
||||
self._entropy._get_local_database_licensewhitelist_file(
|
||||
repo = self._repository_id)
|
||||
self._entropy._get_local_repository_licensewhitelist_file(
|
||||
self._repository_id)
|
||||
if os.path.isfile(database_license_whitelist_file) or download:
|
||||
if download:
|
||||
data['database_license_whitelist_file'] = \
|
||||
@@ -443,8 +442,8 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
extra_text_files.append(database_license_whitelist_file)
|
||||
|
||||
database_mirrors_file = \
|
||||
self._entropy._get_local_database_mirrors_file(
|
||||
repo = self._repository_id)
|
||||
self._entropy._get_local_repository_mirrors_file(
|
||||
self._repository_id)
|
||||
if os.path.isfile(database_mirrors_file) or download:
|
||||
if download:
|
||||
data['database_mirrors_file'] = \
|
||||
@@ -452,8 +451,8 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
extra_text_files.append(database_mirrors_file)
|
||||
|
||||
database_fallback_mirrors_file = \
|
||||
self._entropy._get_local_database_fallback_mirrors_file(
|
||||
repo = self._repository_id)
|
||||
self._entropy._get_local_repository_fallback_mirrors_file(
|
||||
self._repository_id)
|
||||
if os.path.isfile(database_fallback_mirrors_file) or download:
|
||||
if download:
|
||||
data['database_fallback_mirrors_file'] = \
|
||||
@@ -462,22 +461,22 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
|
||||
exp_based_pkgs_removal_file = \
|
||||
self._entropy._get_local_exp_based_pkgs_rm_whitelist_file(
|
||||
repo = self._repository_id)
|
||||
self._repository_id)
|
||||
if os.path.isfile(exp_based_pkgs_removal_file) or download:
|
||||
if download:
|
||||
data['exp_based_pkgs_removal_file'] = \
|
||||
exp_based_pkgs_removal_file
|
||||
extra_text_files.append(exp_based_pkgs_removal_file)
|
||||
|
||||
database_rss_file = self._entropy._get_local_database_rss_file(
|
||||
repo = self._repository_id)
|
||||
database_rss_file = self._entropy._get_local_repository_rss_file(
|
||||
self._repository_id)
|
||||
if os.path.isfile(database_rss_file) or download:
|
||||
data['database_rss_file'] = database_rss_file
|
||||
if not download:
|
||||
critical.append(data['database_rss_file'])
|
||||
database_rss_light_file = \
|
||||
self._entropy._get_local_database_rsslight_file(
|
||||
repo = self._repository_id)
|
||||
self._entropy._get_local_repository_rsslight_file(
|
||||
self._repository_id)
|
||||
|
||||
if os.path.isfile(database_rss_light_file) or download:
|
||||
data['database_rss_light_file'] = database_rss_light_file
|
||||
@@ -485,34 +484,34 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
critical.append(data['database_rss_light_file'])
|
||||
|
||||
pkglist_file = self._entropy._get_local_pkglist_file(
|
||||
repo = self._repository_id)
|
||||
self._repository_id)
|
||||
data['pkglist_file'] = pkglist_file
|
||||
if not download:
|
||||
critical.append(data['pkglist_file'])
|
||||
|
||||
critical_updates_file = self._entropy._get_local_critical_updates_file(
|
||||
repo = self._repository_id)
|
||||
self._repository_id)
|
||||
if os.path.isfile(critical_updates_file) or download:
|
||||
if download:
|
||||
data['critical_updates_file'] = critical_updates_file
|
||||
extra_text_files.append(critical_updates_file)
|
||||
|
||||
restricted_file = self._entropy._get_local_restricted_file(
|
||||
repo = self._repository_id)
|
||||
self._repository_id)
|
||||
if os.path.isfile(restricted_file) or download:
|
||||
if download:
|
||||
data['restricted_file'] = restricted_file
|
||||
extra_text_files.append(restricted_file)
|
||||
|
||||
keywords_file = self._entropy._get_local_database_keywords_file(
|
||||
repo = self._repository_id)
|
||||
keywords_file = self._entropy._get_local_repository_keywords_file(
|
||||
self._repository_id)
|
||||
if os.path.isfile(keywords_file) or download:
|
||||
if download:
|
||||
data['keywords_file'] = keywords_file
|
||||
extra_text_files.append(keywords_file)
|
||||
|
||||
gpg_file = self._entropy._get_local_database_gpg_signature_file(
|
||||
repo = self._repository_id)
|
||||
gpg_file = self._entropy._get_local_repository_gpg_signature_file(
|
||||
self._repository_id)
|
||||
if os.path.isfile(gpg_file) or download:
|
||||
data['gpg_file'] = gpg_file
|
||||
# no need to add to extra_text_files, it will be added
|
||||
@@ -524,8 +523,7 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
|
||||
# upload eapi3 signal file
|
||||
something_new = os.path.join(
|
||||
self._entropy._get_local_database_dir(
|
||||
repo = self._repository_id),
|
||||
self._entropy._get_local_repository_dir(self._repository_id),
|
||||
etpConst['etpdatabaseeapi3updates'])
|
||||
with open(something_new, "w") as sn_f:
|
||||
sn_f.flush()
|
||||
@@ -534,24 +532,22 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
|
||||
# always push metafiles file, it's cheap
|
||||
data['metafiles_path'] = \
|
||||
self._entropy._get_local_database_compressed_metafiles_file(
|
||||
repo = self._repository_id)
|
||||
self._entropy._get_local_repository_compressed_metafiles_file(
|
||||
self._repository_id)
|
||||
critical.append(data['metafiles_path'])
|
||||
gpg_signed_files.append(data['metafiles_path'])
|
||||
|
||||
if 2 not in disabled_eapis:
|
||||
|
||||
data['dump_path_light'] = os.path.join(
|
||||
self._entropy._get_local_database_dir(
|
||||
repo = self._repository_id),
|
||||
etpConst[cmethod[5]])
|
||||
self._entropy._get_local_repository_dir(
|
||||
self._repository_id), etpConst[cmethod[5]])
|
||||
critical.append(data['dump_path_light'])
|
||||
gpg_signed_files.append(data['dump_path_light'])
|
||||
|
||||
data['dump_path_digest_light'] = os.path.join(
|
||||
self._entropy._get_local_database_dir(
|
||||
repo = self._repository_id),
|
||||
etpConst[cmethod[6]])
|
||||
self._entropy._get_local_repository_dir(
|
||||
self._repository_id), etpConst[cmethod[6]])
|
||||
critical.append(data['dump_path_digest_light'])
|
||||
gpg_signed_files.append(data['dump_path_digest_light'])
|
||||
|
||||
@@ -559,38 +555,33 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
if 1 not in disabled_eapis:
|
||||
|
||||
data['compressed_database_path'] = os.path.join(
|
||||
self._entropy._get_local_database_dir(
|
||||
repo = self._repository_id),
|
||||
self._entropy._get_local_repository_dir(self._repository_id),
|
||||
etpConst[cmethod[2]])
|
||||
critical.append(data['compressed_database_path'])
|
||||
gpg_signed_files.append(data['compressed_database_path'])
|
||||
|
||||
data['compressed_database_path_light'] = os.path.join(
|
||||
self._entropy._get_local_database_dir(
|
||||
repo = self._repository_id),
|
||||
self._entropy._get_local_repository_dir(self._repository_id),
|
||||
etpConst[cmethod[7]])
|
||||
critical.append(data['compressed_database_path_light'])
|
||||
gpg_signed_files.append(data['compressed_database_path_light'])
|
||||
|
||||
data['database_path_digest'] = os.path.join(
|
||||
self._entropy._get_local_database_dir(
|
||||
repo = self._repository_id),
|
||||
self._entropy._get_local_repository_dir(self._repository_id),
|
||||
etpConst['etpdatabasehashfile']
|
||||
)
|
||||
critical.append(data['database_path_digest'])
|
||||
gpg_signed_files.append(data['database_path_digest'])
|
||||
|
||||
data['compressed_database_path_digest'] = os.path.join(
|
||||
self._entropy._get_local_database_dir(
|
||||
repo = self._repository_id),
|
||||
self._entropy._get_local_repository_dir(self._repository_id),
|
||||
etpConst[cmethod[2]] + etpConst['packagesmd5fileext']
|
||||
)
|
||||
critical.append(data['compressed_database_path_digest'])
|
||||
gpg_signed_files.append(data['compressed_database_path_digest'])
|
||||
|
||||
data['compressed_database_path_digest_light'] = os.path.join(
|
||||
self._entropy._get_local_database_dir(
|
||||
repo = self._repository_id),
|
||||
self._entropy._get_local_repository_dir(self._repository_id),
|
||||
etpConst[cmethod[8]]
|
||||
)
|
||||
critical.append(data['compressed_database_path_digest_light'])
|
||||
@@ -599,15 +590,15 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
|
||||
|
||||
# SSL cert file, just for reference
|
||||
ssl_ca_cert = self._entropy._get_local_database_ca_cert_file(
|
||||
repo = self._repository_id)
|
||||
ssl_ca_cert = self._entropy._get_local_repository_ca_cert_file(
|
||||
self._repository_id)
|
||||
if os.path.isfile(ssl_ca_cert):
|
||||
if download:
|
||||
data['ssl_ca_cert_file'] = ssl_ca_cert
|
||||
extra_text_files.append(ssl_ca_cert)
|
||||
|
||||
ssl_server_cert = self._entropy._get_local_database_server_cert_file(
|
||||
repo = self._repository_id)
|
||||
ssl_server_cert = self._entropy._get_local_repository_server_cert_file(
|
||||
self._repository_id)
|
||||
if os.path.isfile(ssl_server_cert):
|
||||
if download:
|
||||
data['ssl_server_cert_file'] = ssl_server_cert
|
||||
@@ -665,11 +656,10 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
raise AttributeError("wrong repository compression method")
|
||||
|
||||
crippled_uri = EntropyTransceiver.get_uri_name(uri)
|
||||
database_path = self._entropy._get_local_database_file(
|
||||
repo = self._repository_id)
|
||||
database_path = self._entropy._get_local_repository_file(
|
||||
self._repository_id)
|
||||
database_dir_path = os.path.dirname(
|
||||
self._entropy._get_local_database_file(
|
||||
repo = self._repository_id))
|
||||
self._entropy._get_local_repository_file(self._repository_id))
|
||||
|
||||
download_data, critical, text_files, tmp_dirs, \
|
||||
gpg_to_verify_files = self._get_files_to_sync(cmethod,
|
||||
@@ -783,13 +773,13 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
def _update_rss_feed(self):
|
||||
|
||||
product = self._settings['repositories']['product']
|
||||
rss_path = self._entropy._get_local_database_rss_file(
|
||||
repo = self._repository_id)
|
||||
rss_light_path = self._entropy._get_local_database_rsslight_file(
|
||||
repo = self._repository_id)
|
||||
rss_path = self._entropy._get_local_repository_rss_file(
|
||||
self._repository_id)
|
||||
rss_light_path = self._entropy._get_local_repository_rsslight_file(
|
||||
self._repository_id)
|
||||
rss_dump_name = self._repository_id + etpConst['rss-dump-name']
|
||||
db_revision_path = self._entropy._get_local_database_revision_file(
|
||||
repo = self._repository_id)
|
||||
db_revision_path = self._entropy._get_local_repository_revision_file(
|
||||
self._repository_id)
|
||||
|
||||
rss_title = "%s Online Repository Status" % (
|
||||
self._settings['system']['name'],)
|
||||
@@ -866,7 +856,7 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
Update the repository timestamp file.
|
||||
"""
|
||||
from datetime import datetime
|
||||
ts_file = self._entropy._get_local_database_timestamp_file(
|
||||
ts_file = self._entropy._get_local_repository_timestamp_file(
|
||||
self._repository_id)
|
||||
current_ts = "%s" % (datetime.fromtimestamp(time.time()),)
|
||||
with open(ts_file, "w") as ts_f:
|
||||
@@ -878,7 +868,7 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
Create the repository packages list file.
|
||||
"""
|
||||
pkglist_file = self._entropy._get_local_pkglist_file(
|
||||
repo = self._repository_id)
|
||||
self._repository_id)
|
||||
|
||||
tmp_pkglist_file = pkglist_file + ".tmp"
|
||||
dbconn = self._entropy.open_server_repository(
|
||||
@@ -1172,12 +1162,12 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
found_file_list.append(gpg_path)
|
||||
else:
|
||||
gpg_path = \
|
||||
self._entropy._get_local_database_gpg_signature_file(
|
||||
self._entropy._get_local_repository_gpg_signature_file(
|
||||
self._repository_id)
|
||||
not_found_file_list.append(gpg_path) # not found
|
||||
|
||||
metafile_not_found_file = \
|
||||
self._entropy._get_local_database_metafiles_not_found_file(
|
||||
self._entropy._get_local_repository_metafiles_not_found_file(
|
||||
self._repository_id)
|
||||
with open(metafile_not_found_file, "w") as f_meta:
|
||||
f_meta.writelines(not_found_file_list)
|
||||
@@ -1208,7 +1198,7 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
cmethod = etpConst['etpdatabasecompressclasses'].get(db_format)
|
||||
if cmethod is None:
|
||||
raise AttributeError("wrong repository compression method passed")
|
||||
database_path = self._entropy._get_local_database_file(
|
||||
database_path = self._entropy._get_local_repository_file(
|
||||
self._repository_id)
|
||||
|
||||
if disabled_eapis:
|
||||
@@ -1255,7 +1245,7 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
# now we can safely copy it
|
||||
|
||||
# backup current database to avoid re-indexing
|
||||
old_dbpath = self._entropy._get_local_database_file(self._repository_id)
|
||||
old_dbpath = self._entropy._get_local_repository_file(self._repository_id)
|
||||
backup_dbpath = old_dbpath + ".up_backup"
|
||||
try:
|
||||
if os.access(backup_dbpath, os.R_OK) and \
|
||||
@@ -1274,7 +1264,7 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
upload_data, cmethod)
|
||||
|
||||
# create compressed dump + checksum
|
||||
eapi2_dbfile = self._entropy._get_local_database_file(
|
||||
eapi2_dbfile = self._entropy._get_local_repository_file(
|
||||
self._repository_id)
|
||||
temp_eapi2_dbfile = eapi2_dbfile+".light_eapi2.tmp"
|
||||
shutil.copy2(eapi2_dbfile, temp_eapi2_dbfile)
|
||||
@@ -1317,7 +1307,7 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
upload_data['compressed_database_path_digest'])
|
||||
|
||||
# create light version of the compressed db
|
||||
eapi1_dbfile = self._entropy._get_local_database_file(
|
||||
eapi1_dbfile = self._entropy._get_local_repository_file(
|
||||
self._repository_id)
|
||||
temp_eapi1_dbfile = eapi1_dbfile+".light"
|
||||
shutil.copy2(eapi1_dbfile, temp_eapi1_dbfile)
|
||||
@@ -1422,8 +1412,8 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
|
||||
if not mirrors_locked and db_locked:
|
||||
# mirrors not locked remotely but only locally
|
||||
mylock_file = self._entropy._get_database_lockfile(
|
||||
repo = self._repository_id)
|
||||
mylock_file = self._entropy._get_repository_lockfile(
|
||||
self._repository_id)
|
||||
|
||||
if os.access(mylock_file, os.W_OK) and \
|
||||
os.path.isfile(mylock_file):
|
||||
@@ -1453,7 +1443,7 @@ class ServerPackagesRepositoryUpdater(object):
|
||||
if download_latest:
|
||||
# close all the currently open repos
|
||||
self._entropy.close_repositories()
|
||||
download_uri = download_latest.pop(0)
|
||||
download_uri = download_latest[0]
|
||||
error = self._download(download_uri)
|
||||
if error:
|
||||
self._entropy.output(
|
||||
|
||||
@@ -93,7 +93,7 @@ class ServerEntropyRepositoryPlugin(EntropyRepositoryPlugin):
|
||||
|
||||
repo = entropy_repository_instance.name
|
||||
local_dbfile = self._metadata['local_dbfile']
|
||||
taint_file = self._server._get_local_database_taint_file(repo)
|
||||
taint_file = self._server._get_local_repository_taint_file(repo)
|
||||
if os.path.isfile(taint_file):
|
||||
dbs = ServerRepositoryStatus()
|
||||
dbs.set_tainted(local_dbfile)
|
||||
@@ -168,7 +168,7 @@ class ServerEntropyRepositoryPlugin(EntropyRepositoryPlugin):
|
||||
return 0
|
||||
|
||||
# taint the database status
|
||||
taint_file = self._server._get_local_database_taint_file(repo = repo)
|
||||
taint_file = self._server._get_local_repository_taint_file(repo)
|
||||
f = open(taint_file, "w")
|
||||
f.write(etpConst['currentarch']+" repository tainted\n")
|
||||
f.flush()
|
||||
@@ -184,8 +184,8 @@ class ServerEntropyRepositoryPlugin(EntropyRepositoryPlugin):
|
||||
Entropy repository revision bumping function. Every time it's called,
|
||||
revision is incremented by 1.
|
||||
"""
|
||||
revision_file = self._server._get_local_database_revision_file(
|
||||
repo = repo)
|
||||
revision_file = self._server._get_local_repository_revision_file(
|
||||
repo)
|
||||
if not os.path.isfile(revision_file):
|
||||
revision = 1
|
||||
else:
|
||||
@@ -868,7 +868,7 @@ class ServerFatscopeSystemSettingsPlugin(SystemSettingsPlugin):
|
||||
|
||||
idpackages = set()
|
||||
exp_fp = self._helper._get_local_exp_based_pkgs_rm_whitelist_file(
|
||||
repo = repoid)
|
||||
repoid)
|
||||
dbconn = self._helper.open_server_repository(
|
||||
just_reading = True, repo = repoid)
|
||||
|
||||
@@ -912,8 +912,7 @@ class ServerFakeClientSystemSettingsPlugin(SystemSettingsPlugin):
|
||||
"repository = %s|%s|http://--fake--|http://--fake--" % (
|
||||
repoid, repo_data['description'],))
|
||||
my_data['repoid'] = repoid
|
||||
my_data['dbpath'] = self._helper._get_local_database_dir(
|
||||
repo = repoid)
|
||||
my_data['dbpath'] = self._helper._get_local_repository_dir(repoid)
|
||||
my_data['dbrevision'] = self._helper.local_repository_revision(
|
||||
repoid)
|
||||
cli_repodata['available'][repoid] = my_data
|
||||
@@ -1005,7 +1004,7 @@ class ServerSettingsMixin:
|
||||
return db_download_uri.replace("/%s/" % (cur_branch,),
|
||||
"/%s/" % (new_branch,))
|
||||
|
||||
def _get_basedir_pkg_listing(self, base_dir, repo = None, branch = None):
|
||||
def _get_basedir_pkg_listing(self, base_dir, branch = None):
|
||||
|
||||
pkgs_dir_types = self._get_pkg_dir_names()
|
||||
basedir_raw_content = []
|
||||
@@ -1029,302 +1028,215 @@ class ServerSettingsMixin:
|
||||
etpConst['packagesrelativepath_basedir_nonfree'],
|
||||
etpConst['packagesrelativepath_basedir_restricted']]
|
||||
|
||||
def _get_remote_database_relative_path(self, repo = None):
|
||||
def _get_remote_repository_relative_path(self, repository_id):
|
||||
srv_set = self._settings[Server.SYSTEM_SETTINGS_PLG_ID]['server']
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return srv_set['repositories'][repo]['database_relative_path']
|
||||
return srv_set['repositories'][repository_id]['database_relative_path']
|
||||
|
||||
def _get_local_database_file(self, repo = None, branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etpdatabasefile'])
|
||||
def _get_local_repository_file(self, repository_id, branch = None):
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['etpdatabasefile'])
|
||||
|
||||
def _get_local_store_directory(self, repo = None):
|
||||
def _get_local_store_directory(self, repository_id):
|
||||
srv_set = self._settings[Server.SYSTEM_SETTINGS_PLG_ID]['server']
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return srv_set['repositories'][repo]['store_dir']
|
||||
return srv_set['repositories'][repository_id]['store_dir']
|
||||
|
||||
def _get_local_upload_directory(self, repo = None):
|
||||
def _get_local_upload_directory(self, repository_id):
|
||||
srv_set = self._settings[Server.SYSTEM_SETTINGS_PLG_ID]['server']
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return srv_set['repositories'][repo]['upload_basedir']
|
||||
return srv_set['repositories'][repository_id]['upload_basedir']
|
||||
|
||||
def _get_local_repository_base_directory(self, repo = None):
|
||||
def _get_local_repository_base_directory(self, repository_id):
|
||||
srv_set = self._settings[Server.SYSTEM_SETTINGS_PLG_ID]['server']
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return srv_set['repositories'][repo]['repo_basedir']
|
||||
return srv_set['repositories'][repository_id]['repo_basedir']
|
||||
|
||||
def _get_local_database_taint_file(self, repo = None, branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etpdatabasetaintfile'])
|
||||
def _get_local_repository_taint_file(self, repository_id, branch = None):
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['etpdatabasetaintfile'])
|
||||
|
||||
def _get_local_database_revision_file(self, repo = None, branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etpdatabaserevisionfile'])
|
||||
def _get_local_repository_revision_file(self, repository_id, branch = None):
|
||||
return os.path.join(
|
||||
self._get_local_repository_dir(repository_id, branch = branch),
|
||||
etpConst['etpdatabaserevisionfile'])
|
||||
|
||||
def _get_local_database_timestamp_file(self, repo = None, branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etpdatabasetimestampfile'])
|
||||
|
||||
def _get_local_database_ca_cert_file(self, repo = None, branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etpdatabasecacertfile'])
|
||||
|
||||
def _get_local_database_server_cert_file(self, repo = None, branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etpdatabaseservercertfile'])
|
||||
|
||||
def _get_local_database_mask_file(self, repo = None, branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etpdatabasemaskfile'])
|
||||
|
||||
def _get_local_database_system_mask_file(self, repo = None, branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etpdatabasesytemmaskfile'])
|
||||
|
||||
def _get_local_database_confl_tagged_file(self, repo = None, branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etpdatabaseconflictingtaggedfile'])
|
||||
|
||||
def _get_local_database_licensewhitelist_file(self, repo = None,
|
||||
def _get_local_repository_timestamp_file(self, repository_id,
|
||||
branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etpdatabaselicwhitelistfile'])
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['etpdatabasetimestampfile'])
|
||||
|
||||
def _get_local_database_mirrors_file(self, repo = None,
|
||||
def _get_local_repository_ca_cert_file(self, repository_id, branch = None):
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['etpdatabasecacertfile'])
|
||||
|
||||
def _get_local_repository_server_cert_file(self, repository_id,
|
||||
branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etpdatabasemirrorsfile'])
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['etpdatabaseservercertfile'])
|
||||
|
||||
def _get_local_database_fallback_mirrors_file(self, repo = None,
|
||||
def _get_local_repository_mask_file(self, repository_id, branch = None):
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['etpdatabasemaskfile'])
|
||||
|
||||
def _get_local_repository_system_mask_file(self, repository_id,
|
||||
branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etpdatabasefallbackmirrorsfile'])
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['etpdatabasesytemmaskfile'])
|
||||
|
||||
def _get_local_database_dep_rewrite_file(self, repo = None, branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etpdatabasedeprewritefile'])
|
||||
def _get_local_repository_confl_tagged_file(self, repository_id,
|
||||
branch = None):
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['etpdatabaseconflictingtaggedfile'])
|
||||
|
||||
def _get_local_database_dep_blacklist_file(self, repo = None, branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etpdatabasedepblacklistfile'])
|
||||
def _get_local_repository_licensewhitelist_file(self, repository_id,
|
||||
branch = None):
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['etpdatabaselicwhitelistfile'])
|
||||
|
||||
def _get_local_database_rss_file(self, repo = None, branch = None):
|
||||
def _get_local_repository_mirrors_file(self, repository_id, branch = None):
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['etpdatabasemirrorsfile'])
|
||||
|
||||
def _get_local_repository_fallback_mirrors_file(self, repository_id,
|
||||
branch = None):
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['etpdatabasefallbackmirrorsfile'])
|
||||
|
||||
def _get_local_repository_rss_file(self, repository_id, branch = None):
|
||||
srv_set = self._settings[Server.SYSTEM_SETTINGS_PLG_ID]['server']
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
srv_set['rss']['name'])
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), srv_set['rss']['name'])
|
||||
|
||||
def _get_local_database_rsslight_file(self, repo = None, branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['rss-light-name'])
|
||||
def _get_local_repository_rsslight_file(self, repository_id, branch = None):
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['rss-light-name'])
|
||||
|
||||
def _get_local_database_notice_board_file(self, repo = None, branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['rss-notice-board'])
|
||||
|
||||
def _get_local_database_treeupdates_file(self, repo = None, branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etpdatabaseupdatefile'])
|
||||
|
||||
def _get_local_database_compressed_metafiles_file(self, repo = None,
|
||||
def _get_local_repository_notice_board_file(self, repository_id,
|
||||
branch = None):
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['rss-notice-board'])
|
||||
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etpdatabasemetafilesfile'])
|
||||
|
||||
def _get_local_database_metafiles_not_found_file(self, repo = None,
|
||||
def _get_local_repository_treeupdates_file(self, repository_id,
|
||||
branch = None):
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['etpdatabaseupdatefile'])
|
||||
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etpdatabasemetafilesnotfound'])
|
||||
|
||||
def _get_local_database_gpg_signature_file(self, repo = None, branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etpdatabasegpgfile'])
|
||||
|
||||
def _get_local_exp_based_pkgs_rm_whitelist_file(self, repo = None,
|
||||
def _get_local_repository_compressed_metafiles_file(self, repository_id,
|
||||
branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etpdatabaseexpbasedpkgsrm'])
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['etpdatabasemetafilesfile'])
|
||||
|
||||
def _get_local_pkglist_file(self, repo = None, branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etpdatabasepkglist'])
|
||||
def _get_local_repository_metafiles_not_found_file(self, repository_id,
|
||||
branch = None):
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['etpdatabasemetafilesnotfound'])
|
||||
|
||||
def _get_local_database_sets_dir(self, repo = None, branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['confsetsdirname'])
|
||||
def _get_local_repository_gpg_signature_file(self, repository_id,
|
||||
branch = None):
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['etpdatabasegpgfile'])
|
||||
|
||||
def _get_local_post_branch_mig_script(self, repo = None, branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etp_post_branch_hop_script'])
|
||||
def _get_local_exp_based_pkgs_rm_whitelist_file(self, repository_id,
|
||||
branch = None):
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['etpdatabaseexpbasedpkgsrm'])
|
||||
|
||||
def _get_local_post_branch_upg_script(self, repo = None, branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etp_post_branch_upgrade_script'])
|
||||
def _get_local_pkglist_file(self, repository_id, branch = None):
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['etpdatabasepkglist'])
|
||||
|
||||
def _get_local_post_repo_update_script(self, repo = None, branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etp_post_repo_update_script'])
|
||||
def _get_local_database_sets_dir(self, repository_id, branch = None):
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['confsetsdirname'])
|
||||
|
||||
def _get_local_critical_updates_file(self, repo = None, branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etpdatabasecriticalfile'])
|
||||
def _get_local_post_branch_mig_script(self, repository_id, branch = None):
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['etp_post_branch_hop_script'])
|
||||
|
||||
def _get_local_restricted_file(self, repo = None, branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etpdatabaserestrictedfile'])
|
||||
def _get_local_post_branch_upg_script(self, repository_id, branch = None):
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['etp_post_branch_upgrade_script'])
|
||||
|
||||
def _get_local_database_keywords_file(self, repo = None, branch = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo, branch),
|
||||
etpConst['etpdatabasekeywordsfile'])
|
||||
def _get_local_post_repo_update_script(self, repository_id, branch = None):
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['etp_post_repo_update_script'])
|
||||
|
||||
def _get_local_database_dir(self, repo = None, branch = None):
|
||||
def _get_local_critical_updates_file(self, repository_id, branch = None):
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['etpdatabasecriticalfile'])
|
||||
|
||||
def _get_local_restricted_file(self, repository_id, branch = None):
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['etpdatabaserestrictedfile'])
|
||||
|
||||
def _get_local_repository_keywords_file(self, repository_id, branch = None):
|
||||
return os.path.join(self._get_local_repository_dir(repository_id,
|
||||
branch = branch), etpConst['etpdatabasekeywordsfile'])
|
||||
|
||||
def _get_local_repository_dir(self, repository_id, branch = None):
|
||||
srv_set = self._settings[Server.SYSTEM_SETTINGS_PLG_ID]['server']
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
if branch is None:
|
||||
branch = self._settings['repositories']['branch']
|
||||
return os.path.join(srv_set['repositories'][repo]['database_dir'],
|
||||
branch)
|
||||
return os.path.join(
|
||||
srv_set['repositories'][repository_id]['database_dir'], branch)
|
||||
|
||||
def _get_missing_dependencies_blacklist_file(self, repo = None,
|
||||
def _get_missing_dependencies_blacklist_file(self, repository_id,
|
||||
branch = None):
|
||||
srv_set = self._settings[Server.SYSTEM_SETTINGS_PLG_ID]['server']
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
if branch is None:
|
||||
branch = self._settings['repositories']['branch']
|
||||
return os.path.join(srv_set['repositories'][repo]['database_dir'],
|
||||
branch, etpConst['etpdatabasemissingdepsblfile'])
|
||||
return os.path.join(
|
||||
srv_set['repositories'][repository_id]['database_dir'],
|
||||
branch, etpConst['etpdatabasemissingdepsblfile'])
|
||||
|
||||
def _get_database_lockfile(self, repo = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo),
|
||||
def _get_repository_lockfile(self, repository_id):
|
||||
return os.path.join(self._get_local_repository_dir(repository_id),
|
||||
etpConst['etpdatabaselockfile'])
|
||||
|
||||
def _get_database_download_lockfile(self, repo = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(self._get_local_database_dir(repo),
|
||||
def _get_repository_download_lockfile(self, repository_id):
|
||||
return os.path.join(self._get_local_repository_dir(repository_id),
|
||||
etpConst['etpdatabasedownloadlockfile'])
|
||||
|
||||
def _create_local_database_download_lockfile(self, repo = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
lock_file = self._get_database_download_lockfile(repo)
|
||||
f_lock = open(lock_file, "w")
|
||||
f_lock.write("download locked")
|
||||
f_lock.flush()
|
||||
f_lock.close()
|
||||
def _create_local_repository_download_lockfile(self, repository_id):
|
||||
lock_file = self._get_repository_download_lockfile(repository_id)
|
||||
with open(lock_file, "w") as f_lock:
|
||||
f_lock.write("download locked")
|
||||
f_lock.flush()
|
||||
|
||||
def _create_local_database_lockfile(self, repo = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
lock_file = self._get_database_lockfile(repo)
|
||||
f_lock = open(lock_file, "w")
|
||||
f_lock.write("database locked")
|
||||
f_lock.flush()
|
||||
f_lock.close()
|
||||
def _create_local_repository_lockfile(self, repository_id):
|
||||
lock_file = self._get_repository_lockfile(repository_id)
|
||||
with open(lock_file, "w") as f_lock:
|
||||
f_lock.write("database locked")
|
||||
f_lock.flush()
|
||||
|
||||
def _remove_local_database_lockfile(self, repo = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
lock_file = self._get_database_lockfile(repo)
|
||||
if os.path.isfile(lock_file):
|
||||
def _remove_local_repository_lockfile(self, repository_id):
|
||||
lock_file = self._get_repository_lockfile(repository_id)
|
||||
try:
|
||||
os.remove(lock_file)
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
def _remove_local_database_download_lockfile(self, repo = None):
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
lock_file = self._get_database_download_lockfile(repo)
|
||||
if os.path.isfile(lock_file):
|
||||
def _remove_local_repository_download_lockfile(self, repository_id):
|
||||
lock_file = self._get_repository_download_lockfile(repository_id)
|
||||
try:
|
||||
os.remove(lock_file)
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
def complete_remote_package_relative_path(self, pkg_rel_url, repo = None):
|
||||
def complete_remote_package_relative_path(self, pkg_rel_url, repository_id):
|
||||
srv_set = self._settings[Server.SYSTEM_SETTINGS_PLG_ID]['server']
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(
|
||||
srv_set['repositories'][repo]['remote_repo_basedir'], pkg_rel_url)
|
||||
srv_set['repositories'][repository_id]['remote_repo_basedir'],
|
||||
pkg_rel_url)
|
||||
|
||||
def complete_local_upload_package_path(self, pkg_rel_url, repo = None):
|
||||
def complete_local_upload_package_path(self, pkg_rel_url, repository_id):
|
||||
srv_set = self._settings[Server.SYSTEM_SETTINGS_PLG_ID]['server']
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(srv_set['repositories'][repo]['upload_basedir'],
|
||||
pkg_rel_url)
|
||||
return os.path.join(
|
||||
srv_set['repositories'][repository_id]['upload_basedir'],
|
||||
pkg_rel_url)
|
||||
|
||||
def complete_local_package_path(self, pkg_rel_url, repo = None):
|
||||
def complete_local_package_path(self, pkg_rel_url, repository_id):
|
||||
srv_set = self._settings[Server.SYSTEM_SETTINGS_PLG_ID]['server']
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
return os.path.join(srv_set['repositories'][repo]['repo_basedir'],
|
||||
pkg_rel_url)
|
||||
return os.path.join(
|
||||
srv_set['repositories'][repository_id]['repo_basedir'],
|
||||
pkg_rel_url)
|
||||
|
||||
def remote_repository_mirrors(self, repository_id):
|
||||
"""
|
||||
@@ -1363,7 +1275,7 @@ class ServerSettingsMixin:
|
||||
@return: the actual repository revision
|
||||
@rtype: int
|
||||
"""
|
||||
dbrev_file = self._get_local_database_revision_file(repository_id)
|
||||
dbrev_file = self._get_local_repository_revision_file(repository_id)
|
||||
if not os.path.isfile(dbrev_file):
|
||||
return 0
|
||||
|
||||
@@ -1513,7 +1425,7 @@ class ServerPackageDepsMixin:
|
||||
@return: mask status, True if ok, False if not
|
||||
@rtype: bool
|
||||
"""
|
||||
mask_file = self._get_local_database_mask_file(repo = repo)
|
||||
mask_file = self._get_local_repository_mask_file(repo)
|
||||
current_packages = []
|
||||
|
||||
if os.path.isfile(mask_file) and os.access(mask_file, os.R_OK):
|
||||
@@ -1544,7 +1456,7 @@ class ServerPackageDepsMixin:
|
||||
@return: mask status, True if ok, False if not
|
||||
@rtype: bool
|
||||
"""
|
||||
mask_file = self._get_local_database_mask_file(repo = repo)
|
||||
mask_file = self._get_local_repository_mask_file(repo)
|
||||
current_packages = []
|
||||
|
||||
if os.path.isfile(mask_file) and os.access(mask_file, os.R_OK):
|
||||
@@ -1593,7 +1505,7 @@ class ServerPackagesHandlingMixin:
|
||||
back = True
|
||||
)
|
||||
|
||||
if os.path.isfile(self._get_local_database_file(repo)):
|
||||
if os.path.isfile(self._get_local_repository_file(repo)):
|
||||
|
||||
# test out
|
||||
if show_warnings:
|
||||
@@ -1604,7 +1516,7 @@ class ServerPackagesHandlingMixin:
|
||||
mytxt = "%s: %s: %s" % (
|
||||
bold(_("WARNING")),
|
||||
red(_("repository already exists")),
|
||||
self._get_local_database_file(repo),
|
||||
self._get_local_repository_file(repo),
|
||||
)
|
||||
self.output(
|
||||
mytxt,
|
||||
@@ -1617,7 +1529,7 @@ class ServerPackagesHandlingMixin:
|
||||
if rc_question == _("No"):
|
||||
return
|
||||
|
||||
os.remove(self._get_local_database_file(repo))
|
||||
os.remove(self._get_local_repository_file(repo))
|
||||
|
||||
# initialize
|
||||
dbconn = self.open_server_repository(read_only = False,
|
||||
@@ -1805,7 +1717,7 @@ class ServerPackagesHandlingMixin:
|
||||
for pkg_fp, idpackage in download_queue[from_branch]:
|
||||
down_url = dbconn.retrieveDownloadURL(idpackage)
|
||||
down_rel = self.complete_remote_package_relative_path(
|
||||
down_url, repo = repo)
|
||||
down_url, repo)
|
||||
down_rel_dir = os.path.dirname(down_rel)
|
||||
obj = queue_map.setdefault(down_rel_dir, [])
|
||||
obj.append(pkg_fp)
|
||||
@@ -1963,7 +1875,7 @@ class ServerPackagesHandlingMixin:
|
||||
|
||||
# move files to upload
|
||||
new_package_path = self.complete_local_upload_package_path(
|
||||
download_url, repo = repo)
|
||||
download_url, repo)
|
||||
self._ensure_dir_path(os.path.dirname(new_package_path))
|
||||
|
||||
try:
|
||||
@@ -2179,10 +2091,10 @@ class ServerPackagesHandlingMixin:
|
||||
)
|
||||
# move binary file
|
||||
from_file = self.complete_local_package_path(package_rel_path,
|
||||
repo = repo)
|
||||
repo)
|
||||
if not os.path.isfile(from_file):
|
||||
from_file = self.complete_local_upload_package_path(
|
||||
package_rel_path, repo = repo)
|
||||
package_rel_path, repo)
|
||||
if not os.path.isfile(from_file):
|
||||
self.output(
|
||||
"[%s=>%s|%s] %s: %s -> %s" % (
|
||||
@@ -2229,7 +2141,7 @@ class ServerPackagesHandlingMixin:
|
||||
del tmp_data
|
||||
|
||||
to_file = self.complete_local_upload_package_path(
|
||||
updated_package_rel_path, repo = to_repo)
|
||||
updated_package_rel_path, to_repo)
|
||||
|
||||
if new_tag != None:
|
||||
|
||||
@@ -2241,7 +2153,7 @@ class ServerPackagesHandlingMixin:
|
||||
match_category, match_name, match_version, new_tag)
|
||||
|
||||
to_file = self.complete_local_upload_package_path(
|
||||
updated_package_rel_path, repo = to_repo)
|
||||
updated_package_rel_path, to_repo)
|
||||
# directly move to correct place, tag changed, so file name
|
||||
to_file = os.path.join(os.path.dirname(to_file),
|
||||
tagged_package_filename)
|
||||
@@ -2588,7 +2500,7 @@ class ServerPackagesHandlingMixin:
|
||||
currentcounter += 1
|
||||
pkgfile = dbconn.retrieveDownloadURL(idpackage)
|
||||
pkgfile = self.complete_remote_package_relative_path(
|
||||
pkgfile, repo = repo)
|
||||
pkgfile, repo)
|
||||
pkghash = dbconn.retrieveDigest(idpackage)
|
||||
|
||||
self.output(
|
||||
@@ -3212,15 +3124,16 @@ class ServerPackagesHandlingMixin:
|
||||
level = "info",
|
||||
header = darkgreen(" @@ ")
|
||||
)
|
||||
branch_dbdir = self._get_local_database_dir(repo)
|
||||
old_branch_dbdir = self._get_local_database_dir(repo, from_branch)
|
||||
branch_dbdir = self._get_local_repository_dir(repo)
|
||||
old_branch_dbdir = self._get_local_repository_dir(repo,
|
||||
branch = from_branch)
|
||||
|
||||
# close all our databases
|
||||
self.close_repositories()
|
||||
|
||||
# if database file did not exist got created as an empty file
|
||||
# we can just rm -rf it
|
||||
branch_dbfile = self._get_local_database_file(repo)
|
||||
branch_dbfile = self._get_local_repository_file(repo)
|
||||
if os.path.isfile(branch_dbfile):
|
||||
if entropy.tools.get_file_size(branch_dbfile) == 0:
|
||||
shutil.rmtree(branch_dbdir, True)
|
||||
@@ -3727,7 +3640,7 @@ class ServerRepositoryMixin:
|
||||
)
|
||||
else:
|
||||
# move empty database for security sake
|
||||
dbfile = self._get_local_database_file(repoid)
|
||||
dbfile = self._get_local_repository_file(repoid)
|
||||
if os.path.isfile(dbfile):
|
||||
shutil.move(dbfile, dbfile+".backup")
|
||||
self.initialize_server_repository(repo = repoid,
|
||||
@@ -3829,7 +3742,7 @@ class ServerRepositoryMixin:
|
||||
repo = self.default_repository
|
||||
|
||||
# check if the database is locked locally
|
||||
lock_file = self._get_database_lockfile(repo)
|
||||
lock_file = self._get_repository_lockfile(repo)
|
||||
if os.path.isfile(lock_file):
|
||||
self.output(
|
||||
red(_("Entropy repository is already locked by you :-)")),
|
||||
@@ -4018,7 +3931,7 @@ class ServerRepositoryMixin:
|
||||
read_only = True
|
||||
no_upload = True
|
||||
|
||||
local_dbfile = self._get_local_database_file(repo, use_branch)
|
||||
local_dbfile = self._get_local_repository_file(repo, branch = use_branch)
|
||||
if do_cache:
|
||||
cached = self._server_dbcache.get(
|
||||
(repo, etpConst['systemroot'], local_dbfile, read_only,
|
||||
@@ -4119,7 +4032,7 @@ class ServerRepositoryMixin:
|
||||
def setup_empty_repository(self, dbpath = None, repo = None):
|
||||
|
||||
if dbpath is None:
|
||||
dbpath = self._get_local_database_file(repo)
|
||||
dbpath = self._get_local_repository_file(repo)
|
||||
|
||||
dbdir = os.path.dirname(dbpath)
|
||||
if not os.path.isdir(dbdir):
|
||||
@@ -4154,7 +4067,7 @@ class ServerRepositoryMixin:
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
|
||||
wl_file = self._get_local_database_licensewhitelist_file(repo = repo)
|
||||
wl_file = self._get_local_repository_licensewhitelist_file(repo)
|
||||
if not os.path.isfile(wl_file):
|
||||
return []
|
||||
return entropy.tools.generic_file_content_parser(wl_file)
|
||||
@@ -4164,7 +4077,7 @@ class ServerRepositoryMixin:
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
|
||||
rl_file = self._get_local_restricted_file(repo = repo)
|
||||
rl_file = self._get_local_restricted_file(repo)
|
||||
if not os.path.isfile(rl_file):
|
||||
return []
|
||||
return entropy.tools.generic_file_content_parser(rl_file,
|
||||
@@ -4349,7 +4262,7 @@ class ServerRepositoryMixin:
|
||||
download_url = self._setup_repository_package_filename(dbconn,
|
||||
idpackage)
|
||||
destination_path = self.complete_local_upload_package_path(
|
||||
download_url, repo = repo)
|
||||
download_url, repo)
|
||||
destination_dir = os.path.dirname(destination_path)
|
||||
self._ensure_dir_path(destination_dir)
|
||||
|
||||
@@ -4550,8 +4463,8 @@ class ServerRepositoryMixin:
|
||||
repo = self.default_repository
|
||||
|
||||
# taint the database status
|
||||
db_file = self._get_local_database_file(repo = repo)
|
||||
taint_file = self._get_local_database_taint_file(repo = repo)
|
||||
db_file = self._get_local_repository_file(repo)
|
||||
taint_file = self._get_local_repository_taint_file(repo)
|
||||
f = open(taint_file, "w")
|
||||
f.write("repository tainted\n")
|
||||
f.flush()
|
||||
@@ -4570,7 +4483,7 @@ class ServerMiscMixin:
|
||||
|
||||
def _ensure_paths(self, repo):
|
||||
upload_dir = self._get_local_upload_directory(repo)
|
||||
db_dir = self._get_local_database_dir(repo)
|
||||
db_dir = self._get_local_repository_dir(repo)
|
||||
for mydir in [upload_dir, db_dir]:
|
||||
if (not os.path.isdir(mydir)) and (not os.path.lexists(mydir)):
|
||||
os.makedirs(mydir, 0o755)
|
||||
@@ -4584,11 +4497,11 @@ class ServerMiscMixin:
|
||||
recursion = False, uid = etpConst['uid'])
|
||||
|
||||
def _setup_services(self):
|
||||
self._setup_entropy_settings()
|
||||
self._setup_entropy_settings(self.default_repository)
|
||||
self._backup_entropy_settings()
|
||||
self.Mirrors = MirrorsServer(self, self.default_repository)
|
||||
|
||||
def _setup_entropy_settings(self, repo = None):
|
||||
def _setup_entropy_settings(self, repository_id):
|
||||
srv_set = self._settings[Server.SYSTEM_SETTINGS_PLG_ID]['server']
|
||||
backup_list = [
|
||||
'etpdatabaseclientfilepath',
|
||||
@@ -4601,7 +4514,7 @@ class ServerMiscMixin:
|
||||
# setup client database
|
||||
if not self.community_repo:
|
||||
etpConst['etpdatabaseclientfilepath'] = \
|
||||
self._get_local_database_file(repo = repo)
|
||||
self._get_local_repository_file(repository_id)
|
||||
etpConst['clientdbid'] = etpConst['serverdbid']
|
||||
const_create_working_dirs()
|
||||
|
||||
@@ -4724,7 +4637,8 @@ class ServerMiscMixin:
|
||||
repo = self.default_repository
|
||||
if branch is None:
|
||||
branch = self._settings['repositories']['branch']
|
||||
wl_file = self._get_missing_dependencies_blacklist_file(repo, branch)
|
||||
wl_file = self._get_missing_dependencies_blacklist_file(repo,
|
||||
branch = branch)
|
||||
wl_data = []
|
||||
if os.path.isfile(wl_file) and os.access(wl_file, os.R_OK):
|
||||
f_wl = open(wl_file, "r")
|
||||
@@ -4740,7 +4654,8 @@ class ServerMiscMixin:
|
||||
repo = self.default_repository
|
||||
if branch is None:
|
||||
branch = self._settings['repositories']['branch']
|
||||
wl_file = self._get_missing_dependencies_blacklist_file(repo, branch)
|
||||
wl_file = self._get_missing_dependencies_blacklist_file(repo,
|
||||
branch = branch)
|
||||
wl_dir = os.path.dirname(wl_file)
|
||||
if not (os.path.isdir(wl_dir) and os.access(wl_dir, os.W_OK)):
|
||||
return
|
||||
@@ -4757,8 +4672,7 @@ class ServerMiscMixin:
|
||||
path of package. This method does not check for path validity though.
|
||||
"""
|
||||
pkg_rel_url = dbconn.retrieveDownloadURL(idpackage)
|
||||
complete_path = self.complete_local_package_path(pkg_rel_url,
|
||||
repo = repo)
|
||||
complete_path = self.complete_local_package_path(pkg_rel_url, repo)
|
||||
return complete_path
|
||||
|
||||
def _get_upload_package_path(self, repo, dbconn, idpackage):
|
||||
@@ -4768,8 +4682,7 @@ class ServerMiscMixin:
|
||||
This method does not check for path validity though.
|
||||
"""
|
||||
pkg_path = dbconn.retrieveDownloadURL(idpackage)
|
||||
return os.path.join(self._get_local_upload_directory(repo = repo),
|
||||
pkg_path)
|
||||
return os.path.join(self._get_local_upload_directory(repo), pkg_path)
|
||||
|
||||
def scan_package_changes(self):
|
||||
|
||||
@@ -5150,7 +5063,7 @@ class ServerMiscMixin:
|
||||
if repo is None:
|
||||
repo = self.default_repository
|
||||
|
||||
sets_dir = self._get_local_database_sets_dir(repo, branch)
|
||||
sets_dir = self._get_local_database_sets_dir(repo, branch = branch)
|
||||
if not (os.path.isdir(sets_dir) and os.access(sets_dir, os.R_OK)):
|
||||
return {}
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ class ServerNoticeBoardMixin:
|
||||
if repo is None:
|
||||
repo = self._entropy.default_repository
|
||||
mirrors = self._entropy.remote_repository_mirrors(repo)
|
||||
rss_path = self._entropy._get_local_database_notice_board_file(repo)
|
||||
rss_path = self._entropy._get_local_repository_notice_board_file(repo)
|
||||
mytmpdir = tempfile.mkdtemp(prefix = "entropy.server")
|
||||
|
||||
self._entropy.output(
|
||||
@@ -84,7 +84,7 @@ class ServerNoticeBoardMixin:
|
||||
if repo is None:
|
||||
repo = self._entropy.default_repository
|
||||
mirrors = self._entropy.remote_repository_mirrors(repo)
|
||||
rss_path = self._entropy._get_local_database_notice_board_file(repo)
|
||||
rss_path = self._entropy._get_local_repository_notice_board_file(repo)
|
||||
rss_file = os.path.basename(rss_path)
|
||||
|
||||
self._entropy.output(
|
||||
@@ -139,7 +139,7 @@ class ServerNoticeBoardMixin:
|
||||
if repo is None:
|
||||
repo = self._entropy.default_repository
|
||||
mirrors = self._entropy.remote_repository_mirrors(repo)
|
||||
rss_path = self._entropy._get_local_database_notice_board_file(repo)
|
||||
rss_path = self._entropy._get_local_repository_notice_board_file(repo)
|
||||
|
||||
self._entropy.output(
|
||||
"[repo:%s] %s %s" % (
|
||||
@@ -191,7 +191,7 @@ class ServerNoticeBoardMixin:
|
||||
|
||||
rss_title = "%s Notice Board" % (self._settings['system']['name'],)
|
||||
rss_description = "Inform about important distribution activities."
|
||||
rss_path = self._entropy._get_local_database_notice_board_file(repo)
|
||||
rss_path = self._entropy._get_local_repository_notice_board_file(repo)
|
||||
srv_set = self._settings[Server.SYSTEM_SETTINGS_PLG_ID]['server']
|
||||
if not link:
|
||||
link = srv_set['rss']['website_url']
|
||||
@@ -210,7 +210,7 @@ class ServerNoticeBoardMixin:
|
||||
|
||||
def read_notice_board(self, do_download = True, repo = None):
|
||||
|
||||
rss_path = self._entropy._get_local_database_notice_board_file(repo)
|
||||
rss_path = self._entropy._get_local_repository_notice_board_file(repo)
|
||||
if do_download:
|
||||
self.download_notice_board(repo)
|
||||
if not (os.path.isfile(rss_path) and os.access(rss_path, os.R_OK)):
|
||||
@@ -220,7 +220,7 @@ class ServerNoticeBoardMixin:
|
||||
|
||||
def remove_from_notice_board(self, identifier, repo = None):
|
||||
|
||||
rss_path = self._entropy._get_local_database_notice_board_file(repo)
|
||||
rss_path = self._entropy._get_local_repository_notice_board_file(repo)
|
||||
rss_title = "%s Notice Board" % (self._settings['system']['name'],)
|
||||
rss_description = "Inform about important distribution activities."
|
||||
if not (os.path.isfile(rss_path) and os.access(rss_path, os.R_OK)):
|
||||
@@ -314,7 +314,7 @@ class Server(ServerNoticeBoardMixin):
|
||||
header = brown(" @@ ")
|
||||
)
|
||||
|
||||
branches_path = self._entropy._get_remote_database_relative_path(
|
||||
branches_path = self._entropy._get_remote_repository_relative_path(
|
||||
repo)
|
||||
txc = self._entropy.Transceiver(uri)
|
||||
txc.set_verbosity(False)
|
||||
@@ -389,7 +389,7 @@ class Server(ServerNoticeBoardMixin):
|
||||
)
|
||||
|
||||
base_path = os.path.join(
|
||||
self._entropy._get_remote_database_relative_path(repo),
|
||||
self._entropy._get_remote_repository_relative_path(repo),
|
||||
self._settings['repositories']['branch'])
|
||||
lock_file = os.path.join(base_path,
|
||||
etpConst['etpdatabaselockfile'])
|
||||
@@ -434,7 +434,7 @@ class Server(ServerNoticeBoardMixin):
|
||||
issues = True
|
||||
|
||||
if not issues:
|
||||
db_taint_file = self._entropy._get_local_database_taint_file(repo)
|
||||
db_taint_file = self._entropy._get_local_repository_taint_file(repo)
|
||||
if os.path.isfile(db_taint_file):
|
||||
os.remove(db_taint_file)
|
||||
|
||||
@@ -481,7 +481,7 @@ class Server(ServerNoticeBoardMixin):
|
||||
|
||||
lock_file = etpConst['etpdatabasedownloadlockfile']
|
||||
my_path = os.path.join(
|
||||
self._entropy._get_remote_database_relative_path(repo),
|
||||
self._entropy._get_remote_repository_relative_path(repo),
|
||||
self._settings['repositories']['branch'])
|
||||
lock_file = os.path.join(my_path, lock_file)
|
||||
|
||||
@@ -533,7 +533,7 @@ class Server(ServerNoticeBoardMixin):
|
||||
repo = self._entropy.default_repository
|
||||
|
||||
my_path = os.path.join(
|
||||
self._entropy._get_remote_database_relative_path(repo),
|
||||
self._entropy._get_remote_repository_relative_path(repo),
|
||||
self._settings['repositories']['branch'])
|
||||
|
||||
# create path to lock file if it doesn't exist
|
||||
@@ -544,13 +544,13 @@ class Server(ServerNoticeBoardMixin):
|
||||
lock_string = ''
|
||||
|
||||
if dblock:
|
||||
self._entropy._create_local_database_lockfile(repo)
|
||||
lock_file = self._entropy._get_database_lockfile(repo)
|
||||
self._entropy._create_local_repository_lockfile(repo)
|
||||
lock_file = self._entropy._get_repository_lockfile(repo)
|
||||
else:
|
||||
# locking/unlocking mirror1 for download
|
||||
lock_string = _('for download')
|
||||
self._entropy._create_local_database_download_lockfile(repo)
|
||||
lock_file = self._entropy._get_database_download_lockfile(repo)
|
||||
self._entropy._create_local_repository_download_lockfile(repo)
|
||||
lock_file = self._entropy._get_repository_download_lockfile(repo)
|
||||
|
||||
remote_path = os.path.join(my_path, os.path.basename(lock_file))
|
||||
|
||||
@@ -581,7 +581,7 @@ class Server(ServerNoticeBoardMixin):
|
||||
level = "error",
|
||||
header = darkred(" * ")
|
||||
)
|
||||
self._entropy._remove_local_database_lockfile(repo)
|
||||
self._entropy._remove_local_repository_lockfile(repo)
|
||||
|
||||
return rc_upload
|
||||
|
||||
@@ -592,7 +592,7 @@ class Server(ServerNoticeBoardMixin):
|
||||
repo = self._entropy.default_repository
|
||||
|
||||
my_path = os.path.join(
|
||||
self._entropy._get_remote_database_relative_path(repo),
|
||||
self._entropy._get_remote_repository_relative_path(repo),
|
||||
self._settings['repositories']['branch'])
|
||||
|
||||
crippled_uri = EntropyTransceiver.get_uri_name(uri)
|
||||
@@ -618,9 +618,9 @@ class Server(ServerNoticeBoardMixin):
|
||||
header = darkgreen(" * ")
|
||||
)
|
||||
if dblock:
|
||||
self._entropy._remove_local_database_lockfile(repo)
|
||||
self._entropy._remove_local_repository_lockfile(repo)
|
||||
else:
|
||||
self._entropy._remove_local_database_download_lockfile(repo)
|
||||
self._entropy._remove_local_repository_download_lockfile(repo)
|
||||
else:
|
||||
self._entropy.output(
|
||||
"[repo:%s|%s] %s: %s - %s" % (
|
||||
@@ -667,9 +667,9 @@ class Server(ServerNoticeBoardMixin):
|
||||
|
||||
remote_path = \
|
||||
self._entropy.complete_remote_package_relative_path(
|
||||
pkg_relative_path, repo = repo)
|
||||
pkg_relative_path, repo)
|
||||
download_path = self._entropy.complete_local_package_path(
|
||||
pkg_relative_path, repo = repo)
|
||||
pkg_relative_path, repo)
|
||||
|
||||
download_dir = os.path.dirname(download_path)
|
||||
|
||||
@@ -798,7 +798,7 @@ class Server(ServerNoticeBoardMixin):
|
||||
if cmethod is None:
|
||||
raise AttributeError("Wrong repository compression method passed")
|
||||
remote_dir = os.path.join(
|
||||
self._entropy._get_remote_database_relative_path(repo),
|
||||
self._entropy._get_remote_repository_relative_path(repo),
|
||||
self._settings['repositories']['branch'])
|
||||
|
||||
# let raise exception if connection is impossible
|
||||
@@ -808,7 +808,7 @@ class Server(ServerNoticeBoardMixin):
|
||||
compressedfile = etpConst[cmethod[2]]
|
||||
rc1 = handler.is_file(os.path.join(remote_dir, compressedfile))
|
||||
|
||||
rev_file = self._entropy._get_local_database_revision_file(repo)
|
||||
rev_file = self._entropy._get_local_repository_revision_file(repo)
|
||||
revfilename = os.path.basename(rev_file)
|
||||
rc2 = handler.is_file(os.path.join(remote_dir, revfilename))
|
||||
|
||||
@@ -911,7 +911,7 @@ class Server(ServerNoticeBoardMixin):
|
||||
"""
|
||||
dbstatus = []
|
||||
remote_dir = os.path.join(
|
||||
self._entropy._get_remote_database_relative_path(repository_id),
|
||||
self._entropy._get_remote_repository_relative_path(repository_id),
|
||||
self._settings['repositories']['branch'])
|
||||
lock_file = os.path.join(remote_dir, etpConst['etpdatabaselockfile'])
|
||||
down_lock_file = os.path.join(remote_dir,
|
||||
@@ -955,12 +955,11 @@ class Server(ServerNoticeBoardMixin):
|
||||
"""
|
||||
gave_up = False
|
||||
|
||||
lock_file = self._entropy._get_database_lockfile(repo = repository_id)
|
||||
lock_file = self._entropy._get_repository_lockfile(repository_id)
|
||||
lock_filename = os.path.basename(lock_file)
|
||||
|
||||
remote_dir = os.path.join(
|
||||
self._entropy._get_remote_database_relative_path(
|
||||
repo = repository_id),
|
||||
self._entropy._get_remote_repository_relative_path(repository_id),
|
||||
self._settings['repositories']['branch'])
|
||||
remote_lock_file = os.path.join(remote_dir, lock_filename)
|
||||
|
||||
@@ -1014,7 +1013,10 @@ class Server(ServerNoticeBoardMixin):
|
||||
def _calculate_local_upload_files(self, repo = None):
|
||||
upload_files = 0
|
||||
upload_packages = set()
|
||||
upload_dir = self._entropy._get_local_upload_directory(repo = repo)
|
||||
if repo is None:
|
||||
repo = self._entropy.default_repository
|
||||
|
||||
upload_dir = self._entropy._get_local_upload_directory(repo)
|
||||
|
||||
# check if it exists
|
||||
if not os.path.isdir(upload_dir):
|
||||
@@ -1022,7 +1024,7 @@ class Server(ServerNoticeBoardMixin):
|
||||
|
||||
branch = self._settings['repositories']['branch']
|
||||
upload_pkgs = self._entropy._get_basedir_pkg_listing(upload_dir,
|
||||
repo = repo, branch = branch)
|
||||
branch = branch)
|
||||
|
||||
pkg_ext = etpConst['packagesext']
|
||||
pkg_md5_ext = etpConst['packagesmd5fileext']
|
||||
@@ -1037,8 +1039,9 @@ class Server(ServerNoticeBoardMixin):
|
||||
def _calculate_local_package_files(self, repo = None):
|
||||
local_files = 0
|
||||
local_packages = set()
|
||||
base_dir = self._entropy._get_local_repository_base_directory(
|
||||
repo = repo)
|
||||
if repo is None:
|
||||
repo = self._entropy.default_repository
|
||||
base_dir = self._entropy._get_local_repository_base_directory(repo)
|
||||
|
||||
# check if it exists
|
||||
if not os.path.isdir(base_dir):
|
||||
@@ -1046,7 +1049,7 @@ class Server(ServerNoticeBoardMixin):
|
||||
|
||||
branch = self._settings['repositories']['branch']
|
||||
pkg_files = self._entropy._get_basedir_pkg_listing(base_dir,
|
||||
repo = repo, branch = branch)
|
||||
branch = branch)
|
||||
|
||||
pkg_ext = etpConst['packagesext']
|
||||
pkg_md5_ext = etpConst['packagesmd5fileext']
|
||||
@@ -1225,11 +1228,11 @@ class Server(ServerNoticeBoardMixin):
|
||||
for pkg_dir_type in pkgs_dir_types:
|
||||
|
||||
remote_dir = self._entropy.complete_remote_package_relative_path(
|
||||
pkg_dir_type, repo = repo)
|
||||
pkg_dir_type, repo)
|
||||
remote_dir = os.path.join(remote_dir, etpConst['currentarch'],
|
||||
branch)
|
||||
only_dir = self._entropy.complete_remote_package_relative_path("",
|
||||
repo = repo)
|
||||
repo)
|
||||
db_url_dir = remote_dir[len(only_dir):]
|
||||
|
||||
# create path to lock file if it doesn't exist
|
||||
@@ -1317,7 +1320,7 @@ class Server(ServerNoticeBoardMixin):
|
||||
|
||||
local_filepath = \
|
||||
self._entropy.complete_local_upload_package_path(
|
||||
local_package, repo = repo)
|
||||
local_package, repo)
|
||||
|
||||
local_size = entropy.tools.get_file_size(local_filepath)
|
||||
remote_size = remote_packages_data.get(local_package)
|
||||
@@ -1343,7 +1346,7 @@ class Server(ServerNoticeBoardMixin):
|
||||
|
||||
if local_package in remote_packages:
|
||||
local_filepath = self._entropy.complete_local_package_path(
|
||||
local_package, repo = repo)
|
||||
local_package, repo)
|
||||
local_size = entropy.tools.get_file_size(local_filepath)
|
||||
remote_size = remote_packages_data.get(local_package)
|
||||
if remote_size is None:
|
||||
@@ -1365,7 +1368,7 @@ class Server(ServerNoticeBoardMixin):
|
||||
|
||||
if remote_package in local_packages:
|
||||
local_filepath = self._entropy.complete_local_package_path(
|
||||
remote_package, repo = repo)
|
||||
remote_package, repo)
|
||||
local_size = entropy.tools.get_file_size(local_filepath)
|
||||
remote_size = remote_packages_data.get(remote_package)
|
||||
if remote_size is None:
|
||||
@@ -1434,7 +1437,7 @@ class Server(ServerNoticeBoardMixin):
|
||||
|
||||
for item in removal_queue:
|
||||
local_filepath = self._entropy.complete_local_package_path(
|
||||
item, repo = repo)
|
||||
item, repo)
|
||||
size = entropy.tools.get_file_size(local_filepath)
|
||||
metainfo['removal'] += size
|
||||
removal.append((local_filepath, item, size))
|
||||
@@ -1442,7 +1445,7 @@ class Server(ServerNoticeBoardMixin):
|
||||
for item in download_queue:
|
||||
|
||||
local_filepath = self._entropy.complete_local_upload_package_path(
|
||||
item, repo = repo)
|
||||
item, repo)
|
||||
if not os.path.isfile(local_filepath):
|
||||
size = remote_packages_data.get(item)
|
||||
if size is None:
|
||||
@@ -1457,10 +1460,10 @@ class Server(ServerNoticeBoardMixin):
|
||||
for item in upload_queue:
|
||||
|
||||
local_filepath = self._entropy.complete_local_upload_package_path(
|
||||
item, repo = repo)
|
||||
item, repo)
|
||||
|
||||
local_filepath_pkgs = self._entropy.complete_local_package_path(
|
||||
item, repo = repo)
|
||||
item, repo)
|
||||
if os.path.isfile(local_filepath):
|
||||
size = entropy.tools.get_file_size(local_filepath)
|
||||
upload.append((local_filepath, item, size))
|
||||
@@ -1528,7 +1531,8 @@ class Server(ServerNoticeBoardMixin):
|
||||
for from_file, rel_file, size in copy_queue:
|
||||
from_file_hash = from_file + etpConst['packagesmd5fileext']
|
||||
|
||||
to_file = self._entropy.complete_local_package_path(rel_file)
|
||||
to_file = self._entropy.complete_local_package_path(rel_file,
|
||||
repo)
|
||||
to_file_hash = to_file+etpConst['packagesmd5fileext']
|
||||
expiration_file = to_file+etpConst['packagesexpirationfileext']
|
||||
|
||||
@@ -1581,7 +1585,7 @@ class Server(ServerNoticeBoardMixin):
|
||||
for rel_path, myqueue in queue_map.items():
|
||||
|
||||
remote_dir = self._entropy.complete_remote_package_relative_path(
|
||||
rel_path, repo = repo)
|
||||
rel_path, repo)
|
||||
|
||||
uploader = self.TransceiverServerHandler(self._entropy, [uri],
|
||||
myqueue, critical_files = myqueue,
|
||||
@@ -1650,10 +1654,10 @@ class Server(ServerNoticeBoardMixin):
|
||||
for rel_path, myqueue in queue_map.items():
|
||||
|
||||
remote_dir = self._entropy.complete_remote_package_relative_path(
|
||||
rel_path, repo = repo)
|
||||
rel_path, repo)
|
||||
|
||||
local_basedir = self._entropy.complete_local_package_path(rel_path,
|
||||
repo = repo)
|
||||
repo)
|
||||
if not os.path.isdir(local_basedir):
|
||||
self._entropy._ensure_dir_path(local_basedir)
|
||||
|
||||
@@ -2030,16 +2034,15 @@ class Server(ServerNoticeBoardMixin):
|
||||
if repo is None:
|
||||
repo = self._entropy.default_repository
|
||||
|
||||
upload_dir = self._entropy._get_local_upload_directory(repo = repo)
|
||||
basedir_list = self._entropy._get_basedir_pkg_listing(upload_dir,
|
||||
repo = repo)
|
||||
upload_dir = self._entropy._get_local_upload_directory(repo)
|
||||
basedir_list = self._entropy._get_basedir_pkg_listing(upload_dir)
|
||||
|
||||
for pkg_rel in basedir_list:
|
||||
|
||||
source_pkg = self._entropy.complete_local_upload_package_path(
|
||||
pkg_rel, repo = repo)
|
||||
pkg_rel, repo)
|
||||
dest_pkg = self._entropy.complete_local_package_path(pkg_rel,
|
||||
repo = repo)
|
||||
repo)
|
||||
dest_pkg_dir = os.path.dirname(dest_pkg)
|
||||
self._entropy._ensure_dir_path(dest_pkg_dir)
|
||||
|
||||
@@ -2067,7 +2070,7 @@ class Server(ServerNoticeBoardMixin):
|
||||
def _is_package_expired(self, package_rel, repo = None):
|
||||
|
||||
pkg_path = self._entropy.complete_local_package_path(package_rel,
|
||||
repo = repo)
|
||||
repo)
|
||||
pkg_path += etpConst['packagesexpirationfileext']
|
||||
if not os.path.isfile(pkg_path):
|
||||
return False
|
||||
@@ -2085,8 +2088,11 @@ class Server(ServerNoticeBoardMixin):
|
||||
|
||||
def _create_expiration_file(self, package_rel, repo = None, gentle = False):
|
||||
|
||||
if repo is None:
|
||||
repo = self._entropy.default_repository
|
||||
|
||||
pkg_path = self._entropy.complete_local_package_path(package_rel,
|
||||
repo = repo)
|
||||
repo)
|
||||
pkg_path += etpConst['packagesexpirationfileext']
|
||||
if gentle and os.path.isfile(pkg_path):
|
||||
return
|
||||
@@ -2096,17 +2102,19 @@ class Server(ServerNoticeBoardMixin):
|
||||
|
||||
def _collect_expiring_packages(self, branch, repo = None):
|
||||
|
||||
if repo is None:
|
||||
repo = self._entropy.default_repository
|
||||
|
||||
dbconn = self._entropy.open_server_repository(just_reading = True,
|
||||
repo = repo)
|
||||
|
||||
database_bins = set(dbconn.listAllDownloads(do_sort = False,
|
||||
full_path = True))
|
||||
|
||||
repo_basedir = self._entropy._get_local_repository_base_directory(
|
||||
repo = repo)
|
||||
repo_basedir = self._entropy._get_local_repository_base_directory(repo)
|
||||
|
||||
repo_bins = self._entropy._get_basedir_pkg_listing(repo_basedir,
|
||||
repo = repo, branch = branch)
|
||||
branch = branch)
|
||||
|
||||
# convert to set, so that we can do fast thingszzsd
|
||||
repo_bins = set(repo_bins)
|
||||
@@ -2223,7 +2231,7 @@ class Server(ServerNoticeBoardMixin):
|
||||
removal_map = {}
|
||||
for package_rel in removal:
|
||||
rel_path = self._entropy.complete_remote_package_relative_path(
|
||||
package_rel, repo = repo)
|
||||
package_rel, repo)
|
||||
rel_dir = os.path.dirname(rel_path)
|
||||
obj = removal_map.setdefault(rel_dir, [])
|
||||
base_pkg = os.path.basename(package_rel)
|
||||
@@ -2306,7 +2314,7 @@ class Server(ServerNoticeBoardMixin):
|
||||
for package_rel in removal:
|
||||
|
||||
package_path = self._entropy.complete_local_package_path(
|
||||
package_rel, repo = repo)
|
||||
package_rel, repo)
|
||||
|
||||
package_path_hash = package_path + \
|
||||
etpConst['packagesmd5fileext']
|
||||
|
||||
@@ -62,7 +62,7 @@ class TransceiverServerHandler:
|
||||
# default to database directory
|
||||
branch = self._settings['repositories']['branch']
|
||||
my_path = os.path.join(
|
||||
self.Entropy._get_remote_database_relative_path(repo), branch)
|
||||
self.Entropy._get_remote_repository_relative_path(repo), branch)
|
||||
self.txc_basedir = my_path
|
||||
else:
|
||||
self.txc_basedir = txc_basedir
|
||||
@@ -70,7 +70,7 @@ class TransceiverServerHandler:
|
||||
if not local_basedir:
|
||||
# default to database directory
|
||||
self.local_basedir = os.path.dirname(
|
||||
self.Entropy._get_local_database_file(self.repo))
|
||||
self.Entropy._get_local_repository_file(self.repo))
|
||||
else:
|
||||
self.local_basedir = local_basedir
|
||||
|
||||
|
||||
@@ -579,7 +579,7 @@ class Base:
|
||||
|
||||
# run quickpkg
|
||||
for repoid in to_add:
|
||||
store_dir = Entropy._get_local_store_directory(repo = repoid)
|
||||
store_dir = Entropy._get_local_store_directory(repoid)
|
||||
for atom in to_add[repoid]:
|
||||
Entropy.Spm().generate_package(atom, store_dir)
|
||||
|
||||
@@ -589,7 +589,7 @@ class Base:
|
||||
avail_repos.pop(etpConst['clientserverrepoid'])
|
||||
matches_added = set()
|
||||
for repoid in avail_repos:
|
||||
store_dir = Entropy._get_local_store_directory(repo = repoid)
|
||||
store_dir = Entropy._get_local_store_directory(repoid)
|
||||
package_files = os.listdir(store_dir)
|
||||
if not package_files:
|
||||
continue
|
||||
|
||||
@@ -2374,7 +2374,7 @@ class PortagePlugin(SpmPlugin):
|
||||
header = blue(" # ")
|
||||
)
|
||||
|
||||
mydest = entropy_server._get_local_store_directory(repo = repo)
|
||||
mydest = entropy_server._get_local_store_directory(repo)
|
||||
try:
|
||||
mypath = self.generate_package(myatom, mydest)
|
||||
except Exception:
|
||||
@@ -2493,8 +2493,9 @@ class PortagePlugin(SpmPlugin):
|
||||
def package_names_update(self, entropy_repository, entropy_repository_id,
|
||||
entropy_server, entropy_branch):
|
||||
|
||||
repo_updates_file = entropy_server._get_local_database_treeupdates_file(
|
||||
entropy_repository_id)
|
||||
repo_updates_file = \
|
||||
entropy_server._get_local_repository_treeupdates_file(
|
||||
entropy_repository_id)
|
||||
do_rescan = False
|
||||
|
||||
stored_digest = entropy_repository.retrieveRepositoryUpdatesDigest(
|
||||
|
||||
+16
-10
@@ -558,7 +558,8 @@ def _switch_branch(entropy_server, args):
|
||||
|
||||
def _restore_repository(entropy_server):
|
||||
|
||||
db_file = entropy_server._get_local_database_file()
|
||||
db_file = entropy_server._get_local_repository_file(
|
||||
entropy_server.default_repository)
|
||||
db_dir = os.path.dirname(db_file)
|
||||
dblist = entropy_server.installed_repository_backups(
|
||||
client_dbdir = db_dir)
|
||||
@@ -767,11 +768,12 @@ def _repositories(entropy_server, options):
|
||||
|
||||
elif cmd == "backup":
|
||||
|
||||
db_path = entropy_server._get_local_database_file()
|
||||
db_path = entropy_server._get_local_repository_file(
|
||||
entropy_server.default_repository)
|
||||
# make sure to close all repos before backing-up
|
||||
entropy_server.close_repositories()
|
||||
rc, err_msg = entropy_server.backup_repository(entropy_server.default_repository,
|
||||
os.path.dirname(db_path))
|
||||
rc, err_msg = entropy_server.backup_repository(
|
||||
entropy_server.default_repository, os.path.dirname(db_path))
|
||||
if not rc:
|
||||
print_info(darkred(" ** ")+red("%s: %s" % (
|
||||
_("Error"), err_msg,) ))
|
||||
@@ -1029,7 +1031,8 @@ def _update(entropy_server, options):
|
||||
|
||||
# package them
|
||||
print_info(brown(" @@ ")+blue("%s..." % (_("Compressing packages"),) ))
|
||||
store_dir = entropy_server._get_local_store_directory()
|
||||
store_dir = entropy_server._get_local_store_directory(
|
||||
entropy_server.default_repository)
|
||||
for x in to_be_added:
|
||||
print_info(brown(" # ")+red(x[0]+"..."))
|
||||
try:
|
||||
@@ -1039,7 +1042,8 @@ def _update(entropy_server, options):
|
||||
print_info(brown(" !!! ")+bold("%s..." % (
|
||||
_("Ignoring broken Spm entry, please recompile it"),) ))
|
||||
|
||||
store_dir = entropy_server._get_local_store_directory()
|
||||
store_dir = entropy_server._get_local_store_directory(
|
||||
entropy_server.default_repository)
|
||||
etp_pkg_files = []
|
||||
if os.path.isdir(store_dir):
|
||||
etp_pkg_files = os.listdir(store_dir)
|
||||
@@ -1048,7 +1052,10 @@ def _update(entropy_server, options):
|
||||
# then exit gracefully
|
||||
return 0
|
||||
|
||||
etp_pkg_files = [(os.path.join(entropy_server._get_local_store_directory(), x), False,) for x in etp_pkg_files]
|
||||
local_store_dir = entropy_server._get_local_store_directory(
|
||||
entropy_server.default_repository)
|
||||
etp_pkg_files = [(os.path.join(local_store_dir, x), False) \
|
||||
for x in etp_pkg_files]
|
||||
idpackages = entropy_server.add_packages_to_repository(etp_pkg_files)
|
||||
|
||||
if idpackages:
|
||||
@@ -1083,9 +1090,8 @@ def _status(entropy_server):
|
||||
for repo_id in sorted(repos_data):
|
||||
repo_data = repos_data[repo_id]
|
||||
repo_rev = entropy_server.local_repository_revision(repo_id)
|
||||
store_dir = entropy_server._get_local_store_directory(repo = repo_id)
|
||||
upload_basedir = entropy_server._get_local_upload_directory(
|
||||
repo = repo_id)
|
||||
store_dir = entropy_server._get_local_store_directory(repo_id)
|
||||
upload_basedir = entropy_server._get_local_upload_directory(repo_id)
|
||||
upload_files, upload_packages = \
|
||||
entropy_server.Mirrors._calculate_local_upload_files(
|
||||
repo = repo_id)
|
||||
|
||||
Reference in New Issue
Block a user