forked from forgejo/forgejo
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
|
@ -46,18 +46,18 @@ type PackageFile struct {
|
|||
func TryInsertFile(ctx context.Context, pf *PackageFile) (*PackageFile, error) {
|
||||
e := db.GetEngine(ctx)
|
||||
|
||||
key := &PackageFile{
|
||||
VersionID: pf.VersionID,
|
||||
LowerName: pf.LowerName,
|
||||
CompositeKey: pf.CompositeKey,
|
||||
}
|
||||
existing := &PackageFile{}
|
||||
|
||||
has, err := e.Get(key)
|
||||
has, err := e.Where(builder.Eq{
|
||||
"version_id": pf.VersionID,
|
||||
"lower_name": pf.LowerName,
|
||||
"composite_key": pf.CompositeKey,
|
||||
}).Get(existing)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if has {
|
||||
return pf, ErrDuplicatePackageFile
|
||||
return existing, ErrDuplicatePackageFile
|
||||
}
|
||||
if _, err = e.Insert(pf); err != nil {
|
||||
return nil, err
|
||||
|
@ -93,13 +93,13 @@ func GetFileForVersionByName(ctx context.Context, versionID int64, name, key str
|
|||
return nil, ErrPackageFileNotExist
|
||||
}
|
||||
|
||||
pf := &PackageFile{
|
||||
VersionID: versionID,
|
||||
LowerName: strings.ToLower(name),
|
||||
CompositeKey: key,
|
||||
}
|
||||
pf := &PackageFile{}
|
||||
|
||||
has, err := db.GetEngine(ctx).Get(pf)
|
||||
has, err := db.GetEngine(ctx).Where(builder.Eq{
|
||||
"version_id": versionID,
|
||||
"lower_name": strings.ToLower(name),
|
||||
"composite_key": key,
|
||||
}).Get(pf)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue