Commit Graph

75 Commits

Author SHA1 Message Date
Louis Abel bc47743933
add module example script 2023-07-10 10:18:50 -07:00
Louis Abel 7e4c13657b
strip off -rhel-* before getting name 2023-07-07 20:21:10 -07:00
Louis Abel d1e9bbb109
add missing timestamp 2023-07-07 14:45:32 -07:00
Louis Abel 60e210aaa6
Add module importer and git example
* Add ModuleImport class to import module repos
* Add import_git.py example of using GitImport
2023-07-07 14:37:56 -07:00
Louis Abel edd6b41608
use a cleanup function 2023-07-06 16:32:42 -07:00
Louis Abel 3138af9c00
module shows incorrect dist tag 2023-07-06 16:19:25 -07:00
Louis Abel 1972740141
hotfix: raise exception if rpmbuild is not available 2023-07-06 16:12:16 -07:00
Louis Abel 3488f7ca28
Add GitImporter and misc changes
* Add GitImporter class to importer utility

  * Given a pagure or gitlab source, it should be able to import an rpm

* Added utilitis to handle GitImporter changes
* Modified README for future github transport
* Added issue templates for future github transport
* Raise micro version
2023-07-06 15:49:05 -07:00
Louis Abel df30fa4c72
make destination lookaside configurable 2023-07-03 12:43:36 -07:00
Louis Abel c4dc7195bb
hotfix: remove rpm from dep list 2023-07-02 02:00:08 -07:00
Louis Abel e1621cd7a0
pyproject fix: move all to subdir, repair toml 2023-07-02 01:56:24 -07:00
Louis Abel 89457de4d4
hotfix: some packages don't come with sources 2023-06-29 11:44:44 -07:00
Louis Abel 843380bd98
importer fixes, remove submodules, cleanup util
importer/operation.py: Added a skip_lookaside option to pkg_import().
This will remove the source files outright and not attempt to move them.

Removed models and peridotpb. These will be something outside of this
core module.

util/generic.py: reordered __all__

util/rpmutil.py: ordered __all__ and added metadata logic to NEVRA
splitter.
2023-06-29 00:58:14 -07:00
Louis Abel 60e197c9e1
add modularitylabel support 2023-06-28 14:43:14 -07:00
Louis Abel 06b4e59d9d
Start proper readme, add pyproject.toml 2023-06-28 00:26:00 -07:00
Louis Abel 5841534492
ensure newline 2023-06-27 19:31:32 -07:00
Louis Abel fb91f36128
add restorecon if applicable 2023-06-27 19:26:57 -07:00
Louis Abel 6ba79e2aaf
hotfix: add print statement for debugging 2023-06-27 19:09:11 -07:00
Louis Abel ad2c828060
hotfix: plus is fine in tag 2023-06-27 19:03:51 -07:00
Louis Abel 377c9e859f
hotfix: rearrange calls in importer 2023-06-27 18:57:38 -07:00
Louis Abel 625e741a4b
hotfix: add clean up 2023-06-27 18:50:15 -07:00
Louis Abel 74f9117d36
hotfix: ensure import init uses rpm_name_replace 2023-06-27 17:37:52 -07:00
Louis Abel 185d144567
Add importutil module
Adds the importutil module that allows targetting a specific source RPM
file and importing and tagging. It aims to keep the same structure of
git.centos.org.

Other changes:

* constants.py: New constants added for git and rpm
* error.py: New git and rpm error classes added
* fileutil.py:
  * Add filter_files_inverse (matches everything but the filter)
  * Add get_magic_file (returns magic data from a file)
  * Add get_magic_content (returns magic data from data/content)
* generic.py: Add safe_encoding to return a urlquote string
* processor.py:
  * Add run_proc_foreground_shell to support shell calls
  * Add run_proc_no_output_shell to support shell calls
* rpmutil.py:
  * get_rpm_header now supports verify_signature parameter (default
    false). If set to true and key is not available, raises exception.
  * Add verify_rpm_signature, which allows local rpm verification
    without ingesting the whole header into a usable object.
  * Add add_rpm_key, which enables a user to add a key to the rpm
    keyring.
2023-06-27 17:20:44 -07:00
Louis Abel e48a54db3a
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 00:39:36 -07:00
Louis Abel 771e79c637
init 2023-06-04 16:23:20 -07:00