Commit Graph

40 Commits

Author SHA1 Message Date
Jonathan Maple
43e56cc58a
Fixingup error returns for directives (#26)
The processing of pkg/directives/patch.go will return an error type but
handeling of it was attempting to use JSON encoding to print to screen.
There is no reason to use that since the `error` type only has a string
in it but doesn't get marshalled properly to json due to the private
variables.
This is also the only time json marshaling is used so instead covert the
error handling to just `fmt.Printf`.
2024-07-12 14:04:42 -04:00
Louis Abel
ab57fbe33b
Ensure json is returned even when there's no changes 2024-06-10 16:12:51 -07:00
Louis Abel
04bd3b64a6
remove deprecated ioutil functions 2024-06-10 08:31:26 -07:00
Louis Abel
18f9f5c77c
Add git name option for source-rpm
Adds the ability to set a source git repo name for the package that will
be imported.
2024-06-09 21:40:53 -07:00
Dirk Müller
82271f5d9e
Support the openELA "PATCHES" directory format as well 2023-11-06 16:53:43 +01:00
Louis Abel
162e7cea34
continue as it's a loop 2023-09-19 17:16:08 -07:00
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
44725a727d
Repaired manual commits feature and added some bugfixes:
- Manual commits work properly again, and are passed to "tagless mode" for version discovery + tagging
- Fixed tagless mode issue with rpmspec warnings, only stdout is considered
- Fixed tagless mode issue where renamed folders were not properly overwritten, causing potential bad commits

-Skip G.
2023-03-05 22:04:20 -05:00
Skip Grube
4f975913b4
Removed old commented line
-Skip
2023-02-28 16:23:51 -05:00
Skip Grube
3371826851
Fixed up formatting issues from rpmspec commit
-Skip G.
2023-02-28 15:25:11 -05:00
Skip Grube
2eb0768f33
Switched to using rpmspec for version determination in tagless mode:
- Greatly simplified getVersionFromSpec function due to rpmspec usage
- Function now returns error info in case rpmspec shell command goes wrong

-Skip Grube
2023-02-26 22:59:24 -05:00
Skip Grube
0ea6123b6e
More cleanup from feedback
- Removed extra lines
- Externalized Lookaside struct{}

-Skip Grube
2023-02-23 13:57:21 -05:00
Skip Grube
2cc3bcc3a3
Updated cdn-related commits for style and cleanup
-Skip Grube
2023-02-23 12:31:31 -05: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
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
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
dd7fd31ebb retry fetching patch repo if the error is invalid auth method 2022-04-24 15:53:36 +02:00
Mustafa Gezen
45ad998d41 non-tmpfs mode should use memfs 2022-04-21 07:39:10 +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
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
ef5bd995b1
fix: fetch should respect root 2021-09-30 20:28:02 +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
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