add work_root for a way to store logs and other stuff

This commit is contained in:
Louis Abel 2022-05-24 00:16:02 -07:00
parent e697f7ec57
commit 16da35da3d
Signed by untrusted user: label
GPG Key ID: B37E62D143879B36

View File

@ -122,24 +122,32 @@ class RepoSync:
# This should create the initial compose dir and set the path. # This should create the initial compose dir and set the path.
# Otherwise, just use the latest link. # Otherwise, just use the latest link.
if self.fullrun: if self.fullrun:
work_root = os.path.join(
self.generate_compose_dirs(),
'work'
)
sync_root = os.path.join( sync_root = os.path.join(
self.generate_compose_dirs(), self.generate_compose_dirs(),
'compose' 'compose'
) )
else: else:
# Put in a verification here. # Put in a verification here.
work_root = os.path.join(
self.compose_latest_dir,
'work'
)
sync_root = self.compose_latest_sync sync_root = self.compose_latest_sync
if self.dryrun: if self.dryrun:
self.log.error('Dry Runs are not supported just yet. Sorry!') self.log.error('Dry Runs are not supported just yet. Sorry!')
raise SystemExit() raise SystemExit()
self.sync(self.repo, sync_root, self.arch) self.sync(self.repo, sync_root, work_root, self.arch)
if self.fullrun: if self.fullrun:
self.symlink_to_latest() self.symlink_to_latest()
def sync(self, repo, sync_root, arch=None): def sync(self, repo, sync_root, work_root, arch=None):
""" """
Calls out syncing of the repos. We generally sync each component of a Calls out syncing of the repos. We generally sync each component of a
repo: repo:
@ -150,13 +158,13 @@ class RepoSync:
If parallel is true, we will run in podman. If parallel is true, we will run in podman.
""" """
if self.parallel: if self.parallel:
self.podman_sync(repo, sync_root, arch) self.podman_sync(repo, sync_root, work_root, arch)
else: else:
self.dnf_sync(repo, sync_root, arch) self.dnf_sync(repo, sync_root, work_root, arch)
def dnf_sync(self, repo, sync_root, arch): def dnf_sync(self, repo, sync_root, work_root, arch):
""" """
This is for normal dnf syncs This is for normal dnf syncs. This is very slow.
""" """
cmd = self.reposync_cmd() cmd = self.reposync_cmd()
@ -297,7 +305,7 @@ class RepoSync:
self.log.info('Syncing complete') self.log.info('Syncing complete')
def podman_sync(self, repo, sync_root, arch): def podman_sync(self, repo, sync_root, work_root, arch):
""" """
This is for podman syncs This is for podman syncs
@ -309,7 +317,7 @@ class RepoSync:
cmd = self.podman_cmd() cmd = self.podman_cmd()
contrunlist = [] contrunlist = []
self.log.info('Generating container entries') self.log.info('Generating container entries')
entries_dir = os.path.join(sync_root, "work", "entries") entries_dir = os.path.join(work_root, "entries")
if not os.path.exists(entries_dir): if not os.path.exists(entries_dir):
os.makedirs(entries_dir, exist_ok=True) os.makedirs(entries_dir, exist_ok=True)
@ -326,6 +334,7 @@ class RepoSync:
repos_to_sync = [repo] repos_to_sync = [repo]
for r in repos_to_sync: for r in repos_to_sync:
podman_loop_list = []
for a in arches_to_sync: for a in arches_to_sync:
repo_name = r repo_name = r
if r in self.repo_renames: if r in self.repo_renames:
@ -388,7 +397,13 @@ class RepoSync:
entry_point_open.close() entry_point_open.close()
debug_entry_point_open.close() debug_entry_point_open.close()
# Add to list here
podman_loop_list.append(entry_point_sh)
podman_loop_list.append(debug_entry_point_sh)
# Spawn up all podman processes for repo
print(podman_loop_list)
podman_loop_list.clear()
def generate_compose_dirs(self) -> str: def generate_compose_dirs(self) -> str:
""" """