Commit Graph

39 Commits

Author SHA1 Message Date
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
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
102ff0427a
enhancement: allow callers to use custom loggers 2022-01-05 15:42:49 +01:00
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
fff8896c47
enhancement: make hashes available as a value and print out for cmd 2021-09-04 23:33:08 +02:00
f6c9dba678
enhancement: add option to modify fetch path 2021-09-03 23:52:04 +02:00
fb33e724c0
enhancement: expose fetch as an srpmproc library component 2021-09-03 23:46:38 +02:00
23bea74126
enhancement: make it a real library and drop srpm mode 2021-09-03 23:07:02 +02:00
7d84156a4b
enhancement: expose srpmproc library 2021-08-19 12:11:07 +02:00
b7acbd6f01
Fix authenticator for tmpfs-mode 2021-06-11 18:36:00 +02:00
8fdc3a98e1 Introduce --allow-stream-branches 2021-04-27 19:14:01 +02:00
6fb0ea1997 Add option for fallback module stream 2021-04-25 12:58:13 +02:00
94c657a760 Change all paths to Github 2021-04-18 08:00:44 +02:00
3b0face514 Instead of adding to RpmLocation, just append .git to remote 2021-04-12 00:36:35 +02:00
0ad69ea6fc Add .git suffix to source urls 2021-04-12 00:33:34 +02:00
4b798ecec8 Remove private key requirement for tmpfs-mode 2021-04-08 18:36:30 +02:00
1a7b44d9f3 Add new lookaside functionality 2021-04-08 04:54:44 +02:00
99809a4ead Add LICENSE 2021-04-06 21:39:02 +02:00
e6ca6737b0 Add commit pinning 2021-04-06 21:35:46 +02:00
49a37518bc Better tmpfs mode 2021-03-18 18:44:02 +01:00
920a300fe6 stop tmpfs mode from pushing 2021-02-25 04:37:01 +01:00
01380b9b2d messy code ahead. implement new directives (spec_change) and restructure code to prevent import cycles 2021-02-24 08:27:51 +01:00
2782a66848 change module package, add gitlab tag workaround and add new directives 2021-02-21 14:51:30 +01:00
a7cb786293 set sensible defaults for committer, and fix some import prefix branch usage 2021-02-15 05:20:42 +01:00
dc1067cc38 Make destination branch prefix and import branch prefix configurable 2021-02-14 18:25:00 +01:00
1ce1a19a4f since lookaside is essentialy a CAS, disable namespacing 2021-01-01 17:48:52 +01:00
600ba21558 add module mode 2020-12-22 17:28:04 +01:00
dbc948a453 add no-dup-mode to skip already imported tags 2020-12-22 06:13:27 +01:00
339aa90e37 add fetch mode 2020-12-20 19:00:21 +01:00
1dcceac63a abstract modes and blob storage. support import from git.c.o 2020-12-20 10:36:13 +01:00
e55e442aea use git committer info from flags 2020-12-17 12:12:10 +01:00
2eccb254c4 fix empty spec files and automatically upload tarball to gcs 2020-12-15 09:56:09 +01:00
18ea4b95fc Initial commit 2020-12-14 02:29:02 +01:00