2023-06-28 07:26:00 +00:00
|
|
|
# pv2
|
2023-06-04 23:23:20 +00:00
|
|
|
|
2023-07-11 20:18:12 +00:00
|
|
|
![pv2 last commit](https://img.shields.io/github/last-commit/peridotbuild/pv2/development) ![pv2 issues](https://img.shields.io/github/issues/peridotbuild/pv2?link=https%3A%2F%2Fgithub.com%2Fperidotbuild%2Fpv2%2Fissues) ![prs](https://img.shields.io/github/issues-pr/peridotbuild/pv2?link=https%3A%2F%2Fgithub.com%2Fperidotbuild%2Fpv2%2Fpulls)
|
|
|
|
|
|
|
|
![language](https://img.shields.io/badge/language-python-blue)
|
|
|
|
|
|
|
|
![license](https://img.shields.io/github/license/peridotbuild/pv2)
|
|
|
|
|
2023-06-28 07:26:00 +00:00
|
|
|
pv2 is a backend module framework for building and development. Initially
|
2024-02-23 19:22:44 +00:00
|
|
|
designed as a POC to support peridot's potential transition to python, it
|
|
|
|
provides utilities that can be used for developers in and outside of the
|
|
|
|
projects in the RESF (such as Rocky Linux).
|
Mass Update
* Util Module
* Provides: color class (for specialty stdout logging)
* Provides: constants classes for rpm, errors, and mock
* Provides: error classes for generic error handling and future fault
handler
* Provides: generic classes for generic, repeatable use cases
* Provides: rpmutil with rpm utilities that range from basic to
advanced metadata handling
* Add mock module
* Can generate a usable mock config based on input provided
* Can generate mock plugin configuration as provided
* cache related plugins are hardcoded as disabled
* Supports plugins: chroot scanning, embedding files, bind mounts
* Can generate basic dnf configs with repo information
* (Currently limited) Error handler
* Runs mock commands (such as build, buildsrpm, init, shell)
* Add modularity module (very limited, doesn't really do much)
* Add peridotpb example (does nothing, will likely be its own thing)
* Add MIT license
2023-06-14 07:39:36 +00:00
|
|
|
|
2023-06-28 07:26:00 +00:00
|
|
|
## Requirements
|
Mass Update
* Util Module
* Provides: color class (for specialty stdout logging)
* Provides: constants classes for rpm, errors, and mock
* Provides: error classes for generic error handling and future fault
handler
* Provides: generic classes for generic, repeatable use cases
* Provides: rpmutil with rpm utilities that range from basic to
advanced metadata handling
* Add mock module
* Can generate a usable mock config based on input provided
* Can generate mock plugin configuration as provided
* cache related plugins are hardcoded as disabled
* Supports plugins: chroot scanning, embedding files, bind mounts
* Can generate basic dnf configs with repo information
* (Currently limited) Error handler
* Runs mock commands (such as build, buildsrpm, init, shell)
* Add modularity module (very limited, doesn't really do much)
* Add peridotpb example (does nothing, will likely be its own thing)
* Add MIT license
2023-06-14 07:39:36 +00:00
|
|
|
|
2023-06-28 07:26:00 +00:00
|
|
|
* An RPM Distribution
|
Mass Update
* Util Module
* Provides: color class (for specialty stdout logging)
* Provides: constants classes for rpm, errors, and mock
* Provides: error classes for generic error handling and future fault
handler
* Provides: generic classes for generic, repeatable use cases
* Provides: rpmutil with rpm utilities that range from basic to
advanced metadata handling
* Add mock module
* Can generate a usable mock config based on input provided
* Can generate mock plugin configuration as provided
* cache related plugins are hardcoded as disabled
* Supports plugins: chroot scanning, embedding files, bind mounts
* Can generate basic dnf configs with repo information
* (Currently limited) Error handler
* Runs mock commands (such as build, buildsrpm, init, shell)
* Add modularity module (very limited, doesn't really do much)
* Add peridotpb example (does nothing, will likely be its own thing)
* Add MIT license
2023-06-14 07:39:36 +00:00
|
|
|
|
2023-06-28 07:26:00 +00:00
|
|
|
* Fedora
|
2024-02-23 19:22:44 +00:00
|
|
|
* Enterprise Linux 9+ recommended
|
|
|
|
* CentOS Stream 9+ recommended
|
Mass Update
* Util Module
* Provides: color class (for specialty stdout logging)
* Provides: constants classes for rpm, errors, and mock
* Provides: error classes for generic error handling and future fault
handler
* Provides: generic classes for generic, repeatable use cases
* Provides: rpmutil with rpm utilities that range from basic to
advanced metadata handling
* Add mock module
* Can generate a usable mock config based on input provided
* Can generate mock plugin configuration as provided
* cache related plugins are hardcoded as disabled
* Supports plugins: chroot scanning, embedding files, bind mounts
* Can generate basic dnf configs with repo information
* (Currently limited) Error handler
* Runs mock commands (such as build, buildsrpm, init, shell)
* Add modularity module (very limited, doesn't really do much)
* Add peridotpb example (does nothing, will likely be its own thing)
* Add MIT license
2023-06-14 07:39:36 +00:00
|
|
|
|
2024-02-23 19:22:44 +00:00
|
|
|
* Python 3.9 or higher
|
2023-07-06 23:12:16 +00:00
|
|
|
* rpm-build
|
2023-06-28 07:26:00 +00:00
|
|
|
* A few python modules
|
Mass Update
* Util Module
* Provides: color class (for specialty stdout logging)
* Provides: constants classes for rpm, errors, and mock
* Provides: error classes for generic error handling and future fault
handler
* Provides: generic classes for generic, repeatable use cases
* Provides: rpmutil with rpm utilities that range from basic to
advanced metadata handling
* Add mock module
* Can generate a usable mock config based on input provided
* Can generate mock plugin configuration as provided
* cache related plugins are hardcoded as disabled
* Supports plugins: chroot scanning, embedding files, bind mounts
* Can generate basic dnf configs with repo information
* (Currently limited) Error handler
* Runs mock commands (such as build, buildsrpm, init, shell)
* Add modularity module (very limited, doesn't really do much)
* Add peridotpb example (does nothing, will likely be its own thing)
* Add MIT license
2023-06-14 07:39:36 +00:00
|
|
|
|
2023-06-28 07:26:00 +00:00
|
|
|
* file-magic (python3-file-magic)
|
|
|
|
* GitPython (python3-GitPython or via pip)
|
|
|
|
* lxml (python3-lxml or via pip)
|
|
|
|
* rpm (python3-rpm)
|
2023-07-06 22:49:05 +00:00
|
|
|
* pycurl (python3-pycurl)
|
|
|
|
|
2023-07-06 23:12:16 +00:00
|
|
|
* rpm macros packages (brought in by rpm-build package)
|
2023-07-06 22:49:05 +00:00
|
|
|
|
|
|
|
* \*-rpm-macros
|
|
|
|
* \*-srpm-macros
|
2023-07-03 19:43:36 +00:00
|
|
|
|
2024-02-23 19:22:44 +00:00
|
|
|
* additional packages either in Fedora Linux or EPEL
|
|
|
|
|
|
|
|
* rpmautospec-rpm-macros
|
|
|
|
|
2023-07-03 19:43:36 +00:00
|
|
|
## Example Scripts
|
|
|
|
|
|
|
|
Example scripts are found in the `examples` directory, which can utilize
|
|
|
|
parts of the pv2 module.
|
2023-07-06 22:49:05 +00:00
|
|
|
|
|
|
|
## Contributing
|
|
|
|
|
|
|
|
If you see a bug or a potential enhancement, we always encourage Pull Requests
|
|
|
|
to be sent in. When sending in your pull request, make sure it is against the
|
|
|
|
`development` branch. PR's to main will be closed.
|
|
|
|
|
|
|
|
To submit a change, we recommend that you do so on GitHub:
|
|
|
|
|
|
|
|
* Fork the repository as necessary
|
|
|
|
* Make a new branch based on the `development` branch - Ensure that it is up-to-date
|
|
|
|
* Make your changes
|
|
|
|
* Send in the PR for review to our `development` branch
|