Upstream package importer with auto patching
Go to file
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
.github/workflows Update go.yml 2021-06-08 20:09:14 +02:00
cmd/srpmproc feature: "tagless import" feature mode (#4) 2022-09-27 23:32:50 -04:00
modulemd add support for modulemd v3 2022-04-21 07:25:44 +02:00
pb fix: disabling auto align should always return one space 2022-03-28 19:55:40 +02:00
pkg feature: "tagless import" feature mode (#4) 2022-09-27 23:32:50 -04:00
proto Add support for disabling auto align 2022-03-28 19:49:55 +02:00
.editorconfig Initial commit 2020-12-14 02:29:02 +01:00
.gitignore enhancement: expose srpmproc library 2021-08-19 12:11:07 +02:00
.goreleaser.yml Add s390x and ppc64le to builds 2022-06-03 13:56:05 -04:00
AUTHORS Add LICENSE 2021-04-06 21:39:02 +02:00
CONTRIBUTORS Add LICENSE 2021-04-06 21:39:02 +02:00
Dockerfile [docker] Add Dockerfile 2020-12-17 13:12:30 +01:00
LICENSE Add LICENSE 2021-04-06 21:39:02 +02:00
README.md retry fetching patch repo if the error is invalid auth method 2022-04-24 15:53:36 +02:00
gen.go enhancement: add more info for each processed package as well as print more info on cli 2021-09-08 17:00:56 +02:00
go.mod add support for modulemd v3 2022-04-21 07:25:44 +02:00
go.sum add support for modulemd v3 2022-04-21 07:25:44 +02:00

README.md

srpmproc

Upstream package importer with auto patching. Reference implementation for OpenPatch

Usage

Usage:
  srpmproc [flags]
  srpmproc [command]

Available Commands:
  fetch
  help        Help about any command

Flags:
      --basic-password string           Basic auth password
      --basic-username string           Basic auth username
      --branch-prefix string            Branch prefix (replaces import-branch-prefix) (default "r")
      --branch-suffix string            Branch suffix to use for imported branches
      --cdn-url string                  CDN URL to download blobs from (default "https://git.centos.org/sources")
      --git-committer-email string      Email of committer (default "rockyautomation@rockylinux.org")
      --git-committer-name string       Name of committer (default "rockyautomation")
  -h, --help                            help for srpmproc
      --import-branch-prefix string     Import branch prefix (default "c")
      --manual-commits string           Comma separated branch and commit list for packages with broken release tags (Format: BRANCH:HASH)
      --module-fallback-stream string   Override fallback stream. Some module packages are published as collections and mostly use the same stream name, some of them deviate from the main stream
      --module-mode                     If enabled, imports a module instead of a package
      --module-prefix string            Where to retrieve modules if exists. Only used when source-rpm is a git repo (default "https://git.centos.org/modules")
      --no-dup-mode                     If enabled, skips already imported tags
      --no-storage-download             If enabled, blobs are always downloaded from upstream
      --no-storage-upload               If enabled, blobs are not uploaded to blob storage
      --rpm-prefix string               Where to retrieve SRPM content. Only used when source-rpm is not a local file (default "https://git.centos.org/rpms")
      --single-tag string               If set, only this tag is imported
      --source-rpm string               Location of RPM to process
      --ssh-key-location string         Location of the SSH key to use to authenticate against upstream
      --ssh-user string                 SSH User (default "git")
      --storage-addr string             Bucket to use as blob storage
      --strict-branch-mode              If enabled, only branches with the calculated name are imported and not prefix only
      --tmpfs-mode string               If set, packages are imported to path and patched but not pushed
      --upstream-prefix string          Upstream git repository prefix
      --version int                     Upstream version

Use "srpmproc [command] --help" for more information about a command.