From fa74e96c84650f02e3c03728dfeee966cf460c05 Mon Sep 17 00:00:00 2001 From: Neil Hanlon Date: Thu, 16 Jun 2022 23:31:33 -0400 Subject: [PATCH] Lets write some poetry --- iso/{py => empanadas}/.gitignore | 0 iso/{py => empanadas}/README.md | 19 +- iso/empanadas/empanadas/__init__.py | 1 + iso/{py => empanadas/empanadas}/common.py | 0 .../empanadas}/configs/el8.yaml | 0 .../empanadas}/configs/el9-beta.yaml | 0 .../empanadas}/configs/el9.yaml | 0 .../empanadas}/configs/el9lh.yaml | 0 .../empanadas/scripts/build-iso.py} | 11 +- .../scripts/sync-from-peridot-test.py} | 15 +- .../empanadas/scripts/sync-from-peridot.py} | 12 +- .../empanadas/scripts/sync-sig.py} | 12 +- .../empanadas}/sig/altarch.yaml | 0 .../empanadas}/sig/cloud.yaml | 0 iso/{py => empanadas/empanadas}/sig/core.yaml | 0 .../empanadas}/templates/buildImage.tmpl.sh | 0 .../empanadas}/templates/isobuild.tmpl.sh | 0 .../empanadas}/templates/isolorax.tmpl.sh | 0 .../empanadas}/templates/isomock.tmpl.cfg | 0 .../empanadas}/templates/repoconfig.tmpl | 0 .../empanadas}/templates/reposync-src.tmpl | 0 .../empanadas}/templates/reposync.tmpl | 0 .../empanadas}/util/__init__.py | 6 +- iso/{py => empanadas/empanadas}/util/check.py | 3 +- .../empanadas}/util/dnf_utils.py | 4 +- .../empanadas}/util/iso_utils.py | 5 +- iso/empanadas/poetry.lock | 304 ++++++++++++++++++ iso/empanadas/pyproject.toml | 25 ++ iso/empanadas/tests/__init__.py | 0 iso/empanadas/tests/test_empanadas.py | 5 + 30 files changed, 392 insertions(+), 30 deletions(-) rename iso/{py => empanadas}/.gitignore (100%) rename iso/{py => empanadas}/README.md (61%) create mode 100644 iso/empanadas/empanadas/__init__.py rename iso/{py => empanadas/empanadas}/common.py (100%) rename iso/{py => empanadas/empanadas}/configs/el8.yaml (100%) rename iso/{py => empanadas/empanadas}/configs/el9-beta.yaml (100%) rename iso/{py => empanadas/empanadas}/configs/el9.yaml (100%) rename iso/{py => empanadas/empanadas}/configs/el9lh.yaml (100%) rename iso/{py/build-iso => empanadas/empanadas/scripts/build-iso.py} (85%) rename iso/{py/sync-from-peridot-test => empanadas/empanadas/scripts/sync-from-peridot-test.py} (61%) rename iso/{py/sync-from-peridot => empanadas/empanadas/scripts/sync-from-peridot.py} (93%) rename iso/{py/sync-sig => empanadas/empanadas/scripts/sync-sig.py} (93%) rename iso/{py => empanadas/empanadas}/sig/altarch.yaml (100%) rename iso/{py => empanadas/empanadas}/sig/cloud.yaml (100%) rename iso/{py => empanadas/empanadas}/sig/core.yaml (100%) rename iso/{py => empanadas/empanadas}/templates/buildImage.tmpl.sh (100%) rename iso/{py => empanadas/empanadas}/templates/isobuild.tmpl.sh (100%) rename iso/{py => empanadas/empanadas}/templates/isolorax.tmpl.sh (100%) rename iso/{py => empanadas/empanadas}/templates/isomock.tmpl.cfg (100%) rename iso/{py => empanadas/empanadas}/templates/repoconfig.tmpl (100%) rename iso/{py => empanadas/empanadas}/templates/reposync-src.tmpl (100%) rename iso/{py => empanadas/empanadas}/templates/reposync.tmpl (100%) rename iso/{py => empanadas/empanadas}/util/__init__.py (64%) rename iso/{py => empanadas/empanadas}/util/check.py (94%) rename iso/{py => empanadas/empanadas}/util/dnf_utils.py (99%) rename iso/{py => empanadas/empanadas}/util/iso_utils.py (99%) create mode 100644 iso/empanadas/poetry.lock create mode 100644 iso/empanadas/pyproject.toml create mode 100644 iso/empanadas/tests/__init__.py create mode 100644 iso/empanadas/tests/test_empanadas.py diff --git a/iso/py/.gitignore b/iso/empanadas/.gitignore similarity index 100% rename from iso/py/.gitignore rename to iso/empanadas/.gitignore diff --git a/iso/py/README.md b/iso/empanadas/README.md similarity index 61% rename from iso/py/README.md rename to iso/empanadas/README.md index 41f3a41..e414f5e 100644 --- a/iso/py/README.md +++ b/iso/empanadas/README.md @@ -1,5 +1,19 @@ # iso + +## Setup / Install + +1. Install [Poetry](https://python-poetry.org/docs/) +2. Setup: `poetry install` +3. Have fun + + +## Updating dependencies + +Dependencies can be manipulated via the pyproject.toml file or with the poetry add/remove commands. + +Changes to the poetry.lock should be commited if dependencies are added or updated. + ## TODO Verbose mode should exist to output everything that's being called or ran. @@ -52,5 +66,6 @@ r.check_valid_arch() ### script names and permissions -* Callable scripts should *not* end in `.py` -* They should have at least `775` or `+x` permissions +* Callable scripts should always end in `.py` and live in the empanadas/scripts folder +* Poetry will handle the installation of these executables with setuptools for distribution, and they can be invoked by name using `poetry run script-name`, too. + * Configure the script and function to be executed in pyproject.toml (TODO: dynamically load scripts from this directory as well as standardize on the script input/outputs) diff --git a/iso/empanadas/empanadas/__init__.py b/iso/empanadas/empanadas/__init__.py new file mode 100644 index 0000000..b794fd4 --- /dev/null +++ b/iso/empanadas/empanadas/__init__.py @@ -0,0 +1 @@ +__version__ = '0.1.0' diff --git a/iso/py/common.py b/iso/empanadas/empanadas/common.py similarity index 100% rename from iso/py/common.py rename to iso/empanadas/empanadas/common.py diff --git a/iso/py/configs/el8.yaml b/iso/empanadas/empanadas/configs/el8.yaml similarity index 100% rename from iso/py/configs/el8.yaml rename to iso/empanadas/empanadas/configs/el8.yaml diff --git a/iso/py/configs/el9-beta.yaml b/iso/empanadas/empanadas/configs/el9-beta.yaml similarity index 100% rename from iso/py/configs/el9-beta.yaml rename to iso/empanadas/empanadas/configs/el9-beta.yaml diff --git a/iso/py/configs/el9.yaml b/iso/empanadas/empanadas/configs/el9.yaml similarity index 100% rename from iso/py/configs/el9.yaml rename to iso/empanadas/empanadas/configs/el9.yaml diff --git a/iso/py/configs/el9lh.yaml b/iso/empanadas/empanadas/configs/el9lh.yaml similarity index 100% rename from iso/py/configs/el9lh.yaml rename to iso/empanadas/empanadas/configs/el9lh.yaml diff --git a/iso/py/build-iso b/iso/empanadas/empanadas/scripts/build-iso.py similarity index 85% rename from iso/py/build-iso rename to iso/empanadas/empanadas/scripts/build-iso.py index 428ce45..c5907f1 100755 --- a/iso/py/build-iso +++ b/iso/empanadas/empanadas/scripts/build-iso.py @@ -1,10 +1,10 @@ -#!/usr/bin/env python3 # builds ISO's import argparse -from common import * -from util import Checks -from util import IsoBuild + +from empanadas.common import * +from empanadas.util import Checks +from empanadas.util import IsoBuild parser = argparse.ArgumentParser(description="ISO Compose") @@ -27,4 +27,5 @@ a = IsoBuild( logger=results.logger, ) -a.run() +def run(): + a.run() diff --git a/iso/py/sync-from-peridot-test b/iso/empanadas/empanadas/scripts/sync-from-peridot-test.py similarity index 61% rename from iso/py/sync-from-peridot-test rename to iso/empanadas/empanadas/scripts/sync-from-peridot-test.py index 6d286e9..0362718 100755 --- a/iso/py/sync-from-peridot-test +++ b/iso/empanadas/empanadas/scripts/sync-from-peridot-test.py @@ -1,11 +1,10 @@ -#!/usr/bin/env python3 - # This is a testing script to ensure the RepoSync class is working as intended. -from common import * import argparse -from util import Checks -from util import RepoSync + +from empanadas.common import * +from empanadas.util import Checks +from empanadas.util import RepoSync rlvars = rldict['9-lookahead'] r = Checks(rlvars, config['arch']) @@ -13,4 +12,10 @@ r.check_valid_arch() #a = RepoSync(rlvars, config, major="9", repo="ResilientStorage", parallel=True, ignore_debug=False, ignore_source=False) a = RepoSync(rlvars, config, major="9", repo="BaseOS", parallel=True, ignore_debug=False, ignore_source=False, hashed=True) +<<<<<<< HEAD:iso/py/sync-from-peridot-test #a.run() +======= + +def run(): + a.run() +>>>>>>> 8d29760 (Lets write some poetry):iso/empanadas/empanadas/scripts/sync-from-peridot-test.py diff --git a/iso/py/sync-from-peridot b/iso/empanadas/empanadas/scripts/sync-from-peridot.py similarity index 93% rename from iso/py/sync-from-peridot rename to iso/empanadas/empanadas/scripts/sync-from-peridot.py index d114a59..a998a28 100755 --- a/iso/py/sync-from-peridot +++ b/iso/empanadas/empanadas/scripts/sync-from-peridot.py @@ -1,11 +1,10 @@ -#!/usr/bin/env python3 - # This script can be called to do single syncs or full on syncs. import argparse -from common import * -from util import Checks -from util import RepoSync + +from empanadas.common import * +from empanadas.util import Checks +from empanadas.util import RepoSync #rlvars = rldict['9'] #r = Checks(rlvars, config['arch']) @@ -56,4 +55,5 @@ a = RepoSync( logger=results.logger ) -a.run() +def run() + a.run() diff --git a/iso/py/sync-sig b/iso/empanadas/empanadas/scripts/sync-sig.py similarity index 93% rename from iso/py/sync-sig rename to iso/empanadas/empanadas/scripts/sync-sig.py index ff9c8e1..3de8479 100755 --- a/iso/py/sync-sig +++ b/iso/empanadas/empanadas/scripts/sync-sig.py @@ -1,11 +1,9 @@ -#!/usr/bin/env python3 - # This script can be called to do single syncs or full on syncs. import argparse -from common import * -from util import Checks -from util import SigRepoSync +from empanadas.common import * +from empanadas.util import Checks +from empanadas.util import SigRepoSync #rlvars = rldict['9'] #r = Checks(rlvars, config['arch']) @@ -58,4 +56,6 @@ a = SigRepoSync( logger=results.logger ) -a.run() + +def run(): + a.run() diff --git a/iso/py/sig/altarch.yaml b/iso/empanadas/empanadas/sig/altarch.yaml similarity index 100% rename from iso/py/sig/altarch.yaml rename to iso/empanadas/empanadas/sig/altarch.yaml diff --git a/iso/py/sig/cloud.yaml b/iso/empanadas/empanadas/sig/cloud.yaml similarity index 100% rename from iso/py/sig/cloud.yaml rename to iso/empanadas/empanadas/sig/cloud.yaml diff --git a/iso/py/sig/core.yaml b/iso/empanadas/empanadas/sig/core.yaml similarity index 100% rename from iso/py/sig/core.yaml rename to iso/empanadas/empanadas/sig/core.yaml diff --git a/iso/py/templates/buildImage.tmpl.sh b/iso/empanadas/empanadas/templates/buildImage.tmpl.sh similarity index 100% rename from iso/py/templates/buildImage.tmpl.sh rename to iso/empanadas/empanadas/templates/buildImage.tmpl.sh diff --git a/iso/py/templates/isobuild.tmpl.sh b/iso/empanadas/empanadas/templates/isobuild.tmpl.sh similarity index 100% rename from iso/py/templates/isobuild.tmpl.sh rename to iso/empanadas/empanadas/templates/isobuild.tmpl.sh diff --git a/iso/py/templates/isolorax.tmpl.sh b/iso/empanadas/empanadas/templates/isolorax.tmpl.sh similarity index 100% rename from iso/py/templates/isolorax.tmpl.sh rename to iso/empanadas/empanadas/templates/isolorax.tmpl.sh diff --git a/iso/py/templates/isomock.tmpl.cfg b/iso/empanadas/empanadas/templates/isomock.tmpl.cfg similarity index 100% rename from iso/py/templates/isomock.tmpl.cfg rename to iso/empanadas/empanadas/templates/isomock.tmpl.cfg diff --git a/iso/py/templates/repoconfig.tmpl b/iso/empanadas/empanadas/templates/repoconfig.tmpl similarity index 100% rename from iso/py/templates/repoconfig.tmpl rename to iso/empanadas/empanadas/templates/repoconfig.tmpl diff --git a/iso/py/templates/reposync-src.tmpl b/iso/empanadas/empanadas/templates/reposync-src.tmpl similarity index 100% rename from iso/py/templates/reposync-src.tmpl rename to iso/empanadas/empanadas/templates/reposync-src.tmpl diff --git a/iso/py/templates/reposync.tmpl b/iso/empanadas/empanadas/templates/reposync.tmpl similarity index 100% rename from iso/py/templates/reposync.tmpl rename to iso/empanadas/empanadas/templates/reposync.tmpl diff --git a/iso/py/util/__init__.py b/iso/empanadas/empanadas/util/__init__.py similarity index 64% rename from iso/py/util/__init__.py rename to iso/empanadas/empanadas/util/__init__.py index 1c96258..495236c 100644 --- a/iso/py/util/__init__.py +++ b/iso/empanadas/empanadas/util/__init__.py @@ -2,16 +2,16 @@ Imports all of our classes for this local module """ -from .check import ( +from empanadas.util.check import ( Checks, ) -from .dnf_utils import ( +from empanadas.util.dnf_utils import ( RepoSync, SigRepoSync ) -from .iso_utils import ( +from empanadas.util.iso_utils import ( IsoBuild, LiveBuild ) diff --git a/iso/py/util/check.py b/iso/empanadas/empanadas/util/check.py similarity index 94% rename from iso/py/util/check.py rename to iso/empanadas/empanadas/util/check.py index a87d86f..b491a61 100644 --- a/iso/py/util/check.py +++ b/iso/empanadas/empanadas/util/check.py @@ -1,6 +1,7 @@ # Is our arch allowed for this particular release? Some previous releases do # not support ppc or s390x -from common import Color +from empanadas.common import Color + class Checks: """This class helps check some things""" def __init__(self, rlvars, arch): diff --git a/iso/py/util/dnf_utils.py b/iso/empanadas/empanadas/util/dnf_utils.py similarity index 99% rename from iso/py/util/dnf_utils.py rename to iso/empanadas/empanadas/util/dnf_utils.py index a965d59..6fe3da4 100644 --- a/iso/py/util/dnf_utils.py +++ b/iso/empanadas/empanadas/util/dnf_utils.py @@ -14,9 +14,11 @@ import time import re import json #import pipes -from common import Color + from jinja2 import Environment, FileSystemLoader +from empanadas.common import Color + #HAS_LIBREPO = True #try: # import librepo diff --git a/iso/py/util/iso_utils.py b/iso/empanadas/empanadas/util/iso_utils.py similarity index 99% rename from iso/py/util/iso_utils.py rename to iso/empanadas/empanadas/util/iso_utils.py index f06d37d..500a980 100644 --- a/iso/py/util/iso_utils.py +++ b/iso/empanadas/empanadas/util/iso_utils.py @@ -12,6 +12,7 @@ import subprocess import shlex import time import re + # This is for treeinfo from configparser import ConfigParser from productmd.common import SortedConfigParser @@ -19,9 +20,11 @@ from productmd.images import Image from productmd.extra_files import ExtraFiles import productmd.treeinfo # End treeinfo -from common import Color + from jinja2 import Environment, FileSystemLoader +from empanadas.common import Color + class IsoBuild: """ This helps us build the generic ISO's for a Rocky Linux release. In diff --git a/iso/empanadas/poetry.lock b/iso/empanadas/poetry.lock new file mode 100644 index 0000000..52acbff --- /dev/null +++ b/iso/empanadas/poetry.lock @@ -0,0 +1,304 @@ +[[package]] +name = "atomicwrites" +version = "1.4.0" +description = "Atomic file writes." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" + +[[package]] +name = "attrs" +version = "21.4.0" +description = "Classes Without Boilerplate" +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[package.extras] +dev = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "furo", "sphinx", "sphinx-notfound-page", "pre-commit", "cloudpickle"] +docs = ["furo", "sphinx", "zope.interface", "sphinx-notfound-page"] +tests = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "zope.interface", "cloudpickle"] +tests_no_zope = ["coverage[toml] (>=5.0.2)", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "mypy", "pytest-mypy-plugins", "cloudpickle"] + +[[package]] +name = "colorama" +version = "0.4.5" +description = "Cross-platform colored terminal text." +category = "dev" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" + +[[package]] +name = "jinja2" +version = "3.1.2" +description = "A very fast and expressive template engine." +category = "main" +optional = false +python-versions = ">=3.7" + +[package.dependencies] +MarkupSafe = ">=2.0" + +[package.extras] +i18n = ["Babel (>=2.7)"] + +[[package]] +name = "markupsafe" +version = "2.1.1" +description = "Safely add untrusted strings to HTML/XML markup." +category = "main" +optional = false +python-versions = ">=3.7" + +[[package]] +name = "more-itertools" +version = "8.13.0" +description = "More routines for operating on iterables, beyond itertools" +category = "dev" +optional = false +python-versions = ">=3.5" + +[[package]] +name = "packaging" +version = "21.3" +description = "Core utilities for Python packages" +category = "dev" +optional = false +python-versions = ">=3.6" + +[package.dependencies] +pyparsing = ">=2.0.2,<3.0.5 || >3.0.5" + +[[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.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 = "pyparsing" +version = "3.0.9" +description = "pyparsing module - Classes and methods to define and execute parsing grammars" +category = "dev" +optional = false +python-versions = ">=3.6.8" + +[package.extras] +diagrams = ["railroad-diagrams", "jinja2"] + +[[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\""} +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 = "pyyaml" +version = "6.0" +description = "YAML parser and emitter for Python" +category = "main" +optional = false +python-versions = ">=3.6" + +[[package]] +name = "rpm-py-installer" +version = "1.1.0" +description = "RPM Python binding Installer" +category = "main" +optional = false +python-versions = "*" + +[[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 = "wcwidth" +version = "0.2.5" +description = "Measures the displayed width of unicode strings in a terminal" +category = "dev" +optional = false +python-versions = "*" + +[metadata] +lock-version = "1.1" +python-versions = "^3.10" +content-hash = "60b7aec35daf6724e2676f4db88df4a12ad46210c054102893617b336e74bb40" + +[metadata.files] +atomicwrites = [ + {file = "atomicwrites-1.4.0-py2.py3-none-any.whl", hash = "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197"}, + {file = "atomicwrites-1.4.0.tar.gz", hash = "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a"}, +] +attrs = [ + {file = "attrs-21.4.0-py2.py3-none-any.whl", hash = "sha256:2d27e3784d7a565d36ab851fe94887c5eccd6a463168875832a1be79c82828b4"}, + {file = "attrs-21.4.0.tar.gz", hash = "sha256:626ba8234211db98e869df76230a137c4c40a12d72445c45d5f5b716f076e2fd"}, +] +colorama = [ + {file = "colorama-0.4.5-py2.py3-none-any.whl", hash = "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da"}, + {file = "colorama-0.4.5.tar.gz", hash = "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4"}, +] +jinja2 = [ + {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, + {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, +] +markupsafe = [ + {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-win32.whl", hash = "sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6"}, + {file = "MarkupSafe-2.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-win32.whl", hash = "sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff"}, + {file = "MarkupSafe-2.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-win32.whl", hash = "sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1"}, + {file = "MarkupSafe-2.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-win32.whl", hash = "sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c"}, + {file = "MarkupSafe-2.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247"}, + {file = "MarkupSafe-2.1.1.tar.gz", hash = "sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b"}, +] +more-itertools = [ + {file = "more-itertools-8.13.0.tar.gz", hash = "sha256:a42901a0a5b169d925f6f217cd5a190e32ef54360905b9c39ee7db5313bfec0f"}, + {file = "more_itertools-8.13.0-py3-none-any.whl", hash = "sha256:c5122bffc5f104d37c1626b8615b511f3427aa5389b94d61e5ef8236bfbc3ddb"}, +] +packaging = [ + {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"}, + {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"}, +] +pluggy = [ + {file = "pluggy-0.13.1-py2.py3-none-any.whl", hash = "sha256:966c145cd83c96502c3c3868f50408687b38434af77734af1e9ca461a4081d2d"}, + {file = "pluggy-0.13.1.tar.gz", hash = "sha256:15b2acde666561e1298d71b523007ed7364de07029219b604cf808bfa1c765b0"}, +] +productmd = [ + {file = "productmd-1.33-py3-none-any.whl", hash = "sha256:467dfeb84e74834b6a65508536ccd8ec2d81c24a0ecee5e77d2c358e97eae164"}, + {file = "productmd-1.33.tar.gz", hash = "sha256:aaf49bdd2a5cb97f7c6b5011f669dbed153efc7bc61e6935fa796a1b94d16b7e"}, +] +py = [ + {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, + {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, +] +pyparsing = [ + {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, + {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, +] +pytest = [ + {file = "pytest-5.4.3-py3-none-any.whl", hash = "sha256:5c0db86b698e8f170ba4582a492248919255fcd4c79b1ee64ace34301fb589a1"}, + {file = "pytest-5.4.3.tar.gz", hash = "sha256:7979331bfcba207414f5e1263b5a0f8f521d0f457318836a7355531ed1a4c7d8"}, +] +pyyaml = [ + {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"}, + {file = "PyYAML-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c"}, + {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc"}, + {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b"}, + {file = "PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"}, + {file = "PyYAML-6.0-cp310-cp310-win32.whl", hash = "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513"}, + {file = "PyYAML-6.0-cp310-cp310-win_amd64.whl", hash = "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a"}, + {file = "PyYAML-6.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86"}, + {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f"}, + {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92"}, + {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4"}, + {file = "PyYAML-6.0-cp36-cp36m-win32.whl", hash = "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293"}, + {file = "PyYAML-6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57"}, + {file = "PyYAML-6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c"}, + {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0"}, + {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4"}, + {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9"}, + {file = "PyYAML-6.0-cp37-cp37m-win32.whl", hash = "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737"}, + {file = "PyYAML-6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d"}, + {file = "PyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b"}, + {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba"}, + {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34"}, + {file = "PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287"}, + {file = "PyYAML-6.0-cp38-cp38-win32.whl", hash = "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78"}, + {file = "PyYAML-6.0-cp38-cp38-win_amd64.whl", hash = "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07"}, + {file = "PyYAML-6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b"}, + {file = "PyYAML-6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174"}, + {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803"}, + {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3"}, + {file = "PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0"}, + {file = "PyYAML-6.0-cp39-cp39-win32.whl", hash = "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb"}, + {file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"}, + {file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"}, +] +rpm-py-installer = [ + {file = "rpm-py-installer-1.1.0.tar.gz", hash = "sha256:66e5f4f9247752ed386345642683103afaee50fb16928878a204bc12504b9bbe"}, +] +six = [ + {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, + {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, +] +wcwidth = [ + {file = "wcwidth-0.2.5-py2.py3-none-any.whl", hash = "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784"}, + {file = "wcwidth-0.2.5.tar.gz", hash = "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83"}, +] diff --git a/iso/empanadas/pyproject.toml b/iso/empanadas/pyproject.toml new file mode 100644 index 0000000..d24a836 --- /dev/null +++ b/iso/empanadas/pyproject.toml @@ -0,0 +1,25 @@ +[tool.poetry] +name = "empanadas" +version = "0.1.0" +description = "hand crafted ISOs with love and spice" +authors = ["Louis Abel ", "Neil Hanlon "] + +[tool.poetry.dependencies] +python = "^3.10" +rpm-py-installer = "^1.1.0" +PyYAML = "^6.0" +Jinja2 = "^3.1.2" +productmd = "^1.33" + +[tool.poetry.dev-dependencies] +pytest = "^5.2" + +[tool.poetry.scripts] +sync-from-peridot = "empanadas.scripts.sync-from-peridot:run" +sync-from-peridot-test = "empanadas.scripts.sync-from-peridot-test:run" +sync-sig = "empanadas.scripts.sync-sig:run" +build-iso = "empanadas.scripts.build-iso:run" + +[build-system] +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api" diff --git a/iso/empanadas/tests/__init__.py b/iso/empanadas/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/iso/empanadas/tests/test_empanadas.py b/iso/empanadas/tests/test_empanadas.py new file mode 100644 index 0000000..4561768 --- /dev/null +++ b/iso/empanadas/tests/test_empanadas.py @@ -0,0 +1,5 @@ +from empanadas import __version__ + + +def test_version(): + assert __version__ == '0.1.0'