mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-05-04 13:50:39 +00:00
Fix some RPM registry flaws (#28782)
Related #26984
(https://github.com/go-gitea/gitea/pull/26984#issuecomment-1889588912)
Fix admin cleanup message.
Fix models `Get` not respecting default values.
Rebuild RPM repository files after cleanup.
Do not add RPM group to package version name.
Force stable sorting of Alpine/Debian/RPM repository data.
Fix missing deferred `Close`.
Add tests for multiple RPM groups.
Removed non-cached `ReplaceAllStringRegex`.
If there are multiple groups available, it's stated in the package
installation screen:

This commit is contained in:
parent
075c4c89ee
commit
461d8b53c2
18 changed files with 634 additions and 478 deletions
|
@ -191,18 +191,18 @@ type Package struct {
|
|||
func TryInsertPackage(ctx context.Context, p *Package) (*Package, error) {
|
||||
e := db.GetEngine(ctx)
|
||||
|
||||
key := &Package{
|
||||
OwnerID: p.OwnerID,
|
||||
Type: p.Type,
|
||||
LowerName: p.LowerName,
|
||||
}
|
||||
existing := &Package{}
|
||||
|
||||
has, err := e.Get(key)
|
||||
has, err := e.Where(builder.Eq{
|
||||
"owner_id": p.OwnerID,
|
||||
"type": p.Type,
|
||||
"lower_name": p.LowerName,
|
||||
}).Get(existing)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if has {
|
||||
return key, ErrDuplicatePackage
|
||||
return existing, ErrDuplicatePackage
|
||||
}
|
||||
if _, err = e.Insert(p); err != nil {
|
||||
return nil, err
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue