9ea5e63043
Bumps the go_modules group with 2 updates in the / directory: [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) and google.golang.org/protobuf. Updates `github.com/go-git/go-git/v5` from 5.2.0 to 5.11.0 - [Release notes](https://github.com/go-git/go-git/releases) - [Commits](https://github.com/go-git/go-git/compare/v5.2.0...v5.11.0) Updates `google.golang.org/protobuf` from 1.25.0 to 1.33.0 Updates `gopkg.in/yaml.v3` from 3.0.0-20210107192922-496545a6307b to 3.0.1 Updates `golang.org/x/crypto` from 0.0.0-20200622213623-75b288015ac9 to 0.16.0 - [Commits](https://github.com/golang/crypto/commits/v0.16.0) Updates `golang.org/x/net` from 0.0.0-20201110031124-69a78807bb2b to 0.19.0 - [Commits](https://github.com/golang/net/commits/v0.19.0) Updates `golang.org/x/text` from 0.3.3 to 0.14.0 - [Release notes](https://github.com/golang/text/releases) - [Commits](https://github.com/golang/text/compare/v0.3.3...v0.14.0) --- updated-dependencies: - dependency-name: github.com/go-git/go-git/v5 dependency-type: direct:production dependency-group: go_modules-security-group - dependency-name: google.golang.org/protobuf dependency-type: direct:production dependency-group: go_modules-security-group - dependency-name: gopkg.in/yaml.v3 dependency-type: direct:production dependency-group: go_modules-security-group - dependency-name: golang.org/x/crypto dependency-type: indirect dependency-group: go_modules-security-group - dependency-name: golang.org/x/net dependency-type: indirect dependency-group: go_modules-security-group - dependency-name: golang.org/x/text dependency-type: indirect dependency-group: go_modules-security-group ... Signed-off-by: dependabot[bot] <support@github.com> |
||
---|---|---|
.github/workflows | ||
cmd/srpmproc | ||
modulemd | ||
pb | ||
pkg | ||
proto | ||
.editorconfig | ||
.gitignore | ||
.goreleaser.yml | ||
AUTHORS | ||
CONTRIBUTORS | ||
Dockerfile | ||
gen.go | ||
go.mod | ||
go.sum | ||
LICENSE | ||
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 string CDN URL shortcuts for well-known distros, auto-assigns --cdn-url. Valid values: rocky8, rocky, fedora, centos, centos-stream. Setting this overrides --cdn-url
--cdn-url string CDN URL to download blobs from. Simple URL follows default rocky/centos patterns. Can be customized using macros (see docs) (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
--package-release string Package release to fetch
--package-version string Package version to fetch
--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
--taglessmode Tagless mode: If set, pull the latest commit from the branch and determine version numbers from spec file. This is auto-tried if tags aren't found.
--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.
Examples:
- Import the kernel package from git.centos.org/rpms/, to local folder /opt/gitroot/rpms/kernel.git/ . Download the lookaside source tarballs from the default CentOS file server location to local folder
/opt/fake_s3/
. We want to grab branch "c8" (import prefix plus RHEL version), and it will be committed as branch "r8" (branch prefix plus RHEL version). This assumes that/opt/fake_s3
exists, and/opt/gitroot/rpms/kernel.git
exists and is a git repository of some kind (even an empty one).
srpmproc --branch-prefix "r" --import-branch-prefix "c" --rpm-prefix "https://git.centos.org/rpms" --version 8 --storage-addr file:///opt/fake_s3 --upstream-prefix file:///opt/gitroot --cdn centos --strict-branch-mode --source-rpm kernel
CDN and --cdn-url
The --cdn-url option allows for Go-style templates to craft complex URL patterns. These templates are: {{.Name}}
(package name), {{.Hash}}
(hash of lookaside file), {{.Hashtype}}
(hash type of file, like "sha256" or "sha512"), {{.Branch}}
(the branch we are importing), and {{.Filename}}
(the lookaside file's name as it appears in SOURCES/). You can add these values as part of --cdn-url to craft your lookaside pattern.
For example, if I wanted my lookaside downloads to come from CentOS 9 Stream, I would use as part of my command:
--cdn-url "https://sources.stream.centos.org/sources/rpms/{{.Name}}/{{.Filename}}/{{.Hashtype}}/{{.Hash}}/{{.Filename}}"
Default Behavior: If these templates are not used, the default behavior of --cdn-url
is to fall back on the traditional RHEL import pattern: <CDN_URL>/<NAME>/<BRANCH>/<HASH>
. If that fails, a further fallback is attempted, the simple: <CDN_URL>/<HASH>
. These cover the common Rocky Linux and RHEL/CentOS imports if the base lookaside URL is the only thing given. If no --cdn-url
is specified, it defaults to "https://git.centos.org/sources" (for RHEL imports into Rocky Linux)
CDN Shorthand: For convenience, some lookaside patterns for popular distros are provided via the --cdn
option. You can specify this without needing to use the longer --cdn-url
. For example, when importing from CentOS 9 Stream, you could use --cdn centos-stream