Commit Graph

42 Commits

Author SHA1 Message Date
29778c7ea2
Proper NVR matching 2022-11-06 04:54:35 +01:00
2a2b10ba10
Formatting 2022-11-06 04:53:02 +01:00
f3ac46447d
Stop converting v3 to v2 2022-11-03 04:36:25 +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
jarod.w
d7ed1c7a7f Fix the issue that nothing is ever written to tmpfs location when the
tmpfs is absolute path.

The test case of absolute path is below:
[root@rockylinux86 ~]# srpmproc --version 8 --upstream-prefix file:///root/rocky --storage-addr file:///tmp/srpmproc-cache --source-rpm sed --tmpfs-mode /root/rocky/rpms/sed
[root@rockylinux86 ~]# ls /root/rocky/rpms/sed/
r8  r8-beta  r8s

The test case of relative path is below:
[root@rockylinux86 ~]# pwd
/root
[root@rockylinux86 ~]# srpmproc --version 8 --upstream-prefix file:///root/rocky --storage-addr file:///tmp/srpmproc-cache --source-rpm sed --tmpfs-mode ./rocky/rpms/sed
[root@rockylinux86 ~]# ls /root/rocky/rpms/sed/
r8  r8-beta  r8s

Signed-off-by: jarod.w <wl.jarod@gmail.com>
2022-09-11 17:52:36 +08:00
Mustafa Gezen
6df2fe1e3f Fix NVR regex 2022-05-10 16:32:31 +02:00
Mustafa Gezen
e889daa21f Regex arguments should be escaped 2022-05-10 12:02:37 +02:00
Mustafa Gezen
3f4c4ad211 Fetch should conform to metadata format 2022-05-10 10:34:02 +02:00
Mustafa Gezen
6ab7f9f00a Metadata file not being found should throw an error 2022-05-10 09:35:48 +02: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
f7017a9eac Fix NVR regex for versions with a percentage, and fix dist regex for any EL 2022-05-02 10:39:42 +02:00
Mustafa Gezen
dd7fd31ebb retry fetching patch repo if the error is invalid auth method 2022-04-24 15:53:36 +02:00
Mustafa Gezen
bc9d81bd8e Strict branch mode should still include module streams 2022-04-23 22:56:39 +02:00
Mustafa Gezen
a84d5e5b62 fix non strict branch mode 2022-04-22 01:44:18 +02:00
Mustafa Gezen
45ad998d41 non-tmpfs mode should use memfs 2022-04-21 07:39:10 +02:00
Mustafa Gezen
a97ccb698b add support for modulemd v3 2022-04-21 07:25:44 +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
8f00773aac fix: disabling auto align should always return one space 2022-03-28 19:55:40 +02:00
Mustafa Gezen
2fafebaee8 Add support for disabling auto align 2022-03-28 19:49:55 +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
08aed871a3 Try the common authenticator for upstream then try without if failing 2022-03-25 18:40:09 +01:00
Mustafa Gezen
70c4c22665 Add authenticator to all Git calls (makes it possible to have private repos) 2022-03-25 17:39:50 +01:00
102ff0427a
enhancement: allow callers to use custom loggers 2022-01-05 15:42:49 +01:00
ad004a1671
fix: remove 8 check 2021-11-02 20:52:27 +01:00
16e049c658
fix: filesystem based blob storage should not fail when a blob is missing 2021-10-15 22:27:11 +02:00
ef5bd995b1
fix: fetch should respect root 2021-09-30 20:28:02 +02:00
6483386e19
fix(s3): nil dereference when key isn't found 2021-09-11 03:12:02 +02:00
7c15c41a9f
fix: s3 not found should not return an error 2021-09-11 03:08:24 +02:00
1e769f96dd
fix: make force-path-style available 2021-09-10 23:08:16 +02:00
373e96f0c9
fix: remove remaining fatal logs and turn them into errors 2021-09-10 22:31:59 +02:00
985748b05d
enhancement: add http basic auth option 2021-09-10 20:14:33 +02: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
5d8fdcc702
fix: CopyFromFs should not exit on error 2021-09-07 13:30:50 +02:00
360c4d5849
enhancement: make cdn url configurable during import 2021-09-05 02:12:43 +02:00
fff8896c47
enhancement: make hashes available as a value and print out for cmd 2021-09-04 23:33:08 +02:00
825228e627
enhancement: make it possible to set custom s3 endpoints 2021-09-04 01:57:43 +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