mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Add RPM registry (#23380)
Fixes #20751 This PR adds a RPM package registry. You can follow [this tutorial](https://opensource.com/article/18/9/how-build-rpm-packages) to build a *.rpm package for testing. This functionality is similar to the Debian registry (#22854) and therefore shares some methods. I marked this PR as blocked because it should be merged after #22854. 
This commit is contained in:
		@@ -25,6 +25,7 @@ import (
 | 
			
		||||
	"code.gitea.io/gitea/modules/packages/nuget"
 | 
			
		||||
	"code.gitea.io/gitea/modules/packages/pub"
 | 
			
		||||
	"code.gitea.io/gitea/modules/packages/pypi"
 | 
			
		||||
	"code.gitea.io/gitea/modules/packages/rpm"
 | 
			
		||||
	"code.gitea.io/gitea/modules/packages/rubygems"
 | 
			
		||||
	"code.gitea.io/gitea/modules/packages/swift"
 | 
			
		||||
	"code.gitea.io/gitea/modules/packages/vagrant"
 | 
			
		||||
@@ -163,6 +164,8 @@ func GetPackageDescriptor(ctx context.Context, pv *PackageVersion) (*PackageDesc
 | 
			
		||||
		metadata = &pub.Metadata{}
 | 
			
		||||
	case TypePyPI:
 | 
			
		||||
		metadata = &pypi.Metadata{}
 | 
			
		||||
	case TypeRpm:
 | 
			
		||||
		metadata = &rpm.VersionMetadata{}
 | 
			
		||||
	case TypeRubyGems:
 | 
			
		||||
		metadata = &rubygems.Metadata{}
 | 
			
		||||
	case TypeSwift:
 | 
			
		||||
 
 | 
			
		||||
@@ -44,6 +44,7 @@ const (
 | 
			
		||||
	TypeNuGet     Type = "nuget"
 | 
			
		||||
	TypePub       Type = "pub"
 | 
			
		||||
	TypePyPI      Type = "pypi"
 | 
			
		||||
	TypeRpm       Type = "rpm"
 | 
			
		||||
	TypeRubyGems  Type = "rubygems"
 | 
			
		||||
	TypeSwift     Type = "swift"
 | 
			
		||||
	TypeVagrant   Type = "vagrant"
 | 
			
		||||
@@ -64,6 +65,7 @@ var TypeList = []Type{
 | 
			
		||||
	TypeNuGet,
 | 
			
		||||
	TypePub,
 | 
			
		||||
	TypePyPI,
 | 
			
		||||
	TypeRpm,
 | 
			
		||||
	TypeRubyGems,
 | 
			
		||||
	TypeSwift,
 | 
			
		||||
	TypeVagrant,
 | 
			
		||||
@@ -100,6 +102,8 @@ func (pt Type) Name() string {
 | 
			
		||||
		return "Pub"
 | 
			
		||||
	case TypePyPI:
 | 
			
		||||
		return "PyPI"
 | 
			
		||||
	case TypeRpm:
 | 
			
		||||
		return "RPM"
 | 
			
		||||
	case TypeRubyGems:
 | 
			
		||||
		return "RubyGems"
 | 
			
		||||
	case TypeSwift:
 | 
			
		||||
@@ -141,6 +145,8 @@ func (pt Type) SVGName() string {
 | 
			
		||||
		return "gitea-pub"
 | 
			
		||||
	case TypePyPI:
 | 
			
		||||
		return "gitea-python"
 | 
			
		||||
	case TypeRpm:
 | 
			
		||||
		return "gitea-rpm"
 | 
			
		||||
	case TypeRubyGems:
 | 
			
		||||
		return "gitea-rubygems"
 | 
			
		||||
	case TypeSwift:
 | 
			
		||||
 
 | 
			
		||||
@@ -118,7 +118,7 @@ func DeleteFileByID(ctx context.Context, fileID int64) error {
 | 
			
		||||
// PackageFileSearchOptions are options for SearchXXX methods
 | 
			
		||||
type PackageFileSearchOptions struct {
 | 
			
		||||
	OwnerID       int64
 | 
			
		||||
	PackageType   string
 | 
			
		||||
	PackageType   Type
 | 
			
		||||
	VersionID     int64
 | 
			
		||||
	Query         string
 | 
			
		||||
	CompositeKey  string
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user