summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-11 09:00:59 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-11 09:00:59 +0000
commit25ccc1e785ff085710382b61b8525295f15d3432 (patch)
treeccbf608c44046e2ba1f705dca938d2b471e9140d
parentc1fdbdfa1a90c6a349188b3cdc51d3ecf58cda4f (diff)
automatic import of python-edk2-pytool-extensions
-rw-r--r--.gitignore1
-rw-r--r--python-edk2-pytool-extensions.spec643
-rw-r--r--sources1
3 files changed, 645 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..7fb56be 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/edk2-pytool-extensions-0.22.2.tar.gz
diff --git a/python-edk2-pytool-extensions.spec b/python-edk2-pytool-extensions.spec
new file mode 100644
index 0000000..256d789
--- /dev/null
+++ b/python-edk2-pytool-extensions.spec
@@ -0,0 +1,643 @@
+%global _empty_manifest_terminate_build 0
+Name: python-edk2-pytool-extensions
+Version: 0.22.2
+Release: 1
+Summary: Python tools supporting UEFI EDK2 firmware development
+License: BSD-2-Clause-Patent
+URL: https://github.com/tianocore/edk2-pytool-extensions
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/90/40/fa7057438d5ed1036a5111f786e2010df44e10a517215ec7d7018bd5ab7c/edk2-pytool-extensions-0.22.2.tar.gz
+BuildArch: noarch
+
+Requires: python3-pyyaml
+Requires: python3-edk2-pytool-library
+Requires: python3-pefile
+Requires: python3-semantic-version
+Requires: python3-GitPython
+Requires: python3-cryptography
+Requires: python3-pyopenssl
+
+%description
+# Tianocore Edk2 PyTool Extensions (edk2toolext)
+
+[![pypi]][_pypi]
+[![codecov]][_codecov]
+[![ci]][_ci]
+[![docs]][_docs]
+
+This is a Tianocore maintained project consisting of command line and other
+python tools and extensions for building and maintaining an Edk2 based UEFI
+firmware code tree. Part of these tools include "invocables" that can be used to
+build EDK2 Platforms and these tools are known as "stuart". This package's
+intent is to provide tools, scripts, and a plugin based environment for use
+within the tools and scripts. This environment has command line interfaces to
+support building a product, building CI, running tests, and downloading
+dependencies. This environment also provides the building blocks for developers
+to write their own tools to launch in the environment and leverage the
+capabilities provided by the environment. The unique capabilities provided help
+support building products with multiple repositories and having each repository
+contribute/plugin to the build process in a scalable way. The environment will
+scan the files in the code tree (multiple repos) and discover plugins,
+dependencies, path adjustments, environment variable settings, etc. This
+provides easy methods for common repositories to share build tools/steps.
+
+Inclusion of this package is best managed using Pip/Pypi. This package makes
+use of edk2-pytool-library.
+
+This is a supplemental package and is not required to be used for edk2 builds.
+
+![stuart himself](stuart_logo.png "Stuart")
+
+## Current Status
+
+[![codecov]][_codecov]
+[![ci]][_ci]
+
+The code coverage and CI badges represent unit test status and the code
+coverage of those unit tests. We require 100% unit test success
+(Hence the pass / fail) and that code coverage percentage does not lower.
+
+| Host Type | Toolchain | Project | Integration Tests |
+| :------------------ | :--------- | :--------- | :---------------- |
+| Windows Server 2019 | Python 3.9 | Edk2 | [![ewt1]][_it] |
+| Windows Server 2019 | Python 3.10 | Edk2 | [![ewt2]][_it] |
+| Windows Server 2019 | Python 3.11 | Edk2 | [![ewt3]][_it] |
+| Linux Ubuntu 18.04 | Python 3.9 | Edk2 | [![eut1]][_i359] |
+| Linux Ubuntu 18.04 | Python 3.10 | Edk2 | [![eut2]][_it] |
+| Linux Ubuntu 18.04 | Python 3.11 | Edk2 | [![eut3]][_it] |
+| Windows Server 2022 | Python 3.9 | Project Mu | [![mwt1]][_it] |
+| Windows Server 2022 | Python 3.10 | Project Mu | [![mwt2]][_it] |
+| Windows Server 2022 | Python 3.11 | Project Mu | [![mwt3]][_it] |
+| Linux Ubuntu 20.04 | Python 3.9 | Project Mu | [![mut1]][_i359] |
+| Linux Ubuntu 20.04 | Python 3.10 | Project Mu | [![mut2]][_it] |
+| Linux Ubuntu 20.04 | Python 3.11 | Project Mu | [![mut3]][_it] |
+
+### Current Release
+
+[![PyPI](https://img.shields.io/pypi/v/edk2_pytool_extensions.svg)](https://pypi.org/project/edk2-pytool-extensions/)
+
+All release information is now tracked with Github
+ [tags](https://github.com/tianocore/edk2-pytool-extensions/tags),
+ [releases](https://github.com/tianocore/edk2-pytool-extensions/releases) and
+ [milestones](https://github.com/tianocore/edk2-pytool-extensions/milestones).
+
+## Content
+
+The package contains cli tools and a basic common environment for running tools.
+This common environment supports extensions, sub-classing, and plugin to allow
+great flexibility for building and maintaining a code tree.
+
+Examples:
+
+* CI build support with plugin
+* Binary dependency resolution (nuget, urls, git repos)
+* Loggers (file, memory, and colored console)
+* Plugins (pre/post build, function injection)
+* Wrapper around edk2 build
+* VarDict and ShellEnvrionment to manage key/value pairs consistently across
+ entire process
+* Nuget Publishing tool to push new packages
+* Omnicache - Support a super cache of git repos to speed up creating and
+ updating multiple work spaces and minimizing filesystem impact
+
+## License
+
+All content in this repository is licensed under [BSD-2-Clause Plus Patent
+License](https://github.com/tianocore/edk2-pytool-extensions/blob/master/LICENSE).
+
+[![PyPI -
+License](https://img.shields.io/pypi/l/edk2_pytool_extensions.svg)](https://pypi.org/project/edk2-pytool-extensions/)
+
+## Usage
+
+NOTE: It is strongly recommended that you use python virtual environments.
+Virtual environments avoid changing the global python workspace and causing
+conflicting dependencies. Virtual environments are lightweight and easy to use.
+[Learn more](https://docs.python.org/3/library/venv.html)
+
+* To install run `pip install --upgrade edk2-pytool-extensions`
+* To use in your python code
+
+ ```python
+ from edk2toolext.<module> import <class>
+ ```
+
+## History
+
+This project and functionality was ported from Project Mu. For history and
+documentation prior to this see the original Project Mu projects
+<https://github.com/microsoft/mu_pip_environment> and
+<https://github.com/microsoft/mu_pip_build>
+
+## Contribution Process
+
+This project welcomes all types of contributions. For issues, bugs, and
+questions it is best to open a [github
+issue](https://github.com/tianocore/edk2-pytool-extensions/issues).
+
+### Code Contributions
+
+For code contributions this project leverages github pull requests. See github
+tutorials, help, and documentation for complete descriptions. For best success
+please follow the below process.
+
+1. Contributor opens an issue describing problem or new desired functionality
+2. Contributor forks repository in github
+3. Contributor creates branch for work in their fork
+4. Contributor makes code changes, writes relevant unit tests, authors
+ documentation and release notes as necessary.
+5. Contributor runs tests locally
+6. Contributor submits PR to master branch of tianocore/edk2-pytool-extensions
+ 1. PR reviewers will provide feedback on change. If any modifications are
+ required, contributor will make changes and push updates.
+ 2. PR automation will run and validate tests pass
+ 3. If all comments resolved, maintainers approved, and tests pass the PR
+ will be squash merged and closed by the maintainers.
+
+## Maintainers
+
+See the [github
+team](https://github.com/orgs/tianocore/teams/edk-ii-tool-maintainers) for more
+details.
+
+## Documentation
+
+[![docs]][_docs]
+
+Documentation for the most recent release of edk2-pytool-extensions is hosted on
+[tianocore.org/edk2-pytool-extensions](https://www.tianocore.org/edk2-pytool-extensions/)]).
+Raw documentation is located in the ```docs/``` folder and is split into two
+separate categories. The first is located at ```docs/user/``` and is
+documentation and API references for those that are using this package in their
+own project. Users can generate a local copy of the documentation by executing the
+following command from the root of the project:
+
+```cmd
+pip install --upgrade -r .\docs\user\requirements.txt
+mkdocs serve
+```
+
+The second is located at ```docs/contributor/``` and is documentation for
+contributing to the edk2-pytool-extensions repository.
+
+[codecov]: https://codecov.io/gh/tianocore/edk2-pytool-extensions/branch/master/graph/badge.svg?token=vVJxZexcTI
+[_codecov]: https://codecov.io/gh/tianocore/edk2-pytool-extensions
+[pypi]: https://img.shields.io/pypi/v/edk2_pytool_extensions.svg
+[_pypi]: https://pypi.org/project/edk2-pytool-extensions/
+[docs]: https://img.shields.io/website?label=docs&url=https%3A%2F%2Fwww.tianocore.org%2Fedk2-pytool-extensions%2F
+[_docs]: https://www.tianocore.org/edk2-pytool-extensions/
+[ci]: https://github.com/tianocore/edk2-pytool-extensions/actions/workflows/run-ci.yml/badge.svg?branch=master&event=push
+[_ci]: https://github.com/tianocore/edk2-pytool-extensions/actions/workflows/run-ci.yml
+
+[_it]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_build?definitionId=52&_a=summary&repositoryFilter=2&branchFilter=14
+[_i359]: https://github.com/tianocore/edk2-pytool-extensions/issues/359
+[ewt1]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=Edk2_Windows_Python39
+[ewt2]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=Edk2_Windows_Python310
+[ewt3]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=Edk2_Windows_Python311
+
+[eut1]: https://img.shields.io/github/issues/detail/label/tianocore/edk2-pytool-extensions/359?color=orange&label=issue%20359
+[eut2]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=Edk2_Ubuntu_Python310
+[eut3]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=Edk2_Ubuntu_Python311
+
+[mwt1]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=ProjectMu_Windows_Python39
+[mwt2]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=ProjectMu_Windows_Python310
+[mwt3]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=ProjectMu_Windows_Python311
+
+[mut1]: https://img.shields.io/github/issues/detail/label/tianocore/edk2-pytool-extensions/359?color=orange&label=issue%20359
+[mut2]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=ProjectMu_Ubuntu_Python310
+[mut3]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=ProjectMu_Ubuntu_Python311
+
+
+%package -n python3-edk2-pytool-extensions
+Summary: Python tools supporting UEFI EDK2 firmware development
+Provides: python-edk2-pytool-extensions
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-edk2-pytool-extensions
+# Tianocore Edk2 PyTool Extensions (edk2toolext)
+
+[![pypi]][_pypi]
+[![codecov]][_codecov]
+[![ci]][_ci]
+[![docs]][_docs]
+
+This is a Tianocore maintained project consisting of command line and other
+python tools and extensions for building and maintaining an Edk2 based UEFI
+firmware code tree. Part of these tools include "invocables" that can be used to
+build EDK2 Platforms and these tools are known as "stuart". This package's
+intent is to provide tools, scripts, and a plugin based environment for use
+within the tools and scripts. This environment has command line interfaces to
+support building a product, building CI, running tests, and downloading
+dependencies. This environment also provides the building blocks for developers
+to write their own tools to launch in the environment and leverage the
+capabilities provided by the environment. The unique capabilities provided help
+support building products with multiple repositories and having each repository
+contribute/plugin to the build process in a scalable way. The environment will
+scan the files in the code tree (multiple repos) and discover plugins,
+dependencies, path adjustments, environment variable settings, etc. This
+provides easy methods for common repositories to share build tools/steps.
+
+Inclusion of this package is best managed using Pip/Pypi. This package makes
+use of edk2-pytool-library.
+
+This is a supplemental package and is not required to be used for edk2 builds.
+
+![stuart himself](stuart_logo.png "Stuart")
+
+## Current Status
+
+[![codecov]][_codecov]
+[![ci]][_ci]
+
+The code coverage and CI badges represent unit test status and the code
+coverage of those unit tests. We require 100% unit test success
+(Hence the pass / fail) and that code coverage percentage does not lower.
+
+| Host Type | Toolchain | Project | Integration Tests |
+| :------------------ | :--------- | :--------- | :---------------- |
+| Windows Server 2019 | Python 3.9 | Edk2 | [![ewt1]][_it] |
+| Windows Server 2019 | Python 3.10 | Edk2 | [![ewt2]][_it] |
+| Windows Server 2019 | Python 3.11 | Edk2 | [![ewt3]][_it] |
+| Linux Ubuntu 18.04 | Python 3.9 | Edk2 | [![eut1]][_i359] |
+| Linux Ubuntu 18.04 | Python 3.10 | Edk2 | [![eut2]][_it] |
+| Linux Ubuntu 18.04 | Python 3.11 | Edk2 | [![eut3]][_it] |
+| Windows Server 2022 | Python 3.9 | Project Mu | [![mwt1]][_it] |
+| Windows Server 2022 | Python 3.10 | Project Mu | [![mwt2]][_it] |
+| Windows Server 2022 | Python 3.11 | Project Mu | [![mwt3]][_it] |
+| Linux Ubuntu 20.04 | Python 3.9 | Project Mu | [![mut1]][_i359] |
+| Linux Ubuntu 20.04 | Python 3.10 | Project Mu | [![mut2]][_it] |
+| Linux Ubuntu 20.04 | Python 3.11 | Project Mu | [![mut3]][_it] |
+
+### Current Release
+
+[![PyPI](https://img.shields.io/pypi/v/edk2_pytool_extensions.svg)](https://pypi.org/project/edk2-pytool-extensions/)
+
+All release information is now tracked with Github
+ [tags](https://github.com/tianocore/edk2-pytool-extensions/tags),
+ [releases](https://github.com/tianocore/edk2-pytool-extensions/releases) and
+ [milestones](https://github.com/tianocore/edk2-pytool-extensions/milestones).
+
+## Content
+
+The package contains cli tools and a basic common environment for running tools.
+This common environment supports extensions, sub-classing, and plugin to allow
+great flexibility for building and maintaining a code tree.
+
+Examples:
+
+* CI build support with plugin
+* Binary dependency resolution (nuget, urls, git repos)
+* Loggers (file, memory, and colored console)
+* Plugins (pre/post build, function injection)
+* Wrapper around edk2 build
+* VarDict and ShellEnvrionment to manage key/value pairs consistently across
+ entire process
+* Nuget Publishing tool to push new packages
+* Omnicache - Support a super cache of git repos to speed up creating and
+ updating multiple work spaces and minimizing filesystem impact
+
+## License
+
+All content in this repository is licensed under [BSD-2-Clause Plus Patent
+License](https://github.com/tianocore/edk2-pytool-extensions/blob/master/LICENSE).
+
+[![PyPI -
+License](https://img.shields.io/pypi/l/edk2_pytool_extensions.svg)](https://pypi.org/project/edk2-pytool-extensions/)
+
+## Usage
+
+NOTE: It is strongly recommended that you use python virtual environments.
+Virtual environments avoid changing the global python workspace and causing
+conflicting dependencies. Virtual environments are lightweight and easy to use.
+[Learn more](https://docs.python.org/3/library/venv.html)
+
+* To install run `pip install --upgrade edk2-pytool-extensions`
+* To use in your python code
+
+ ```python
+ from edk2toolext.<module> import <class>
+ ```
+
+## History
+
+This project and functionality was ported from Project Mu. For history and
+documentation prior to this see the original Project Mu projects
+<https://github.com/microsoft/mu_pip_environment> and
+<https://github.com/microsoft/mu_pip_build>
+
+## Contribution Process
+
+This project welcomes all types of contributions. For issues, bugs, and
+questions it is best to open a [github
+issue](https://github.com/tianocore/edk2-pytool-extensions/issues).
+
+### Code Contributions
+
+For code contributions this project leverages github pull requests. See github
+tutorials, help, and documentation for complete descriptions. For best success
+please follow the below process.
+
+1. Contributor opens an issue describing problem or new desired functionality
+2. Contributor forks repository in github
+3. Contributor creates branch for work in their fork
+4. Contributor makes code changes, writes relevant unit tests, authors
+ documentation and release notes as necessary.
+5. Contributor runs tests locally
+6. Contributor submits PR to master branch of tianocore/edk2-pytool-extensions
+ 1. PR reviewers will provide feedback on change. If any modifications are
+ required, contributor will make changes and push updates.
+ 2. PR automation will run and validate tests pass
+ 3. If all comments resolved, maintainers approved, and tests pass the PR
+ will be squash merged and closed by the maintainers.
+
+## Maintainers
+
+See the [github
+team](https://github.com/orgs/tianocore/teams/edk-ii-tool-maintainers) for more
+details.
+
+## Documentation
+
+[![docs]][_docs]
+
+Documentation for the most recent release of edk2-pytool-extensions is hosted on
+[tianocore.org/edk2-pytool-extensions](https://www.tianocore.org/edk2-pytool-extensions/)]).
+Raw documentation is located in the ```docs/``` folder and is split into two
+separate categories. The first is located at ```docs/user/``` and is
+documentation and API references for those that are using this package in their
+own project. Users can generate a local copy of the documentation by executing the
+following command from the root of the project:
+
+```cmd
+pip install --upgrade -r .\docs\user\requirements.txt
+mkdocs serve
+```
+
+The second is located at ```docs/contributor/``` and is documentation for
+contributing to the edk2-pytool-extensions repository.
+
+[codecov]: https://codecov.io/gh/tianocore/edk2-pytool-extensions/branch/master/graph/badge.svg?token=vVJxZexcTI
+[_codecov]: https://codecov.io/gh/tianocore/edk2-pytool-extensions
+[pypi]: https://img.shields.io/pypi/v/edk2_pytool_extensions.svg
+[_pypi]: https://pypi.org/project/edk2-pytool-extensions/
+[docs]: https://img.shields.io/website?label=docs&url=https%3A%2F%2Fwww.tianocore.org%2Fedk2-pytool-extensions%2F
+[_docs]: https://www.tianocore.org/edk2-pytool-extensions/
+[ci]: https://github.com/tianocore/edk2-pytool-extensions/actions/workflows/run-ci.yml/badge.svg?branch=master&event=push
+[_ci]: https://github.com/tianocore/edk2-pytool-extensions/actions/workflows/run-ci.yml
+
+[_it]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_build?definitionId=52&_a=summary&repositoryFilter=2&branchFilter=14
+[_i359]: https://github.com/tianocore/edk2-pytool-extensions/issues/359
+[ewt1]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=Edk2_Windows_Python39
+[ewt2]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=Edk2_Windows_Python310
+[ewt3]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=Edk2_Windows_Python311
+
+[eut1]: https://img.shields.io/github/issues/detail/label/tianocore/edk2-pytool-extensions/359?color=orange&label=issue%20359
+[eut2]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=Edk2_Ubuntu_Python310
+[eut3]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=Edk2_Ubuntu_Python311
+
+[mwt1]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=ProjectMu_Windows_Python39
+[mwt2]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=ProjectMu_Windows_Python310
+[mwt3]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=ProjectMu_Windows_Python311
+
+[mut1]: https://img.shields.io/github/issues/detail/label/tianocore/edk2-pytool-extensions/359?color=orange&label=issue%20359
+[mut2]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=ProjectMu_Ubuntu_Python310
+[mut3]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=ProjectMu_Ubuntu_Python311
+
+
+%package help
+Summary: Development documents and examples for edk2-pytool-extensions
+Provides: python3-edk2-pytool-extensions-doc
+%description help
+# Tianocore Edk2 PyTool Extensions (edk2toolext)
+
+[![pypi]][_pypi]
+[![codecov]][_codecov]
+[![ci]][_ci]
+[![docs]][_docs]
+
+This is a Tianocore maintained project consisting of command line and other
+python tools and extensions for building and maintaining an Edk2 based UEFI
+firmware code tree. Part of these tools include "invocables" that can be used to
+build EDK2 Platforms and these tools are known as "stuart". This package's
+intent is to provide tools, scripts, and a plugin based environment for use
+within the tools and scripts. This environment has command line interfaces to
+support building a product, building CI, running tests, and downloading
+dependencies. This environment also provides the building blocks for developers
+to write their own tools to launch in the environment and leverage the
+capabilities provided by the environment. The unique capabilities provided help
+support building products with multiple repositories and having each repository
+contribute/plugin to the build process in a scalable way. The environment will
+scan the files in the code tree (multiple repos) and discover plugins,
+dependencies, path adjustments, environment variable settings, etc. This
+provides easy methods for common repositories to share build tools/steps.
+
+Inclusion of this package is best managed using Pip/Pypi. This package makes
+use of edk2-pytool-library.
+
+This is a supplemental package and is not required to be used for edk2 builds.
+
+![stuart himself](stuart_logo.png "Stuart")
+
+## Current Status
+
+[![codecov]][_codecov]
+[![ci]][_ci]
+
+The code coverage and CI badges represent unit test status and the code
+coverage of those unit tests. We require 100% unit test success
+(Hence the pass / fail) and that code coverage percentage does not lower.
+
+| Host Type | Toolchain | Project | Integration Tests |
+| :------------------ | :--------- | :--------- | :---------------- |
+| Windows Server 2019 | Python 3.9 | Edk2 | [![ewt1]][_it] |
+| Windows Server 2019 | Python 3.10 | Edk2 | [![ewt2]][_it] |
+| Windows Server 2019 | Python 3.11 | Edk2 | [![ewt3]][_it] |
+| Linux Ubuntu 18.04 | Python 3.9 | Edk2 | [![eut1]][_i359] |
+| Linux Ubuntu 18.04 | Python 3.10 | Edk2 | [![eut2]][_it] |
+| Linux Ubuntu 18.04 | Python 3.11 | Edk2 | [![eut3]][_it] |
+| Windows Server 2022 | Python 3.9 | Project Mu | [![mwt1]][_it] |
+| Windows Server 2022 | Python 3.10 | Project Mu | [![mwt2]][_it] |
+| Windows Server 2022 | Python 3.11 | Project Mu | [![mwt3]][_it] |
+| Linux Ubuntu 20.04 | Python 3.9 | Project Mu | [![mut1]][_i359] |
+| Linux Ubuntu 20.04 | Python 3.10 | Project Mu | [![mut2]][_it] |
+| Linux Ubuntu 20.04 | Python 3.11 | Project Mu | [![mut3]][_it] |
+
+### Current Release
+
+[![PyPI](https://img.shields.io/pypi/v/edk2_pytool_extensions.svg)](https://pypi.org/project/edk2-pytool-extensions/)
+
+All release information is now tracked with Github
+ [tags](https://github.com/tianocore/edk2-pytool-extensions/tags),
+ [releases](https://github.com/tianocore/edk2-pytool-extensions/releases) and
+ [milestones](https://github.com/tianocore/edk2-pytool-extensions/milestones).
+
+## Content
+
+The package contains cli tools and a basic common environment for running tools.
+This common environment supports extensions, sub-classing, and plugin to allow
+great flexibility for building and maintaining a code tree.
+
+Examples:
+
+* CI build support with plugin
+* Binary dependency resolution (nuget, urls, git repos)
+* Loggers (file, memory, and colored console)
+* Plugins (pre/post build, function injection)
+* Wrapper around edk2 build
+* VarDict and ShellEnvrionment to manage key/value pairs consistently across
+ entire process
+* Nuget Publishing tool to push new packages
+* Omnicache - Support a super cache of git repos to speed up creating and
+ updating multiple work spaces and minimizing filesystem impact
+
+## License
+
+All content in this repository is licensed under [BSD-2-Clause Plus Patent
+License](https://github.com/tianocore/edk2-pytool-extensions/blob/master/LICENSE).
+
+[![PyPI -
+License](https://img.shields.io/pypi/l/edk2_pytool_extensions.svg)](https://pypi.org/project/edk2-pytool-extensions/)
+
+## Usage
+
+NOTE: It is strongly recommended that you use python virtual environments.
+Virtual environments avoid changing the global python workspace and causing
+conflicting dependencies. Virtual environments are lightweight and easy to use.
+[Learn more](https://docs.python.org/3/library/venv.html)
+
+* To install run `pip install --upgrade edk2-pytool-extensions`
+* To use in your python code
+
+ ```python
+ from edk2toolext.<module> import <class>
+ ```
+
+## History
+
+This project and functionality was ported from Project Mu. For history and
+documentation prior to this see the original Project Mu projects
+<https://github.com/microsoft/mu_pip_environment> and
+<https://github.com/microsoft/mu_pip_build>
+
+## Contribution Process
+
+This project welcomes all types of contributions. For issues, bugs, and
+questions it is best to open a [github
+issue](https://github.com/tianocore/edk2-pytool-extensions/issues).
+
+### Code Contributions
+
+For code contributions this project leverages github pull requests. See github
+tutorials, help, and documentation for complete descriptions. For best success
+please follow the below process.
+
+1. Contributor opens an issue describing problem or new desired functionality
+2. Contributor forks repository in github
+3. Contributor creates branch for work in their fork
+4. Contributor makes code changes, writes relevant unit tests, authors
+ documentation and release notes as necessary.
+5. Contributor runs tests locally
+6. Contributor submits PR to master branch of tianocore/edk2-pytool-extensions
+ 1. PR reviewers will provide feedback on change. If any modifications are
+ required, contributor will make changes and push updates.
+ 2. PR automation will run and validate tests pass
+ 3. If all comments resolved, maintainers approved, and tests pass the PR
+ will be squash merged and closed by the maintainers.
+
+## Maintainers
+
+See the [github
+team](https://github.com/orgs/tianocore/teams/edk-ii-tool-maintainers) for more
+details.
+
+## Documentation
+
+[![docs]][_docs]
+
+Documentation for the most recent release of edk2-pytool-extensions is hosted on
+[tianocore.org/edk2-pytool-extensions](https://www.tianocore.org/edk2-pytool-extensions/)]).
+Raw documentation is located in the ```docs/``` folder and is split into two
+separate categories. The first is located at ```docs/user/``` and is
+documentation and API references for those that are using this package in their
+own project. Users can generate a local copy of the documentation by executing the
+following command from the root of the project:
+
+```cmd
+pip install --upgrade -r .\docs\user\requirements.txt
+mkdocs serve
+```
+
+The second is located at ```docs/contributor/``` and is documentation for
+contributing to the edk2-pytool-extensions repository.
+
+[codecov]: https://codecov.io/gh/tianocore/edk2-pytool-extensions/branch/master/graph/badge.svg?token=vVJxZexcTI
+[_codecov]: https://codecov.io/gh/tianocore/edk2-pytool-extensions
+[pypi]: https://img.shields.io/pypi/v/edk2_pytool_extensions.svg
+[_pypi]: https://pypi.org/project/edk2-pytool-extensions/
+[docs]: https://img.shields.io/website?label=docs&url=https%3A%2F%2Fwww.tianocore.org%2Fedk2-pytool-extensions%2F
+[_docs]: https://www.tianocore.org/edk2-pytool-extensions/
+[ci]: https://github.com/tianocore/edk2-pytool-extensions/actions/workflows/run-ci.yml/badge.svg?branch=master&event=push
+[_ci]: https://github.com/tianocore/edk2-pytool-extensions/actions/workflows/run-ci.yml
+
+[_it]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_build?definitionId=52&_a=summary&repositoryFilter=2&branchFilter=14
+[_i359]: https://github.com/tianocore/edk2-pytool-extensions/issues/359
+[ewt1]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=Edk2_Windows_Python39
+[ewt2]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=Edk2_Windows_Python310
+[ewt3]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=Edk2_Windows_Python311
+
+[eut1]: https://img.shields.io/github/issues/detail/label/tianocore/edk2-pytool-extensions/359?color=orange&label=issue%20359
+[eut2]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=Edk2_Ubuntu_Python310
+[eut3]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=Edk2_Ubuntu_Python311
+
+[mwt1]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=ProjectMu_Windows_Python39
+[mwt2]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=ProjectMu_Windows_Python310
+[mwt3]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=ProjectMu_Windows_Python311
+
+[mut1]: https://img.shields.io/github/issues/detail/label/tianocore/edk2-pytool-extensions/359?color=orange&label=issue%20359
+[mut2]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=ProjectMu_Ubuntu_Python310
+[mut3]: https://dev.azure.com/tianocore/edk2-pytool-extensions/_apis/build/status/Integration%20Tests?branchName=master&configuration=ProjectMu_Ubuntu_Python311
+
+
+%prep
+%autosetup -n edk2-pytool-extensions-0.22.2
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-edk2-pytool-extensions -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 0.22.2-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..b4c935a
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+a90d6edab44b2c63a4168d563c6ad2ec edk2-pytool-extensions-0.22.2.tar.gz