diff --git a/cmd/srpmproc/main.go b/cmd/srpmproc/main.go index 11e154f..3042da4 100644 --- a/cmd/srpmproc/main.go +++ b/cmd/srpmproc/main.go @@ -35,6 +35,7 @@ var ( sshKeyLocation string sshUser string upstreamPrefix string + upstreamVersion int version int storageAddr string gitCommitterName string @@ -70,6 +71,7 @@ var root = &cobra.Command{ func mn(_ *cobra.Command, _ []string) { pd, err := srpmproc.NewProcessData(&srpmproc.ProcessDataRequest{ Version: version, + UpstreamVersion: upstreamVersion, StorageAddr: storageAddr, Package: sourceRpm, ModuleMode: moduleMode, @@ -122,6 +124,8 @@ func main() { _ = root.MarkFlagRequired("upstream-prefix") root.Flags().IntVar(&version, "version", 0, "Upstream version") _ = root.MarkFlagRequired("version") + root.Flags().IntVar(&upstreamVersion, "upstream-version", 0, "Upstream version") + root.Flags().StringVar(&storageAddr, "storage-addr", "", "Bucket to use as blob storage") _ = root.MarkFlagRequired("storage-addr") diff --git a/pkg/data/process.go b/pkg/data/process.go index 408a7e6..4e11f85 100644 --- a/pkg/data/process.go +++ b/pkg/data/process.go @@ -34,6 +34,7 @@ type ProcessData struct { RpmLocation string UpstreamPrefix string Version int + UpstreamVersion int GitCommitterName string GitCommitterEmail string Mode int diff --git a/pkg/srpmproc/process.go b/pkg/srpmproc/process.go index 04afc01..bc243b2 100644 --- a/pkg/srpmproc/process.go +++ b/pkg/srpmproc/process.go @@ -69,6 +69,7 @@ const ( type ProcessDataRequest struct { // Required Version int + UpstreamVersion int StorageAddr string Package string @@ -172,6 +173,9 @@ func NewProcessData(req *ProcessDataRequest) (*data.ProcessData, error) { logger := log.New(writer, "", log.LstdFlags) // Set defaults + if req.UpstreamVersion == 0 { + req.UpstreamVersion = req.Version + } if req.ModulePrefix == "" { req.ModulePrefix = ModulePrefixCentOS } @@ -313,6 +317,7 @@ func NewProcessData(req *ProcessDataRequest) (*data.ProcessData, error) { RpmLocation: sourceRpmLocation, UpstreamPrefix: req.UpstreamPrefix, Version: req.Version, + UpstreamVersion: req.UpstreamVersion, BlobStorage: blobStorage, GitCommitterName: req.GitCommitterName, GitCommitterEmail: req.GitCommitterEmail, @@ -1360,7 +1365,7 @@ func taglessBranchName(fullBranch string, pd *data.ProcessData) string { // Simple case: if our branch is not a modular stream branch, just return the normal pattern if !strings.HasPrefix(branch, "stream-") { - return fmt.Sprintf("%s%d%s", pd.BranchPrefix, pd.Version, pd.BranchSuffix) + return fmt.Sprintf("%s%d%s", pd.BranchPrefix, pd.UpstreamVersion, pd.BranchSuffix) } // index where the "-rhel-" starts near the end of the string @@ -1373,5 +1378,6 @@ func taglessBranchName(fullBranch string, pd *data.ProcessData) string { majorMinor := branch[rhelSpot+6:] // return translated modular branch: - return fmt.Sprintf("%s%d%s-%s_%s", pd.BranchPrefix, pd.Version, pd.BranchSuffix, moduleString, majorMinor) + + return fmt.Sprintf("%s%d%s-%s_%s", pd.BranchPrefix, pd.UpstreamVersion, pd.BranchSuffix, moduleString, majorMinor) }