Commit Graph

40 Commits

Author SHA1 Message Date
Louis Abel edeb0239df
Add two features and one fix
This commit attempts to merge in custom changes on distrobuild. In
particular:

* Imports
  * Package: If there are no changes, do not import. This currently
    returns as an error, so may need adjusting.
  * Module: Import, regardless if there is changes or not. MBS cares
    more about the fact there's a commit associated with a module build.
    It will not build off the same commit ID.
  * Add --module-branch-names-only flag to make it so module yamls will
    have a branch name rather than commit ID. This makes it easier to
    work with MBS.
* Fixes
  * tagless imports should use the _topdir macro, otherwise a bug may
    surface where macros or other data cannot be determined, and a
    cryptic error may display.
2023-09-05 03:50:43 -07:00
Skip Grube 3237794071
Updates to add flexibility to lookasides and tagless handling:
- Added template "macros" to allow for complex --cdn-url specifications ( {{.Name}}, {{.Branch}}, etc.)
- Added --cdn <distro> option with pre-set URL patterns to simplify use
- Kept default fallback behavior and search patterns of --cdn-url if templates are not used
- Removed "--altlookaside" option, as the above features make it redundant

- Automatic tagless:  If a proper git version/imports tag isn't found, a "tagless-mode" import will be attempted automatically at run-time
- taglessmode command line option kept in case user still wants to force a tagless import

-Skip Grube
2023-02-22 23:23:47 -05:00
Mustafa Gezen 2a2b10ba10
Formatting 2022-11-06 04:53:02 +01:00
skip77 cff0cc0fbf
feature: "tagless import" feature mode (#4)
In order to build from lookahead sources, srpmproc must support the new gitlab address for centos 9 stream as well as manipulating the sources to expected format.

Resolves #2.


- Options for tagless import and new stream lookaside format added
- Git Mode now supports scanning for branch head in addition to the "normal" pulling of specific version tags
- Alternate ProcessRPM added for Tagless mode in process.go (still a WIP)
- Tagless mode converts a repo to the "traditional" format (SPECS/ + SOURCES/ + <pkg>.metadata )
- Tagless mode will build a dummy srpm to determine NVR information (rpmbuild + rpm shell commands) (will use this to tag imports in the target git)
- Limitation:  Tagless imports only pull the latest head from a branch
- CentOS-Stream import branches are converted from stream-<MODULE_VERSION>-<RHEL_VERSION> to the more familiar r9s-stream-<VERSION>
- stream-style YAML is detected and converted for modules, similar to the older modulemd.src.txt files
- This new pattern is for "tagless mode" only, previous tagged imports (from git.centos.org) should not be affected
2022-09-27 23:32:50 -04:00
Mustafa Gezen 16ad80fdeb Support inconsistent metadata naming and case-insensitive tags 2022-05-09 19:57:43 +02:00
Mustafa Gezen 8199a79889 Add support for version/release based fetching 2022-05-05 04:25:07 +02:00
Mustafa Gezen 61eaa8b8f8 fix tmpfs mode, replace stream mode with branch suffix and strict mode 2022-04-21 06:30:33 +02:00
Mustafa Gezen 8f55eb397f enhancement: add support for downloading from blob storage instead of http endpoint 2022-04-03 04:29:49 +02:00
Mustafa Gezen e0081b4ad9 Retry without authentication when upstream REQUIRES authentication and add support for basic auth in CLI 2022-03-25 18:54:23 +01:00
Mustafa Gezen 102ff0427a
enhancement: allow callers to use custom loggers 2022-01-05 15:42:49 +01:00
Mustafa Gezen 42c043f8d6
enhancement: add more info for each processed package as well as print more info on cli 2021-09-08 17:00:56 +02:00
Mustafa Gezen fff8896c47
enhancement: make hashes available as a value and print out for cmd 2021-09-04 23:33:08 +02:00
Mustafa Gezen f6c9dba678
enhancement: add option to modify fetch path 2021-09-03 23:52:04 +02:00
Mustafa Gezen fb33e724c0
enhancement: expose fetch as an srpmproc library component 2021-09-03 23:46:38 +02:00
Mustafa Gezen 23bea74126
enhancement: make it a real library and drop srpm mode 2021-09-03 23:07:02 +02:00
Mustafa Gezen 7d84156a4b
enhancement: expose srpmproc library 2021-08-19 12:11:07 +02:00
Mustafa Gezen b7acbd6f01
Fix authenticator for tmpfs-mode 2021-06-11 18:36:00 +02:00
Mustafa Gezen 8fdc3a98e1 Introduce --allow-stream-branches 2021-04-27 19:14:01 +02:00
Mustafa Gezen 6fb0ea1997 Add option for fallback module stream 2021-04-25 12:58:13 +02:00
Mustafa Gezen 94c657a760 Change all paths to Github 2021-04-18 08:00:44 +02:00
Mustafa Gezen 3b0face514 Instead of adding to RpmLocation, just append .git to remote 2021-04-12 00:36:35 +02:00
Mustafa Gezen 0ad69ea6fc Add `.git` suffix to source urls 2021-04-12 00:33:34 +02:00
Mustafa Gezen 4b798ecec8 Remove private key requirement for tmpfs-mode 2021-04-08 18:36:30 +02:00
Mustafa Gezen 1a7b44d9f3 Add new lookaside functionality 2021-04-08 04:54:44 +02:00
Mustafa Gezen 99809a4ead Add LICENSE 2021-04-06 21:39:02 +02:00
Mustafa Gezen e6ca6737b0 Add commit pinning 2021-04-06 21:35:46 +02:00
Mustafa Gezen 49a37518bc Better tmpfs mode 2021-03-18 18:44:02 +01:00
Mustafa Gezen 920a300fe6 stop tmpfs mode from pushing 2021-02-25 04:37:01 +01:00
Mustafa Gezen 01380b9b2d messy code ahead. implement new directives (spec_change) and restructure code to prevent import cycles 2021-02-24 08:27:51 +01:00
Mustafa Gezen 2782a66848 change module package, add gitlab tag workaround and add new directives 2021-02-21 14:51:30 +01:00
Mustafa Gezen a7cb786293 set sensible defaults for committer, and fix some import prefix branch usage 2021-02-15 05:20:42 +01:00
Mustafa Gezen dc1067cc38 Make destination branch prefix and import branch prefix configurable 2021-02-14 18:25:00 +01:00
Mustafa Gezen 1ce1a19a4f since lookaside is essentialy a CAS, disable namespacing 2021-01-01 17:48:52 +01:00
Mustafa Gezen 600ba21558 add module mode 2020-12-22 17:28:04 +01:00
Mustafa Gezen dbc948a453 add no-dup-mode to skip already imported tags 2020-12-22 06:13:27 +01:00
Mustafa Gezen 339aa90e37 add fetch mode 2020-12-20 19:00:21 +01:00
Mustafa Gezen 1dcceac63a abstract modes and blob storage. support import from git.c.o 2020-12-20 10:36:13 +01:00
Mustafa Gezen e55e442aea use git committer info from flags 2020-12-17 12:12:10 +01:00
Mustafa Gezen 2eccb254c4 fix empty spec files and automatically upload tarball to gcs 2020-12-15 09:56:09 +01:00
Mustafa Gezen 18ea4b95fc Initial commit 2020-12-14 02:29:02 +01:00