diff options
author | Sergey Bugaev <bugaevc@gmail.com> | 2024-02-05 08:52:56 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-05 05:52:56 +0000 |
commit | 2da233ad8be107de29190720f1c30199410fe0cd (patch) | |
tree | 87965f42810c9286eec8c2ea463e83d26ed16b45 /modules | |
parent | 016c77a833d6843c2e18903d6c50a881018064f2 (diff) | |
download | gitea-2da233ad8be107de29190720f1c30199410fe0cd.tar.gz gitea-2da233ad8be107de29190720f1c30199410fe0cd.zip |
Propagate install_if and provider_priority to APKINDEX (#28899)
Resolves https://github.com/go-gitea/gitea/issues/28704
Example of an entry in the generated `APKINDEX` file:
```
C:Q1xCO3H9LTTEbhKt9G1alSC87I56c=
P:hello
V:2.12-r1
A:x86_64
T:The GNU Hello program produces a familiar, friendly greeting
U:https://www.gnu.org/software/hello/
L:GPL-3.0-or-later
S:15403
I:36864
o:hello
m:
t:1705934118
D:so:libc.musl-x86_64.so.1
p:cmd:hello=2.12-r1
i:foobar=1.0 !baz
k:42
```
the `i:` and `k:` entries are new.
---------
Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
Diffstat (limited to 'modules')
-rw-r--r-- | modules/packages/alpine/metadata.go | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/modules/packages/alpine/metadata.go b/modules/packages/alpine/metadata.go index c2d0caffa1..582c42610d 100644 --- a/modules/packages/alpine/metadata.go +++ b/modules/packages/alpine/metadata.go @@ -55,16 +55,17 @@ type VersionMetadata struct { } type FileMetadata struct { - Checksum string `json:"checksum"` - Packager string `json:"packager,omitempty"` - BuildDate int64 `json:"build_date,omitempty"` - Size int64 `json:"size,omitempty"` - Architecture string `json:"architecture,omitempty"` - Origin string `json:"origin,omitempty"` - CommitHash string `json:"commit_hash,omitempty"` - InstallIf string `json:"install_if,omitempty"` - Provides []string `json:"provides,omitempty"` - Dependencies []string `json:"dependencies,omitempty"` + Checksum string `json:"checksum"` + Packager string `json:"packager,omitempty"` + BuildDate int64 `json:"build_date,omitempty"` + Size int64 `json:"size,omitempty"` + Architecture string `json:"architecture,omitempty"` + Origin string `json:"origin,omitempty"` + CommitHash string `json:"commit_hash,omitempty"` + InstallIf string `json:"install_if,omitempty"` + Provides []string `json:"provides,omitempty"` + Dependencies []string `json:"dependencies,omitempty"` + ProviderPriority int64 `json:"provider_priority,omitempty"` } // ParsePackage parses the Alpine package file @@ -188,6 +189,11 @@ func ParsePackageInfo(r io.Reader) (*Package, error) { if value != "" { p.FileMetadata.Dependencies = append(p.FileMetadata.Dependencies, value) } + case "provider_priority": + n, err := strconv.ParseInt(value, 10, 64) + if err == nil { + p.FileMetadata.ProviderPriority = n + } } } if err := scanner.Err(); err != nil { |