forked from sig_core/toolkit
update versions of empanadas
This commit is contained in:
parent
419e7af362
commit
ccae1045b3
@ -16,7 +16,7 @@
|
|||||||
- ppc64le
|
- ppc64le
|
||||||
- s390x
|
- s390x
|
||||||
provide_multilib: True
|
provide_multilib: True
|
||||||
project_id: 'dff20351-7d36-4f7c-9eea-7f039f5026d0'
|
project_id: '6202c09e-6252-4d3a-bcd3-9c7751682970'
|
||||||
repo_symlinks:
|
repo_symlinks:
|
||||||
NFV: 'nfv'
|
NFV: 'nfv'
|
||||||
renames:
|
renames:
|
||||||
|
@ -257,9 +257,9 @@ class ImageBuild:
|
|||||||
def kickstart_imagefactory_args(self) -> List[str]:
|
def kickstart_imagefactory_args(self) -> List[str]:
|
||||||
|
|
||||||
if not self.kickstart_path.is_file():
|
if not self.kickstart_path.is_file():
|
||||||
log.warn(f"Kickstart file is not available: {self.kickstart_path}")
|
log.warning(f"Kickstart file is not available: {self.kickstart_path}")
|
||||||
if not debug:
|
if not debug:
|
||||||
log.warn("Exiting because debug mode is not enabled.")
|
log.warning("Exiting because debug mode is not enabled.")
|
||||||
exit(2)
|
exit(2)
|
||||||
|
|
||||||
return ["--file-parameter", "install_script", str(self.kickstart_path)]
|
return ["--file-parameter", "install_script", str(self.kickstart_path)]
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
# This script can be called to do single syncs or full on syncs.
|
# This script can be called to do single syncs or full on syncs.
|
||||||
|
|
||||||
|
import os
|
||||||
import argparse
|
import argparse
|
||||||
import logging
|
import logging
|
||||||
import sys
|
import sys
|
||||||
@ -16,6 +17,7 @@ parser = argparse.ArgumentParser(description="Peridot Sync and Compose")
|
|||||||
parser.add_argument('--release', type=str, help="Major Release Version or major-type (eg 9-beta)", required=True)
|
parser.add_argument('--release', type=str, help="Major Release Version or major-type (eg 9-beta)", required=True)
|
||||||
parser.add_argument('--sig', type=str, help="SIG Name if applicable")
|
parser.add_argument('--sig', type=str, help="SIG Name if applicable")
|
||||||
parser.add_argument('--symlink', action='store_true', help="symlink to latest")
|
parser.add_argument('--symlink', action='store_true', help="symlink to latest")
|
||||||
|
parser.add_argument('--copy-old-compose', action='store_true', help="Runs an rsync from previous compose")
|
||||||
parser.add_argument('--logger', type=str)
|
parser.add_argument('--logger', type=str)
|
||||||
|
|
||||||
# Parse them
|
# Parse them
|
||||||
@ -59,16 +61,21 @@ def run():
|
|||||||
date_stamp,
|
date_stamp,
|
||||||
logger
|
logger
|
||||||
)
|
)
|
||||||
|
compose_latest_dir = os.path.join(
|
||||||
|
config['compose_root'],
|
||||||
|
major,
|
||||||
|
"latest-{}-{}".format(
|
||||||
|
shortname,
|
||||||
|
profile,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
if results.copy_old_compose:
|
||||||
|
if os.path.exists(compose_latest_dir):
|
||||||
|
previous_compose_path = os.path.realpath(compose_latest_dir)
|
||||||
|
else:
|
||||||
|
log.warning('No symlink exists; we cannot copy from the old compose')
|
||||||
|
|
||||||
if results.symlink:
|
if results.symlink:
|
||||||
compose_latest_dir = os.path.join(
|
|
||||||
config['compose_root'],
|
|
||||||
major,
|
|
||||||
"latest-{}-{}".format(
|
|
||||||
shortname,
|
|
||||||
profile,
|
|
||||||
)
|
|
||||||
)
|
|
||||||
if os.path.exists(compose_latest_dir):
|
if os.path.exists(compose_latest_dir):
|
||||||
os.remove(compose_latest_dir)
|
os.remove(compose_latest_dir)
|
||||||
|
|
||||||
|
@ -280,7 +280,7 @@ class RepoSync:
|
|||||||
raise SystemExit()
|
raise SystemExit()
|
||||||
|
|
||||||
if self.fullrun and self.refresh_extra_files:
|
if self.fullrun and self.refresh_extra_files:
|
||||||
self.log.warn(Color.WARN + 'A full run implies extra files are also deployed.')
|
self.log.warning(Color.WARN + 'A full run implies extra files are also deployed.')
|
||||||
|
|
||||||
if not self.skip_all:
|
if not self.skip_all:
|
||||||
self.sync(self.repo, sync_root, work_root, log_root, global_work_root, self.arch)
|
self.sync(self.repo, sync_root, work_root, log_root, global_work_root, self.arch)
|
||||||
@ -1020,7 +1020,7 @@ class RepoSync:
|
|||||||
)
|
)
|
||||||
self.log.error(e)
|
self.log.error(e)
|
||||||
else:
|
else:
|
||||||
self.log.warn(Color.WARN + repo_name + ' ' + a + ' os .treeinfo already exists')
|
self.log.warning(Color.WARN + repo_name + ' ' + a + ' os .treeinfo already exists')
|
||||||
|
|
||||||
if not os.path.exists(os_disc_path) or (os.path.exists(os_disc_path) and refresh):
|
if not os.path.exists(os_disc_path) or (os.path.exists(os_disc_path) and refresh):
|
||||||
try:
|
try:
|
||||||
@ -1036,7 +1036,7 @@ class RepoSync:
|
|||||||
)
|
)
|
||||||
self.log.error(e)
|
self.log.error(e)
|
||||||
else:
|
else:
|
||||||
self.log.warn(Color.WARN + repo_name + ' ' + a +
|
self.log.warning(Color.WARN + repo_name + ' ' + a +
|
||||||
' os .discinfo already exists'
|
' os .discinfo already exists'
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -1053,7 +1053,7 @@ class RepoSync:
|
|||||||
)
|
)
|
||||||
self.log.error(e)
|
self.log.error(e)
|
||||||
else:
|
else:
|
||||||
self.log.warn(Color.WARN + repo_name + ' ' + a +
|
self.log.warning(Color.WARN + repo_name + ' ' + a +
|
||||||
' os media.repo already exists'
|
' os media.repo already exists'
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -1075,7 +1075,7 @@ class RepoSync:
|
|||||||
)
|
)
|
||||||
self.log.error(e)
|
self.log.error(e)
|
||||||
else:
|
else:
|
||||||
self.log.warn(Color.WARN + repo_name + ' ' + a +
|
self.log.warning(Color.WARN + repo_name + ' ' + a +
|
||||||
' kickstart .treeinfo already exists'
|
' kickstart .treeinfo already exists'
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -1093,7 +1093,7 @@ class RepoSync:
|
|||||||
)
|
)
|
||||||
self.log.error(e)
|
self.log.error(e)
|
||||||
else:
|
else:
|
||||||
self.log.warn(Color.FAIL + repo_name + ' ' + a +
|
self.log.warning(Color.FAIL + repo_name + ' ' + a +
|
||||||
' kickstart .discinfo already exists'
|
' kickstart .discinfo already exists'
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -1110,7 +1110,7 @@ class RepoSync:
|
|||||||
)
|
)
|
||||||
self.log.error(e)
|
self.log.error(e)
|
||||||
else:
|
else:
|
||||||
self.log.warn(Color.WARN + repo_name + ' ' + a +
|
self.log.warning(Color.WARN + repo_name + ' ' + a +
|
||||||
' kickstart media.repo already exists'
|
' kickstart media.repo already exists'
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -1153,7 +1153,7 @@ class RepoSync:
|
|||||||
)
|
)
|
||||||
self.log.error(e)
|
self.log.error(e)
|
||||||
else:
|
else:
|
||||||
self.log.warn(Color.WARN + r + ' ' + a +
|
self.log.warning(Color.WARN + r + ' ' + a +
|
||||||
' debug .treeinfo already exists'
|
' debug .treeinfo already exists'
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -1171,7 +1171,7 @@ class RepoSync:
|
|||||||
)
|
)
|
||||||
self.log.error(e)
|
self.log.error(e)
|
||||||
else:
|
else:
|
||||||
self.log.warn(Color.WARN + r + ' ' + a +
|
self.log.warning(Color.WARN + r + ' ' + a +
|
||||||
' debug .discinfo already exists'
|
' debug .discinfo already exists'
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -1188,7 +1188,7 @@ class RepoSync:
|
|||||||
)
|
)
|
||||||
self.log.error(e)
|
self.log.error(e)
|
||||||
else:
|
else:
|
||||||
self.log.warn(Color.WARN + repo_name + ' ' + a +
|
self.log.warning(Color.WARN + repo_name + ' ' + a +
|
||||||
' debug media.repo already exists'
|
' debug media.repo already exists'
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -1227,7 +1227,7 @@ class RepoSync:
|
|||||||
self.log.error(Color.FAIL + repo_name + ' source os .treeinfo could not be written')
|
self.log.error(Color.FAIL + repo_name + ' source os .treeinfo could not be written')
|
||||||
self.log.error(e)
|
self.log.error(e)
|
||||||
else:
|
else:
|
||||||
self.log.warn(Color.WARN + repo_name + ' source os .treeinfo already exists')
|
self.log.warning(Color.WARN + repo_name + ' source os .treeinfo already exists')
|
||||||
|
|
||||||
if not os.path.exists(source_disc_path) or (os.path.exists(source_disc_path) and refresh):
|
if not os.path.exists(source_disc_path) or (os.path.exists(source_disc_path) and refresh):
|
||||||
try:
|
try:
|
||||||
@ -1241,7 +1241,7 @@ class RepoSync:
|
|||||||
self.log.error(Color.FAIL + repo_name + ' source os .discinfo could not be written')
|
self.log.error(Color.FAIL + repo_name + ' source os .discinfo could not be written')
|
||||||
self.log.error(e)
|
self.log.error(e)
|
||||||
else:
|
else:
|
||||||
self.log.warn(Color.WARN + repo_name + ' source .discinfo already exists')
|
self.log.warning(Color.WARN + repo_name + ' source .discinfo already exists')
|
||||||
|
|
||||||
if not os.path.exists(source_media_path) or (os.path.exists(source_media_path) and refresh):
|
if not os.path.exists(source_media_path) or (os.path.exists(source_media_path) and refresh):
|
||||||
try:
|
try:
|
||||||
@ -1254,7 +1254,7 @@ class RepoSync:
|
|||||||
self.log.error(Color.FAIL + repo_name + ' source os media.repo could not be written')
|
self.log.error(Color.FAIL + repo_name + ' source os media.repo could not be written')
|
||||||
self.log.error(e)
|
self.log.error(e)
|
||||||
else:
|
else:
|
||||||
self.log.warn(Color.WARN + repo_name + ' source media.repo already exists')
|
self.log.warning(Color.WARN + repo_name + ' source media.repo already exists')
|
||||||
|
|
||||||
def tweak_treeinfo(self, repo, sync_root, arch):
|
def tweak_treeinfo(self, repo, sync_root, arch):
|
||||||
"""
|
"""
|
||||||
@ -1911,7 +1911,7 @@ class SigRepoSync:
|
|||||||
raise SystemExit()
|
raise SystemExit()
|
||||||
|
|
||||||
if self.fullrun and self.refresh_extra_files:
|
if self.fullrun and self.refresh_extra_files:
|
||||||
self.log.warn(Color.WARN + 'A full run implies extra files are also deployed.')
|
self.log.warning(Color.WARN + 'A full run implies extra files are also deployed.')
|
||||||
|
|
||||||
self.sync(self.sigrepo, sync_root, work_root, log_root, global_work_root, self.arch)
|
self.sync(self.sigrepo, sync_root, work_root, log_root, global_work_root, self.arch)
|
||||||
|
|
||||||
|
@ -462,7 +462,7 @@ class IsoBuild:
|
|||||||
if not force_unpack:
|
if not force_unpack:
|
||||||
file_check = os.path.join(unpack_dir, 'lorax/.treeinfo')
|
file_check = os.path.join(unpack_dir, 'lorax/.treeinfo')
|
||||||
if os.path.exists(file_check):
|
if os.path.exists(file_check):
|
||||||
self.log.warn(Color.WARN + 'Artifact (' + arch + ') already unpacked')
|
self.log.warning(Color.WARN + 'Artifact (' + arch + ') already unpacked')
|
||||||
return
|
return
|
||||||
|
|
||||||
self.log.info('Unpacking %s' % tarball)
|
self.log.info('Unpacking %s' % tarball)
|
||||||
@ -498,7 +498,7 @@ class IsoBuild:
|
|||||||
if not force_unpack:
|
if not force_unpack:
|
||||||
file_check = os.path.join(path_to_image, '.treeinfo')
|
file_check = os.path.join(path_to_image, '.treeinfo')
|
||||||
if os.path.exists(file_check):
|
if os.path.exists(file_check):
|
||||||
self.log.warn(Color.WARN + 'Lorax image for ' + image + ' already exists')
|
self.log.warning(Color.WARN + 'Lorax image for ' + image + ' already exists')
|
||||||
return
|
return
|
||||||
|
|
||||||
self.log.info('Copying base lorax to %s directory...' % image)
|
self.log.info('Copying base lorax to %s directory...' % image)
|
||||||
@ -544,7 +544,7 @@ class IsoBuild:
|
|||||||
if not force_unpack:
|
if not force_unpack:
|
||||||
file_check = isobootpath
|
file_check = isobootpath
|
||||||
if os.path.exists(file_check):
|
if os.path.exists(file_check):
|
||||||
self.log.warn(Color.WARN + 'Boot image (' + discname + ') already exists')
|
self.log.warning(Color.WARN + 'Boot image (' + discname + ') already exists')
|
||||||
return
|
return
|
||||||
|
|
||||||
self.log.info('Copying %s boot iso to work directory...' % arch)
|
self.log.info('Copying %s boot iso to work directory...' % arch)
|
||||||
@ -643,7 +643,7 @@ class IsoBuild:
|
|||||||
found_files.append('/images/boot.iso')
|
found_files.append('/images/boot.iso')
|
||||||
|
|
||||||
if len(found_files) > 0:
|
if len(found_files) > 0:
|
||||||
self.log.warn(Color.WARN + 'Images and data for ' + repo + ' and ' + arch + ' already exists.')
|
self.log.warning(Color.WARN + 'Images and data for ' + repo + ' and ' + arch + ' already exists.')
|
||||||
return
|
return
|
||||||
|
|
||||||
self.log.info(Color.INFO + 'Copying images and data for ' + repo + ' ' + arch)
|
self.log.info(Color.INFO + 'Copying images and data for ' + repo + ' ' + arch)
|
||||||
@ -1371,7 +1371,7 @@ class IsoBuild:
|
|||||||
|
|
||||||
# latest_artifacts should have at least 1 result if has_variants, else == 1
|
# latest_artifacts should have at least 1 result if has_variants, else == 1
|
||||||
if not len(latest_artifacts[name][variantname]) > 0:
|
if not len(latest_artifacts[name][variantname]) > 0:
|
||||||
self.log.warn(Color.WARN + 'No images found for ' + variantname +
|
self.log.warning(Color.WARN + 'No images found for ' + variantname +
|
||||||
'. This means it will be skipped.')
|
'. This means it will be skipped.')
|
||||||
|
|
||||||
del imagename
|
del imagename
|
||||||
@ -1403,7 +1403,7 @@ class IsoBuild:
|
|||||||
)
|
)
|
||||||
|
|
||||||
if arch not in keysect:
|
if arch not in keysect:
|
||||||
self.log.warn(Color.WARN + 'This architecture (' + arch + ') does not exist for this image orvar is a string.')
|
self.log.warning(Color.WARN + 'This architecture (' + arch + ') does not exist for this image orvar is a string.')
|
||||||
continue
|
continue
|
||||||
|
|
||||||
source_path = keysect[arch]
|
source_path = keysect[arch]
|
||||||
@ -1648,7 +1648,7 @@ class LiveBuild:
|
|||||||
self.log.info(self.revision)
|
self.log.info(self.revision)
|
||||||
|
|
||||||
if not os.path.exists(self.compose_latest_dir):
|
if not os.path.exists(self.compose_latest_dir):
|
||||||
self.log.warn(Color.WARN + 'A compose directory was not found ' +
|
self.log.warning(Color.WARN + 'A compose directory was not found ' +
|
||||||
'here. If there is a failure, it may be due to it ' +
|
'here. If there is a failure, it may be due to it ' +
|
||||||
'missing. You may want to generate a fake compose if ' +
|
'missing. You may want to generate a fake compose if ' +
|
||||||
'you are simply making your own live images and you run ' +
|
'you are simply making your own live images and you run ' +
|
||||||
@ -1841,8 +1841,8 @@ class LiveBuild:
|
|||||||
bad_exit_list = []
|
bad_exit_list = []
|
||||||
checksum_list = []
|
checksum_list = []
|
||||||
entry_name_list = []
|
entry_name_list = []
|
||||||
self.log.warn(Color.WARN + 'There is no support for podman in empanadas.')
|
self.log.warning(Color.WARN + 'There is no support for podman in empanadas.')
|
||||||
self.log.warn(Color.WARN + "If this fails, it's on you to determine the fix.")
|
self.log.warning(Color.WARN + "If this fails, it's on you to determine the fix.")
|
||||||
for i in images:
|
for i in images:
|
||||||
image_name = i
|
image_name = i
|
||||||
entry_name = f'buildLiveImage-{arch}-{i}.sh'
|
entry_name = f'buildLiveImage-{arch}-{i}.sh'
|
||||||
@ -1947,11 +1947,11 @@ class LiveBuild:
|
|||||||
|
|
||||||
if self.justcopyit:
|
if self.justcopyit:
|
||||||
if os.path.exists(os.path.join(live_dir_arch, isoname)):
|
if os.path.exists(os.path.join(live_dir_arch, isoname)):
|
||||||
self.log.warn(Color.WARN + 'Image already exists.')
|
self.log.warning(Color.WARN + 'Image already exists.')
|
||||||
if self.force_build:
|
if self.force_build:
|
||||||
self.log.warn(Color.WARN + 'Building anyway.')
|
self.log.warning(Color.WARN + 'Building anyway.')
|
||||||
else:
|
else:
|
||||||
self.log.warn(Color.WARN + 'Skipping.')
|
self.log.warning(Color.WARN + 'Skipping.')
|
||||||
return
|
return
|
||||||
|
|
||||||
live_iso_cmd = f'/bin/bash {entries_dir}/liveisobuild-{arch}-{image}.sh'
|
live_iso_cmd = f'/bin/bash {entries_dir}/liveisobuild-{arch}-{image}.sh'
|
||||||
@ -1962,11 +1962,11 @@ class LiveBuild:
|
|||||||
self.log.error('See the logs for more information.')
|
self.log.error('See the logs for more information.')
|
||||||
raise SystemExit()
|
raise SystemExit()
|
||||||
|
|
||||||
self.log.warn(
|
self.log.warning(
|
||||||
Color.WARN + 'This is meant for builds done in peridot or ' +
|
Color.WARN + 'This is meant for builds done in peridot or ' +
|
||||||
'locally for an end user.'
|
'locally for an end user.'
|
||||||
)
|
)
|
||||||
self.log.warn(
|
self.log.warning(
|
||||||
Color.WARN +
|
Color.WARN +
|
||||||
'If you are looping images, your built image may get ' +
|
'If you are looping images, your built image may get ' +
|
||||||
'overwritten. Ensure you have justcopyit enabled to avoid this.'
|
'overwritten. Ensure you have justcopyit enabled to avoid this.'
|
||||||
|
@ -621,7 +621,7 @@ class Shared:
|
|||||||
s3 = boto3.client('s3')
|
s3 = boto3.client('s3')
|
||||||
if os.path.exists(dest):
|
if os.path.exists(dest):
|
||||||
if not force_download:
|
if not force_download:
|
||||||
logger.warn(
|
logger.warning(
|
||||||
'[' + Color.BOLD + Color.YELLOW + 'WARN' + Color.END + '] ' +
|
'[' + Color.BOLD + Color.YELLOW + 'WARN' + Color.END + '] ' +
|
||||||
'Artifact at ' + dest + ' already exists'
|
'Artifact at ' + dest + ' already exists'
|
||||||
)
|
)
|
||||||
@ -703,7 +703,7 @@ class Shared:
|
|||||||
"""
|
"""
|
||||||
if os.path.exists(dest):
|
if os.path.exists(dest):
|
||||||
if not force_download:
|
if not force_download:
|
||||||
logger.warn(
|
logger.warning(
|
||||||
'[' + Color.BOLD + Color.YELLOW + 'WARN' + Color.END + '] ' +
|
'[' + Color.BOLD + Color.YELLOW + 'WARN' + Color.END + '] ' +
|
||||||
'Artifact at ' + dest + ' already exists'
|
'Artifact at ' + dest + ' already exists'
|
||||||
)
|
)
|
||||||
@ -1157,7 +1157,7 @@ class Shared:
|
|||||||
shutil.copy2(src, extra_files_dir)
|
shutil.copy2(src, extra_files_dir)
|
||||||
shutil.copy2(src, metadata_dir)
|
shutil.copy2(src, metadata_dir)
|
||||||
except:
|
except:
|
||||||
logger.warn(Color.WARN + 'Extra file not copied: ' + src)
|
logger.warning(Color.WARN + 'Extra file not copied: ' + src)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
shutil.rmtree(tmpclone)
|
shutil.rmtree(tmpclone)
|
||||||
|
697
iso/empanadas/poetry.lock
generated
697
iso/empanadas/poetry.lock
generated
@ -1,32 +1,46 @@
|
|||||||
|
# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand.
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "atomicwrites"
|
name = "atomicwrites"
|
||||||
version = "1.4.1"
|
version = "1.4.1"
|
||||||
description = "Atomic file writes."
|
description = "Atomic file writes."
|
||||||
category = "dev"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
files = [
|
||||||
|
{file = "atomicwrites-1.4.1.tar.gz", hash = "sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"},
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "attrs"
|
name = "attrs"
|
||||||
version = "21.4.0"
|
version = "23.1.0"
|
||||||
description = "Classes Without Boilerplate"
|
description = "Classes Without Boilerplate"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
python-versions = ">=3.7"
|
||||||
|
files = [
|
||||||
|
{file = "attrs-23.1.0-py3-none-any.whl", hash = "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"},
|
||||||
|
{file = "attrs-23.1.0.tar.gz", hash = "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
importlib-metadata = {version = "*", markers = "python_version < \"3.8\""}
|
||||||
|
|
||||||
[package.extras]
|
[package.extras]
|
||||||
dev = ["cloudpickle", "coverage[toml] (>=5.0.2)", "furo", "hypothesis", "mypy", "pre-commit", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "six", "sphinx", "sphinx-notfound-page", "zope.interface"]
|
cov = ["attrs[tests]", "coverage[toml] (>=5.3)"]
|
||||||
docs = ["furo", "sphinx", "sphinx-notfound-page", "zope.interface"]
|
dev = ["attrs[docs,tests]", "pre-commit"]
|
||||||
tests = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "six", "zope.interface"]
|
docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"]
|
||||||
tests-no-zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "six"]
|
tests = ["attrs[tests-no-zope]", "zope-interface"]
|
||||||
|
tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "boto3"
|
name = "boto3"
|
||||||
version = "1.28.81"
|
version = "1.28.81"
|
||||||
description = "The AWS SDK for Python"
|
description = "The AWS SDK for Python"
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">= 3.7"
|
python-versions = ">= 3.7"
|
||||||
|
files = [
|
||||||
|
{file = "boto3-1.28.81-py3-none-any.whl", hash = "sha256:66e457b5f1580eb1f29855d867dec743eeec42b3935372eee5e6730e5e3124df"},
|
||||||
|
{file = "boto3-1.28.81.tar.gz", hash = "sha256:6ec7da884eed5c07e679d251bd5c66e4e2f64755ed98270a20323b241c54a743"},
|
||||||
|
]
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
botocore = ">=1.31.81,<1.32.0"
|
botocore = ">=1.31.81,<1.32.0"
|
||||||
@ -40,9 +54,12 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"]
|
|||||||
name = "botocore"
|
name = "botocore"
|
||||||
version = "1.31.81"
|
version = "1.31.81"
|
||||||
description = "Low-level, data-driven core of boto 3."
|
description = "Low-level, data-driven core of boto 3."
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">= 3.7"
|
python-versions = ">= 3.7"
|
||||||
|
files = [
|
||||||
|
{file = "botocore-1.31.81-py3-none-any.whl", hash = "sha256:eeb09a77c3e931667c9442565e8697e89e685089912a96d95f65b63e4b2c8c71"},
|
||||||
|
{file = "botocore-1.31.81.tar.gz", hash = "sha256:afb0886c5a5a542f763cc1644b1c1b4a783698d79980eb48052d1676d6b3d14e"},
|
||||||
|
]
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
jmespath = ">=0.7.1,<2.0.0"
|
jmespath = ">=0.7.1,<2.0.0"
|
||||||
@ -59,338 +76,20 @@ crt = ["awscrt (==0.16.26)"]
|
|||||||
name = "certifi"
|
name = "certifi"
|
||||||
version = "2023.7.22"
|
version = "2023.7.22"
|
||||||
description = "Python package for providing Mozilla's CA Bundle."
|
description = "Python package for providing Mozilla's CA Bundle."
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.6"
|
python-versions = ">=3.6"
|
||||||
|
files = [
|
||||||
|
{file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"},
|
||||||
|
{file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"},
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "charset-normalizer"
|
name = "charset-normalizer"
|
||||||
version = "3.3.2"
|
version = "3.3.2"
|
||||||
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
|
description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
|
||||||
category = "main"
|
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.7.0"
|
python-versions = ">=3.7.0"
|
||||||
|
files = [
|
||||||
[[package]]
|
|
||||||
name = "colorama"
|
|
||||||
version = "0.4.6"
|
|
||||||
description = "Cross-platform colored terminal text."
|
|
||||||
category = "dev"
|
|
||||||
optional = false
|
|
||||||
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "idna"
|
|
||||||
version = "3.4"
|
|
||||||
description = "Internationalized Domain Names in Applications (IDNA)"
|
|
||||||
category = "main"
|
|
||||||
optional = false
|
|
||||||
python-versions = ">=3.5"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "importlib-metadata"
|
|
||||||
version = "6.7.0"
|
|
||||||
description = "Read metadata from Python packages"
|
|
||||||
category = "dev"
|
|
||||||
optional = false
|
|
||||||
python-versions = ">=3.7"
|
|
||||||
|
|
||||||
[package.dependencies]
|
|
||||||
typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""}
|
|
||||||
zipp = ">=0.5"
|
|
||||||
|
|
||||||
[package.extras]
|
|
||||||
docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
|
|
||||||
perf = ["ipython"]
|
|
||||||
testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "importlib-resources"
|
|
||||||
version = "5.12.0"
|
|
||||||
description = "Read resources from Python packages"
|
|
||||||
category = "main"
|
|
||||||
optional = false
|
|
||||||
python-versions = ">=3.7"
|
|
||||||
|
|
||||||
[package.dependencies]
|
|
||||||
zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""}
|
|
||||||
|
|
||||||
[package.extras]
|
|
||||||
docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
|
|
||||||
testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "jinja2"
|
|
||||||
version = "2.11.3"
|
|
||||||
description = "A very fast and expressive template engine."
|
|
||||||
category = "main"
|
|
||||||
optional = false
|
|
||||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
|
||||||
|
|
||||||
[package.dependencies]
|
|
||||||
MarkupSafe = ">=0.23"
|
|
||||||
|
|
||||||
[package.extras]
|
|
||||||
i18n = ["Babel (>=0.8)"]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "jmespath"
|
|
||||||
version = "1.0.1"
|
|
||||||
description = "JSON Matching Expressions"
|
|
||||||
category = "main"
|
|
||||||
optional = false
|
|
||||||
python-versions = ">=3.7"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "kobo"
|
|
||||||
version = "0.24.2"
|
|
||||||
description = "A pile of python modules used by Red Hat release engineering to build their tools"
|
|
||||||
category = "main"
|
|
||||||
optional = false
|
|
||||||
python-versions = ">2.6"
|
|
||||||
|
|
||||||
[package.dependencies]
|
|
||||||
six = "*"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "markupsafe"
|
|
||||||
version = "2.0.1"
|
|
||||||
description = "Safely add untrusted strings to HTML/XML markup."
|
|
||||||
category = "main"
|
|
||||||
optional = false
|
|
||||||
python-versions = ">=3.6"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "more-itertools"
|
|
||||||
version = "9.1.0"
|
|
||||||
description = "More routines for operating on iterables, beyond itertools"
|
|
||||||
category = "dev"
|
|
||||||
optional = false
|
|
||||||
python-versions = ">=3.7"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "packaging"
|
|
||||||
version = "23.2"
|
|
||||||
description = "Core utilities for Python packages"
|
|
||||||
category = "dev"
|
|
||||||
optional = false
|
|
||||||
python-versions = ">=3.7"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "pluggy"
|
|
||||||
version = "0.13.1"
|
|
||||||
description = "plugin and hook calling mechanisms for python"
|
|
||||||
category = "dev"
|
|
||||||
optional = false
|
|
||||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
|
||||||
|
|
||||||
[package.dependencies]
|
|
||||||
importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
|
|
||||||
|
|
||||||
[package.extras]
|
|
||||||
dev = ["pre-commit", "tox"]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "productmd"
|
|
||||||
version = "1.33"
|
|
||||||
description = "Product, compose and installation media metadata library"
|
|
||||||
category = "main"
|
|
||||||
optional = false
|
|
||||||
python-versions = "*"
|
|
||||||
|
|
||||||
[package.dependencies]
|
|
||||||
six = "*"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "py"
|
|
||||||
version = "1.11.0"
|
|
||||||
description = "library with cross-python path, ini-parsing, io, code, log facilities"
|
|
||||||
category = "dev"
|
|
||||||
optional = false
|
|
||||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "pytest"
|
|
||||||
version = "5.4.3"
|
|
||||||
description = "pytest: simple powerful testing with Python"
|
|
||||||
category = "dev"
|
|
||||||
optional = false
|
|
||||||
python-versions = ">=3.5"
|
|
||||||
|
|
||||||
[package.dependencies]
|
|
||||||
atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""}
|
|
||||||
attrs = ">=17.4.0"
|
|
||||||
colorama = {version = "*", markers = "sys_platform == \"win32\""}
|
|
||||||
importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
|
|
||||||
more-itertools = ">=4.0.0"
|
|
||||||
packaging = "*"
|
|
||||||
pluggy = ">=0.12,<1.0"
|
|
||||||
py = ">=1.5.0"
|
|
||||||
wcwidth = "*"
|
|
||||||
|
|
||||||
[package.extras]
|
|
||||||
checkqa-mypy = ["mypy (==v0.761)"]
|
|
||||||
testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "python-dateutil"
|
|
||||||
version = "2.8.2"
|
|
||||||
description = "Extensions to the standard Python datetime module"
|
|
||||||
category = "main"
|
|
||||||
optional = false
|
|
||||||
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
|
|
||||||
|
|
||||||
[package.dependencies]
|
|
||||||
six = ">=1.5"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "pyyaml"
|
|
||||||
version = "6.0.1"
|
|
||||||
description = "YAML parser and emitter for Python"
|
|
||||||
category = "main"
|
|
||||||
optional = false
|
|
||||||
python-versions = ">=3.6"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "requests"
|
|
||||||
version = "2.31.0"
|
|
||||||
description = "Python HTTP for Humans."
|
|
||||||
category = "main"
|
|
||||||
optional = false
|
|
||||||
python-versions = ">=3.7"
|
|
||||||
|
|
||||||
[package.dependencies]
|
|
||||||
certifi = ">=2017.4.17"
|
|
||||||
charset-normalizer = ">=2,<4"
|
|
||||||
idna = ">=2.5,<4"
|
|
||||||
urllib3 = ">=1.21.1,<3"
|
|
||||||
|
|
||||||
[package.extras]
|
|
||||||
socks = ["PySocks (>=1.5.6,!=1.5.7)"]
|
|
||||||
use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "rpm"
|
|
||||||
version = "0.1.0"
|
|
||||||
description = "Shim RPM module for use in virtualenvs."
|
|
||||||
category = "main"
|
|
||||||
optional = false
|
|
||||||
python-versions = ">=3.6"
|
|
||||||
|
|
||||||
[package.extras]
|
|
||||||
testing = ["tox"]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "s3transfer"
|
|
||||||
version = "0.7.0"
|
|
||||||
description = "An Amazon S3 Transfer Manager"
|
|
||||||
category = "main"
|
|
||||||
optional = false
|
|
||||||
python-versions = ">= 3.7"
|
|
||||||
|
|
||||||
[package.dependencies]
|
|
||||||
botocore = ">=1.12.36,<2.0a.0"
|
|
||||||
|
|
||||||
[package.extras]
|
|
||||||
crt = ["botocore[crt] (>=1.20.29,<2.0a.0)"]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "six"
|
|
||||||
version = "1.16.0"
|
|
||||||
description = "Python 2 and 3 compatibility utilities"
|
|
||||||
category = "main"
|
|
||||||
optional = false
|
|
||||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "typing-extensions"
|
|
||||||
version = "4.7.1"
|
|
||||||
description = "Backported and Experimental Type Hints for Python 3.7+"
|
|
||||||
category = "dev"
|
|
||||||
optional = false
|
|
||||||
python-versions = ">=3.7"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "urllib3"
|
|
||||||
version = "1.26.18"
|
|
||||||
description = "HTTP library with thread-safe connection pooling, file post, and more."
|
|
||||||
category = "main"
|
|
||||||
optional = false
|
|
||||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
|
|
||||||
|
|
||||||
[package.extras]
|
|
||||||
brotli = ["brotli (==1.0.9)", "brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"]
|
|
||||||
secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"]
|
|
||||||
socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "urllib3"
|
|
||||||
version = "2.0.7"
|
|
||||||
description = "HTTP library with thread-safe connection pooling, file post, and more."
|
|
||||||
category = "main"
|
|
||||||
optional = false
|
|
||||||
python-versions = ">=3.7"
|
|
||||||
|
|
||||||
[package.extras]
|
|
||||||
brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"]
|
|
||||||
secure = ["certifi", "cryptography (>=1.9)", "idna (>=2.0.0)", "pyopenssl (>=17.1.0)", "urllib3-secure-extra"]
|
|
||||||
socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"]
|
|
||||||
zstd = ["zstandard (>=0.18.0)"]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "wcwidth"
|
|
||||||
version = "0.2.9"
|
|
||||||
description = "Measures the displayed width of unicode strings in a terminal"
|
|
||||||
category = "dev"
|
|
||||||
optional = false
|
|
||||||
python-versions = "*"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "xmltodict"
|
|
||||||
version = "0.13.0"
|
|
||||||
description = "Makes working with XML feel like you are working with JSON"
|
|
||||||
category = "main"
|
|
||||||
optional = false
|
|
||||||
python-versions = ">=3.4"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "zipp"
|
|
||||||
version = "3.15.0"
|
|
||||||
description = "Backport of pathlib-compatible object wrapper for zip files"
|
|
||||||
category = "main"
|
|
||||||
optional = false
|
|
||||||
python-versions = ">=3.7"
|
|
||||||
|
|
||||||
[package.extras]
|
|
||||||
docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
|
|
||||||
testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"]
|
|
||||||
|
|
||||||
[metadata]
|
|
||||||
lock-version = "1.1"
|
|
||||||
python-versions = ">=3.7,<4"
|
|
||||||
content-hash = "d02a16fa718931c809fe8c7cfe4c993082e037ee2b290859a90b4f02d93d02d6"
|
|
||||||
|
|
||||||
[metadata.files]
|
|
||||||
atomicwrites = [
|
|
||||||
{file = "atomicwrites-1.4.1.tar.gz", hash = "sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"},
|
|
||||||
]
|
|
||||||
attrs = [
|
|
||||||
{file = "attrs-21.4.0-py2.py3-none-any.whl", hash = "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4"},
|
|
||||||
{file = "attrs-21.4.0.tar.gz", hash = "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd"},
|
|
||||||
]
|
|
||||||
boto3 = [
|
|
||||||
{file = "boto3-1.28.81-py3-none-any.whl", hash = "sha256:66e457b5f1580eb1f29855d867dec743eeec42b3935372eee5e6730e5e3124df"},
|
|
||||||
{file = "boto3-1.28.81.tar.gz", hash = "sha256:6ec7da884eed5c07e679d251bd5c66e4e2f64755ed98270a20323b241c54a743"},
|
|
||||||
]
|
|
||||||
botocore = [
|
|
||||||
{file = "botocore-1.31.81-py3-none-any.whl", hash = "sha256:eeb09a77c3e931667c9442565e8697e89e685089912a96d95f65b63e4b2c8c71"},
|
|
||||||
{file = "botocore-1.31.81.tar.gz", hash = "sha256:afb0886c5a5a542f763cc1644b1c1b4a783698d79980eb48052d1676d6b3d14e"},
|
|
||||||
]
|
|
||||||
certifi = [
|
|
||||||
{file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"},
|
|
||||||
{file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"},
|
|
||||||
]
|
|
||||||
charset-normalizer = [
|
|
||||||
{file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"},
|
{file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"},
|
||||||
{file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"},
|
{file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"},
|
||||||
{file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"},
|
{file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"},
|
||||||
@ -482,34 +181,116 @@ charset-normalizer = [
|
|||||||
{file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"},
|
{file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"},
|
||||||
{file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"},
|
{file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"},
|
||||||
]
|
]
|
||||||
colorama = [
|
|
||||||
|
[[package]]
|
||||||
|
name = "colorama"
|
||||||
|
version = "0.4.6"
|
||||||
|
description = "Cross-platform colored terminal text."
|
||||||
|
optional = false
|
||||||
|
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7"
|
||||||
|
files = [
|
||||||
{file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
|
{file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"},
|
||||||
{file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
|
{file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"},
|
||||||
]
|
]
|
||||||
idna = [
|
|
||||||
|
[[package]]
|
||||||
|
name = "idna"
|
||||||
|
version = "3.4"
|
||||||
|
description = "Internationalized Domain Names in Applications (IDNA)"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.5"
|
||||||
|
files = [
|
||||||
{file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"},
|
{file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"},
|
||||||
{file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"},
|
{file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"},
|
||||||
]
|
]
|
||||||
importlib-metadata = [
|
|
||||||
|
[[package]]
|
||||||
|
name = "importlib-metadata"
|
||||||
|
version = "6.7.0"
|
||||||
|
description = "Read metadata from Python packages"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.7"
|
||||||
|
files = [
|
||||||
{file = "importlib_metadata-6.7.0-py3-none-any.whl", hash = "sha256:cb52082e659e97afc5dac71e79de97d8681de3aa07ff18578330904a9d18e5b5"},
|
{file = "importlib_metadata-6.7.0-py3-none-any.whl", hash = "sha256:cb52082e659e97afc5dac71e79de97d8681de3aa07ff18578330904a9d18e5b5"},
|
||||||
{file = "importlib_metadata-6.7.0.tar.gz", hash = "sha256:1aaf550d4f73e5d6783e7acb77aec43d49da8017410afae93822cc9cca98c4d4"},
|
{file = "importlib_metadata-6.7.0.tar.gz", hash = "sha256:1aaf550d4f73e5d6783e7acb77aec43d49da8017410afae93822cc9cca98c4d4"},
|
||||||
]
|
]
|
||||||
importlib-resources = [
|
|
||||||
|
[package.dependencies]
|
||||||
|
typing-extensions = {version = ">=3.6.4", markers = "python_version < \"3.8\""}
|
||||||
|
zipp = ">=0.5"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
|
||||||
|
perf = ["ipython"]
|
||||||
|
testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "importlib-resources"
|
||||||
|
version = "5.12.0"
|
||||||
|
description = "Read resources from Python packages"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.7"
|
||||||
|
files = [
|
||||||
{file = "importlib_resources-5.12.0-py3-none-any.whl", hash = "sha256:7b1deeebbf351c7578e09bf2f63fa2ce8b5ffec296e0d349139d43cca061a81a"},
|
{file = "importlib_resources-5.12.0-py3-none-any.whl", hash = "sha256:7b1deeebbf351c7578e09bf2f63fa2ce8b5ffec296e0d349139d43cca061a81a"},
|
||||||
{file = "importlib_resources-5.12.0.tar.gz", hash = "sha256:4be82589bf5c1d7999aedf2a45159d10cb3ca4f19b2271f8792bc8e6da7b22f6"},
|
{file = "importlib_resources-5.12.0.tar.gz", hash = "sha256:4be82589bf5c1d7999aedf2a45159d10cb3ca4f19b2271f8792bc8e6da7b22f6"},
|
||||||
]
|
]
|
||||||
jinja2 = [
|
|
||||||
|
[package.dependencies]
|
||||||
|
zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""}
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
|
||||||
|
testing = ["flake8 (<5)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "jinja2"
|
||||||
|
version = "2.11.3"
|
||||||
|
description = "A very fast and expressive template engine."
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
||||||
|
files = [
|
||||||
{file = "Jinja2-2.11.3-py2.py3-none-any.whl", hash = "sha256:03e47ad063331dd6a3f04a43eddca8a966a26ba0c5b7207a9a9e4e08f1b29419"},
|
{file = "Jinja2-2.11.3-py2.py3-none-any.whl", hash = "sha256:03e47ad063331dd6a3f04a43eddca8a966a26ba0c5b7207a9a9e4e08f1b29419"},
|
||||||
{file = "Jinja2-2.11.3.tar.gz", hash = "sha256:a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6"},
|
{file = "Jinja2-2.11.3.tar.gz", hash = "sha256:a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6"},
|
||||||
]
|
]
|
||||||
jmespath = [
|
|
||||||
|
[package.dependencies]
|
||||||
|
MarkupSafe = ">=0.23"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
i18n = ["Babel (>=0.8)"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "jmespath"
|
||||||
|
version = "1.0.1"
|
||||||
|
description = "JSON Matching Expressions"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.7"
|
||||||
|
files = [
|
||||||
{file = "jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980"},
|
{file = "jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980"},
|
||||||
{file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"},
|
{file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"},
|
||||||
]
|
]
|
||||||
kobo = [
|
|
||||||
{file = "kobo-0.24.2.tar.gz", hash = "sha256:1b3c17260a93d933d2238884373fbf3485ecd417d930acf984285dc012410e2b"},
|
[[package]]
|
||||||
|
name = "kobo"
|
||||||
|
version = "0.33.0"
|
||||||
|
description = "A pile of python modules used by Red Hat release engineering to build their tools"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.6"
|
||||||
|
files = [
|
||||||
|
{file = "kobo-0.33.0-py3-none-any.whl", hash = "sha256:50f2eef41d1e528eba0bcdc04e6d88073353e6815abb86bf4fe3b1a7be449039"},
|
||||||
|
{file = "kobo-0.33.0.tar.gz", hash = "sha256:34711f4ad0f38600bf7aafe6039b24d94458212de8b2b67c4b0c3144d47ef617"},
|
||||||
]
|
]
|
||||||
markupsafe = [
|
|
||||||
|
[package.dependencies]
|
||||||
|
six = "*"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "markupsafe"
|
||||||
|
version = "2.0.1"
|
||||||
|
description = "Safely add untrusted strings to HTML/XML markup."
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.6"
|
||||||
|
files = [
|
||||||
{file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53"},
|
{file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d8446c54dc28c01e5a2dbac5a25f071f6653e6e40f3a8818e8b45d790fe6ef53"},
|
||||||
{file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:36bc903cbb393720fad60fc28c10de6acf10dc6cc883f3e24ee4012371399a38"},
|
{file = "MarkupSafe-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:36bc903cbb393720fad60fc28c10de6acf10dc6cc883f3e24ee4012371399a38"},
|
||||||
{file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d7d807855b419fc2ed3e631034685db6079889a1f01d5d9dac950f764da3dad"},
|
{file = "MarkupSafe-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d7d807855b419fc2ed3e631034685db6079889a1f01d5d9dac950f764da3dad"},
|
||||||
@ -580,35 +361,118 @@ markupsafe = [
|
|||||||
{file = "MarkupSafe-2.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:693ce3f9e70a6cf7d2fb9e6c9d8b204b6b39897a2c4a1aa65728d5ac97dcc1d8"},
|
{file = "MarkupSafe-2.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:693ce3f9e70a6cf7d2fb9e6c9d8b204b6b39897a2c4a1aa65728d5ac97dcc1d8"},
|
||||||
{file = "MarkupSafe-2.0.1.tar.gz", hash = "sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a"},
|
{file = "MarkupSafe-2.0.1.tar.gz", hash = "sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a"},
|
||||||
]
|
]
|
||||||
more-itertools = [
|
|
||||||
|
[[package]]
|
||||||
|
name = "more-itertools"
|
||||||
|
version = "9.1.0"
|
||||||
|
description = "More routines for operating on iterables, beyond itertools"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.7"
|
||||||
|
files = [
|
||||||
{file = "more-itertools-9.1.0.tar.gz", hash = "sha256:cabaa341ad0389ea83c17a94566a53ae4c9d07349861ecb14dc6d0345cf9ac5d"},
|
{file = "more-itertools-9.1.0.tar.gz", hash = "sha256:cabaa341ad0389ea83c17a94566a53ae4c9d07349861ecb14dc6d0345cf9ac5d"},
|
||||||
{file = "more_itertools-9.1.0-py3-none-any.whl", hash = "sha256:d2bc7f02446e86a68911e58ded76d6561eea00cddfb2a91e7019bbb586c799f3"},
|
{file = "more_itertools-9.1.0-py3-none-any.whl", hash = "sha256:d2bc7f02446e86a68911e58ded76d6561eea00cddfb2a91e7019bbb586c799f3"},
|
||||||
]
|
]
|
||||||
packaging = [
|
|
||||||
|
[[package]]
|
||||||
|
name = "packaging"
|
||||||
|
version = "23.2"
|
||||||
|
description = "Core utilities for Python packages"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.7"
|
||||||
|
files = [
|
||||||
{file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"},
|
{file = "packaging-23.2-py3-none-any.whl", hash = "sha256:8c491190033a9af7e1d931d0b5dacc2ef47509b34dd0de67ed209b5203fc88c7"},
|
||||||
{file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"},
|
{file = "packaging-23.2.tar.gz", hash = "sha256:048fb0e9405036518eaaf48a55953c750c11e1a1b68e0dd1a9d62ed0c092cfc5"},
|
||||||
]
|
]
|
||||||
pluggy = [
|
|
||||||
|
[[package]]
|
||||||
|
name = "pluggy"
|
||||||
|
version = "0.13.1"
|
||||||
|
description = "plugin and hook calling mechanisms for python"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
files = [
|
||||||
{file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"},
|
{file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"},
|
||||||
{file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"},
|
{file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"},
|
||||||
]
|
]
|
||||||
productmd = [
|
|
||||||
{file = "productmd-1.33-py3-none-any.whl", hash = "sha256:467dfeb84e74834b6a65508536ccd8ec2d81c24a0ecee5e77d2c358e97eae164"},
|
[package.dependencies]
|
||||||
{file = "productmd-1.33.tar.gz", hash = "sha256:aaf49bdd2a5cb97f7c6b5011f669dbed153efc7bc61e6935fa796a1b94d16b7e"},
|
importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
dev = ["pre-commit", "tox"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "productmd"
|
||||||
|
version = "1.37"
|
||||||
|
description = "Product, compose and installation media metadata library"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
files = [
|
||||||
|
{file = "productmd-1.37-py3-none-any.whl", hash = "sha256:9f037ca1807f3ec293a61be2c989da52956c10ffd09b05f2166c8d26f70a17f0"},
|
||||||
|
{file = "productmd-1.37.tar.gz", hash = "sha256:8d9057d9874f159a0a581e8c3b5e0c39fff9794fc010ad379d0c88d81c7adccd"},
|
||||||
]
|
]
|
||||||
py = [
|
|
||||||
|
[package.dependencies]
|
||||||
|
six = "*"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "py"
|
||||||
|
version = "1.11.0"
|
||||||
|
description = "library with cross-python path, ini-parsing, io, code, log facilities"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
||||||
|
files = [
|
||||||
{file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"},
|
{file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"},
|
||||||
{file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"},
|
{file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"},
|
||||||
]
|
]
|
||||||
pytest = [
|
|
||||||
|
[[package]]
|
||||||
|
name = "pytest"
|
||||||
|
version = "5.4.3"
|
||||||
|
description = "pytest: simple powerful testing with Python"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.5"
|
||||||
|
files = [
|
||||||
{file = "pytest-5.4.3-py3-none-any.whl", hash = "sha256:5c0db86b698e8f170ba4582a492248919255fcd4c79b1ee64ace34301fb589a1"},
|
{file = "pytest-5.4.3-py3-none-any.whl", hash = "sha256:5c0db86b698e8f170ba4582a492248919255fcd4c79b1ee64ace34301fb589a1"},
|
||||||
{file = "pytest-5.4.3.tar.gz", hash = "sha256:7979331bfcba207414f5e1263b5a0f8f521d0f457318836a7355531ed1a4c7d8"},
|
{file = "pytest-5.4.3.tar.gz", hash = "sha256:7979331bfcba207414f5e1263b5a0f8f521d0f457318836a7355531ed1a4c7d8"},
|
||||||
]
|
]
|
||||||
python-dateutil = [
|
|
||||||
|
[package.dependencies]
|
||||||
|
atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""}
|
||||||
|
attrs = ">=17.4.0"
|
||||||
|
colorama = {version = "*", markers = "sys_platform == \"win32\""}
|
||||||
|
importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
|
||||||
|
more-itertools = ">=4.0.0"
|
||||||
|
packaging = "*"
|
||||||
|
pluggy = ">=0.12,<1.0"
|
||||||
|
py = ">=1.5.0"
|
||||||
|
wcwidth = "*"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
checkqa-mypy = ["mypy (==v0.761)"]
|
||||||
|
testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "python-dateutil"
|
||||||
|
version = "2.8.2"
|
||||||
|
description = "Extensions to the standard Python datetime module"
|
||||||
|
optional = false
|
||||||
|
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7"
|
||||||
|
files = [
|
||||||
{file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"},
|
{file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"},
|
||||||
{file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"},
|
{file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"},
|
||||||
]
|
]
|
||||||
pyyaml = [
|
|
||||||
|
[package.dependencies]
|
||||||
|
six = ">=1.5"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "pyyaml"
|
||||||
|
version = "6.0.1"
|
||||||
|
description = "YAML parser and emitter for Python"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.6"
|
||||||
|
files = [
|
||||||
{file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"},
|
{file = "PyYAML-6.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a"},
|
||||||
{file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"},
|
{file = "PyYAML-6.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f"},
|
||||||
{file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"},
|
{file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"},
|
||||||
@ -660,41 +524,152 @@ pyyaml = [
|
|||||||
{file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"},
|
{file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"},
|
||||||
{file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"},
|
{file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"},
|
||||||
]
|
]
|
||||||
requests = [
|
|
||||||
|
[[package]]
|
||||||
|
name = "requests"
|
||||||
|
version = "2.31.0"
|
||||||
|
description = "Python HTTP for Humans."
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.7"
|
||||||
|
files = [
|
||||||
{file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"},
|
{file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"},
|
||||||
{file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"},
|
{file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"},
|
||||||
]
|
]
|
||||||
rpm = [
|
|
||||||
|
[package.dependencies]
|
||||||
|
certifi = ">=2017.4.17"
|
||||||
|
charset-normalizer = ">=2,<4"
|
||||||
|
idna = ">=2.5,<4"
|
||||||
|
urllib3 = ">=1.21.1,<3"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
socks = ["PySocks (>=1.5.6,!=1.5.7)"]
|
||||||
|
use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rpm"
|
||||||
|
version = "0.1.0"
|
||||||
|
description = "Shim RPM module for use in virtualenvs."
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.6"
|
||||||
|
files = [
|
||||||
{file = "rpm-0.1.0-py3-none-any.whl", hash = "sha256:3664381f6f3cf050e97f49619cf57abacf3e77d68ddd3bfea3e7459c7c5f03f9"},
|
{file = "rpm-0.1.0-py3-none-any.whl", hash = "sha256:3664381f6f3cf050e97f49619cf57abacf3e77d68ddd3bfea3e7459c7c5f03f9"},
|
||||||
{file = "rpm-0.1.0.tar.gz", hash = "sha256:0e320a806fb61c3980c0cd0c5f5faec97c73c347432902ba2955a08a7b1a034f"},
|
{file = "rpm-0.1.0.tar.gz", hash = "sha256:0e320a806fb61c3980c0cd0c5f5faec97c73c347432902ba2955a08a7b1a034f"},
|
||||||
]
|
]
|
||||||
s3transfer = [
|
|
||||||
|
[package.extras]
|
||||||
|
testing = ["tox"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "s3transfer"
|
||||||
|
version = "0.7.0"
|
||||||
|
description = "An Amazon S3 Transfer Manager"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">= 3.7"
|
||||||
|
files = [
|
||||||
{file = "s3transfer-0.7.0-py3-none-any.whl", hash = "sha256:10d6923c6359175f264811ef4bf6161a3156ce8e350e705396a7557d6293c33a"},
|
{file = "s3transfer-0.7.0-py3-none-any.whl", hash = "sha256:10d6923c6359175f264811ef4bf6161a3156ce8e350e705396a7557d6293c33a"},
|
||||||
{file = "s3transfer-0.7.0.tar.gz", hash = "sha256:fd3889a66f5fe17299fe75b82eae6cf722554edca744ca5d5fe308b104883d2e"},
|
{file = "s3transfer-0.7.0.tar.gz", hash = "sha256:fd3889a66f5fe17299fe75b82eae6cf722554edca744ca5d5fe308b104883d2e"},
|
||||||
]
|
]
|
||||||
six = [
|
|
||||||
|
[package.dependencies]
|
||||||
|
botocore = ">=1.12.36,<2.0a.0"
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
crt = ["botocore[crt] (>=1.20.29,<2.0a.0)"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "six"
|
||||||
|
version = "1.16.0"
|
||||||
|
description = "Python 2 and 3 compatibility utilities"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
|
||||||
|
files = [
|
||||||
{file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
|
{file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
|
||||||
{file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
|
{file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
|
||||||
]
|
]
|
||||||
typing-extensions = [
|
|
||||||
|
[[package]]
|
||||||
|
name = "typing-extensions"
|
||||||
|
version = "4.7.1"
|
||||||
|
description = "Backported and Experimental Type Hints for Python 3.7+"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.7"
|
||||||
|
files = [
|
||||||
{file = "typing_extensions-4.7.1-py3-none-any.whl", hash = "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36"},
|
{file = "typing_extensions-4.7.1-py3-none-any.whl", hash = "sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36"},
|
||||||
{file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"},
|
{file = "typing_extensions-4.7.1.tar.gz", hash = "sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"},
|
||||||
]
|
]
|
||||||
urllib3 = [
|
|
||||||
|
[[package]]
|
||||||
|
name = "urllib3"
|
||||||
|
version = "1.26.18"
|
||||||
|
description = "HTTP library with thread-safe connection pooling, file post, and more."
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
|
||||||
|
files = [
|
||||||
{file = "urllib3-1.26.18-py2.py3-none-any.whl", hash = "sha256:34b97092d7e0a3a8cf7cd10e386f401b3737364026c45e622aa02903dffe0f07"},
|
{file = "urllib3-1.26.18-py2.py3-none-any.whl", hash = "sha256:34b97092d7e0a3a8cf7cd10e386f401b3737364026c45e622aa02903dffe0f07"},
|
||||||
{file = "urllib3-1.26.18.tar.gz", hash = "sha256:f8ecc1bba5667413457c529ab955bf8c67b45db799d159066261719e328580a0"},
|
{file = "urllib3-1.26.18.tar.gz", hash = "sha256:f8ecc1bba5667413457c529ab955bf8c67b45db799d159066261719e328580a0"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
brotli = ["brotli (==1.0.9)", "brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"]
|
||||||
|
secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"]
|
||||||
|
socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "urllib3"
|
||||||
|
version = "2.0.7"
|
||||||
|
description = "HTTP library with thread-safe connection pooling, file post, and more."
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.7"
|
||||||
|
files = [
|
||||||
{file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"},
|
{file = "urllib3-2.0.7-py3-none-any.whl", hash = "sha256:fdb6d215c776278489906c2f8916e6e7d4f5a9b602ccbcfdf7f016fc8da0596e"},
|
||||||
{file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"},
|
{file = "urllib3-2.0.7.tar.gz", hash = "sha256:c97dfde1f7bd43a71c8d2a58e369e9b2bf692d1334ea9f9cae55add7d0dd0f84"},
|
||||||
]
|
]
|
||||||
wcwidth = [
|
|
||||||
|
[package.extras]
|
||||||
|
brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"]
|
||||||
|
secure = ["certifi", "cryptography (>=1.9)", "idna (>=2.0.0)", "pyopenssl (>=17.1.0)", "urllib3-secure-extra"]
|
||||||
|
socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"]
|
||||||
|
zstd = ["zstandard (>=0.18.0)"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wcwidth"
|
||||||
|
version = "0.2.9"
|
||||||
|
description = "Measures the displayed width of unicode strings in a terminal"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
files = [
|
||||||
{file = "wcwidth-0.2.9-py2.py3-none-any.whl", hash = "sha256:9a929bd8380f6cd9571a968a9c8f4353ca58d7cd812a4822bba831f8d685b223"},
|
{file = "wcwidth-0.2.9-py2.py3-none-any.whl", hash = "sha256:9a929bd8380f6cd9571a968a9c8f4353ca58d7cd812a4822bba831f8d685b223"},
|
||||||
{file = "wcwidth-0.2.9.tar.gz", hash = "sha256:a675d1a4a2d24ef67096a04b85b02deeecd8e226f57b5e3a72dbb9ed99d27da8"},
|
{file = "wcwidth-0.2.9.tar.gz", hash = "sha256:a675d1a4a2d24ef67096a04b85b02deeecd8e226f57b5e3a72dbb9ed99d27da8"},
|
||||||
]
|
]
|
||||||
xmltodict = [
|
|
||||||
|
[[package]]
|
||||||
|
name = "xmltodict"
|
||||||
|
version = "0.13.0"
|
||||||
|
description = "Makes working with XML feel like you are working with JSON"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.4"
|
||||||
|
files = [
|
||||||
{file = "xmltodict-0.13.0-py2.py3-none-any.whl", hash = "sha256:aa89e8fd76320154a40d19a0df04a4695fb9dc5ba977cbb68ab3e4eb225e7852"},
|
{file = "xmltodict-0.13.0-py2.py3-none-any.whl", hash = "sha256:aa89e8fd76320154a40d19a0df04a4695fb9dc5ba977cbb68ab3e4eb225e7852"},
|
||||||
{file = "xmltodict-0.13.0.tar.gz", hash = "sha256:341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56"},
|
{file = "xmltodict-0.13.0.tar.gz", hash = "sha256:341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56"},
|
||||||
]
|
]
|
||||||
zipp = [
|
|
||||||
|
[[package]]
|
||||||
|
name = "zipp"
|
||||||
|
version = "3.15.0"
|
||||||
|
description = "Backport of pathlib-compatible object wrapper for zip files"
|
||||||
|
optional = false
|
||||||
|
python-versions = ">=3.7"
|
||||||
|
files = [
|
||||||
{file = "zipp-3.15.0-py3-none-any.whl", hash = "sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556"},
|
{file = "zipp-3.15.0-py3-none-any.whl", hash = "sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556"},
|
||||||
{file = "zipp-3.15.0.tar.gz", hash = "sha256:112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b"},
|
{file = "zipp-3.15.0.tar.gz", hash = "sha256:112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b"},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
|
||||||
|
testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"]
|
||||||
|
|
||||||
|
[metadata]
|
||||||
|
lock-version = "2.0"
|
||||||
|
python-versions = ">=3.7,<4"
|
||||||
|
content-hash = "3653594c6605d2e9b01929eb7df2dd4824b3db249983e3d4607566fce19a54d8"
|
||||||
|
@ -1,22 +1,22 @@
|
|||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "empanadas"
|
name = "empanadas"
|
||||||
version = "0.6.1"
|
version = "0.6.2"
|
||||||
description = "hand crafted ISOs with love and spice"
|
description = "hand crafted ISOs with love and spice"
|
||||||
authors = ["Louis Abel <label@rockylinux.org>", "Neil Hanlon <neil@rockylinux.org>"]
|
authors = ["Louis Abel <label@rockylinux.org>", "Neil Hanlon <neil@rockylinux.org>"]
|
||||||
|
|
||||||
[tool.poetry.dependencies]
|
[tool.poetry.dependencies]
|
||||||
python = ">=3.7,<4"
|
python = ">=3.7,<4"
|
||||||
rpm = ">=0.1.0"
|
rpm = ">=0.1.0"
|
||||||
MarkupSafe = "<=2.0.1"
|
MarkupSafe = "<=2.1.3"
|
||||||
PyYAML = "~6.0"
|
PyYAML = "~6.0.1"
|
||||||
Jinja2 = "~2"
|
Jinja2 = "~2"
|
||||||
productmd = "~1.33"
|
productmd = "~1.37"
|
||||||
importlib-resources = "^5.8.0"
|
importlib-resources = "^5.8.0"
|
||||||
boto3 = "^1.24.12"
|
boto3 = "^1.28.80"
|
||||||
xmltodict = "^0.13.0"
|
xmltodict = "^0.13.0"
|
||||||
requests = "^2.28.0"
|
requests = "^2.31.0"
|
||||||
kobo = "^0.24.1"
|
kobo = "^0.33.0"
|
||||||
attrs = "^21.4.0"
|
attrs = "^23.1.0"
|
||||||
|
|
||||||
[tool.poetry.dev-dependencies]
|
[tool.poetry.dev-dependencies]
|
||||||
pytest = "~5"
|
pytest = "~5"
|
||||||
|
12
mangle/generators/get_module_rpm_to_list.sh
Normal file
12
mangle/generators/get_module_rpm_to_list.sh
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
for x in $(cat list); do
|
||||||
|
NAME=$(echo $x | cut -d ':' -f 1)
|
||||||
|
STREAM=$(echo $x | cut -d ':' -f 2)
|
||||||
|
git clone ssh://git.rockylinux.org:22220/staging/modules/${NAME} -b r8s-stream-${STREAM}
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
pushd $NAME
|
||||||
|
cat ${NAME}.yaml | yq '.data.components.rpms | keys[]' | sed 's/"//g' > ../${NAME}:${STREAM}.list
|
||||||
|
popd
|
||||||
|
rm -rf ${NAME}
|
||||||
|
fi
|
||||||
|
done
|
57
mangle/generators/lh_to_beta_modules.sh
Normal file
57
mangle/generators/lh_to_beta_modules.sh
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
function reloop_modules_to_beta() {
|
||||||
|
FILE="${1}"
|
||||||
|
RHELVER="${2}"
|
||||||
|
MAJOR="$(echo ${RHELVER} | cut -d '.' -f1)"
|
||||||
|
MINOR="$(echo ${RHELVER} | cut -d '.' -f2)"
|
||||||
|
|
||||||
|
if [ "${#MINOR}" -eq 1 ]; then
|
||||||
|
MINOR="0${MINOR}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
DATE="$(date +%Y%m%d%H%M%S)"
|
||||||
|
|
||||||
|
if [ ! -f "${FILE}" ]; then
|
||||||
|
echo "Not a file"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$RHELVER" ]; then
|
||||||
|
echo "verion required"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "${FILE}" ]; then
|
||||||
|
grep -q ".*:.*" ${FILE}
|
||||||
|
ret_val=$?
|
||||||
|
if [ $ret_val -ne 0 ]; then
|
||||||
|
echo "File not formatted correctly"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
for x in $(cat ${FILE}); do
|
||||||
|
NAME=$(echo ${x} | cut -d':' -f1)
|
||||||
|
STREAM=$(echo ${x} | cut -d':' -f2)
|
||||||
|
TAG="imports/c${MAJOR}-beta-stream-${STREAM}/${NAME}-${STREAM}-${MAJOR}${MINOR}00${DATE}.deadbeef"
|
||||||
|
SBRANCH="c${MAJOR}s-stream-${STREAM}"
|
||||||
|
BRANCH="c${MAJOR}-beta-stream-${STREAM}"
|
||||||
|
|
||||||
|
git clone ssh://src.enterpriselinux.social/modules/${NAME}.git -b "${SBRANCH}"
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "!! Branch does not exist?"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
pushd ${NAME}
|
||||||
|
git push --delete origin $(git tag | grep c${MAJOR}-beta-stream-${STREAM})
|
||||||
|
# just in case
|
||||||
|
git branch -D "${BRANCH}"
|
||||||
|
git checkout -b "${BRANCH}"
|
||||||
|
sed -i "s|ref: .*|ref: c${MAJOR}-beta-stream-${STREAM}|g" *.yaml
|
||||||
|
git add *.yaml
|
||||||
|
git commit -m 'update'
|
||||||
|
git tag -a ${TAG} -m 'update'
|
||||||
|
git push origin ${BRANCH} ${TAG} -f
|
||||||
|
popd
|
||||||
|
rm -rf $(pwd)/${NAME}
|
||||||
|
done
|
||||||
|
}
|
21
mangle/generators/lh_to_beta_rpms.sh
Normal file
21
mangle/generators/lh_to_beta_rpms.sh
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
for x in $(ls *.list) ; do
|
||||||
|
NAME=$(echo $x | cut -d ':' -f 1)
|
||||||
|
STREAM=$(echo ${x/.list/} | cut -d ':' -f 2)
|
||||||
|
for rpm in $(cat ${x}); do
|
||||||
|
git clone ssh://git.rockylinux.org:22220/staging/rpms/${rpm}.git -b r8s-stream-${STREAM}
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
pushd $rpm
|
||||||
|
git push --delete origin $(git tag | grep r8-beta-stream-${STREAM})
|
||||||
|
git checkout -b r8-beta-stream-${STREAM}
|
||||||
|
#git tag -a imports/r8-beta-stream-${STREAM}/20231015200000.deadbeef -m '9.3'
|
||||||
|
git push -f origin imports/r8-beta-stream-${STREAM}/20231015200000.deadbeef r8-beta-stream-${STREAM}
|
||||||
|
popd
|
||||||
|
rm -rf $rpm
|
||||||
|
else
|
||||||
|
echo "error"
|
||||||
|
echo "$rpm" >> errors
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
Loading…
Reference in New Issue
Block a user