diff options
author | KN4CK3R <admin@oldschoolhack.me> | 2023-04-28 23:51:36 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-28 17:51:36 -0400 |
commit | bf77e2163b670797d5bf7199da88789968e47c61 (patch) | |
tree | 9cd8d0af2d05df59aa2169abeaa99ea7f6be45e3 /services/packages/cleanup/cleanup.go | |
parent | bc4e06109dae33edc0a9a918f244563f05a1a353 (diff) | |
download | gitea-bf77e2163b670797d5bf7199da88789968e47c61.tar.gz gitea-bf77e2163b670797d5bf7199da88789968e47c61.zip |
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>
Diffstat (limited to 'services/packages/cleanup/cleanup.go')
-rw-r--r-- | services/packages/cleanup/cleanup.go | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/services/packages/cleanup/cleanup.go b/services/packages/cleanup/cleanup.go index 2d62a028a4..43fbc1ad9b 100644 --- a/services/packages/cleanup/cleanup.go +++ b/services/packages/cleanup/cleanup.go @@ -17,6 +17,7 @@ import ( packages_service "code.gitea.io/gitea/services/packages" cargo_service "code.gitea.io/gitea/services/packages/cargo" container_service "code.gitea.io/gitea/services/packages/container" + debian_service "code.gitea.io/gitea/services/packages/debian" ) // Cleanup removes expired package data @@ -45,6 +46,7 @@ func Cleanup(taskCtx context.Context, olderThan time.Duration) error { return fmt.Errorf("CleanupRule [%d]: GetPackagesByType failed: %w", pcr.ID, err) } + anyVersionDeleted := false for _, p := range packages { pvs, _, err := packages_model.SearchVersions(ctx, &packages_model.PackageSearchOptions{ PackageID: p.ID, @@ -91,6 +93,7 @@ func Cleanup(taskCtx context.Context, olderThan time.Duration) error { } versionDeleted = true + anyVersionDeleted = true } if versionDeleted { @@ -105,6 +108,14 @@ func Cleanup(taskCtx context.Context, olderThan time.Duration) error { } } } + + if anyVersionDeleted { + if pcr.Type == packages_model.TypeDebian { + if err := debian_service.BuildAllRepositoryFiles(ctx, pcr.OwnerID); err != nil { + return fmt.Errorf("CleanupRule [%d]: debian.BuildAllRepositoryFiles failed: %w", pcr.ID, err) + } + } + } return nil }) if err != nil { |