mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	Add Debian package registry (#22854)
Co-authored-by: @awkwardbunny This PR adds a Debian package registry. You can follow [this tutorial](https://www.baeldung.com/linux/create-debian-package) to build a *.deb package for testing. Source packages are not supported at the moment and I did not find documentation of the architecture "all" and how these packages should be treated. --------- Co-authored-by: Brian Hong <brian@hongs.me> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
This commit is contained in:
		@@ -21,6 +21,7 @@ import (
 | 
			
		||||
	"code.gitea.io/gitea/routers/api/packages/conan"
 | 
			
		||||
	"code.gitea.io/gitea/routers/api/packages/conda"
 | 
			
		||||
	"code.gitea.io/gitea/routers/api/packages/container"
 | 
			
		||||
	"code.gitea.io/gitea/routers/api/packages/debian"
 | 
			
		||||
	"code.gitea.io/gitea/routers/api/packages/generic"
 | 
			
		||||
	"code.gitea.io/gitea/routers/api/packages/helm"
 | 
			
		||||
	"code.gitea.io/gitea/routers/api/packages/maven"
 | 
			
		||||
@@ -272,6 +273,24 @@ func CommonRoutes(ctx gocontext.Context) *web.Route {
 | 
			
		||||
				conda.UploadPackageFile(ctx)
 | 
			
		||||
			})
 | 
			
		||||
		}, reqPackageAccess(perm.AccessModeRead))
 | 
			
		||||
		r.Group("/debian", func() {
 | 
			
		||||
			r.Get("/repository.key", debian.GetRepositoryKey)
 | 
			
		||||
			r.Group("/dists/{distribution}", func() {
 | 
			
		||||
				r.Get("/{filename}", debian.GetRepositoryFile)
 | 
			
		||||
				r.Get("/by-hash/{algorithmn}/{hash}", debian.GetRepositoryFileByHash)
 | 
			
		||||
				r.Group("/{component}/{architecture}", func() {
 | 
			
		||||
					r.Get("/{filename}", debian.GetRepositoryFile)
 | 
			
		||||
					r.Get("/by-hash/{algorithmn}/{hash}", debian.GetRepositoryFileByHash)
 | 
			
		||||
				})
 | 
			
		||||
			})
 | 
			
		||||
			r.Group("/pool/{distribution}/{component}", func() {
 | 
			
		||||
				r.Get("/{name}_{version}_{architecture}.deb", debian.DownloadPackageFile)
 | 
			
		||||
				r.Group("", func() {
 | 
			
		||||
					r.Put("/upload", debian.UploadPackageFile)
 | 
			
		||||
					r.Delete("/{name}/{version}/{architecture}", debian.DeletePackageFile)
 | 
			
		||||
				}, reqPackageAccess(perm.AccessModeWrite))
 | 
			
		||||
			})
 | 
			
		||||
		}, reqPackageAccess(perm.AccessModeRead))
 | 
			
		||||
		r.Group("/generic", func() {
 | 
			
		||||
			r.Group("/{packagename}/{packageversion}", func() {
 | 
			
		||||
				r.Delete("", reqPackageAccess(perm.AccessModeWrite), generic.DeletePackage)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user