mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-29 10:57:44 +09:00 
			
		
		
		
	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>
This commit is contained in:
		| @@ -65,6 +65,7 @@ type FileMetadata struct { | ||||
| 	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 { | ||||
|   | ||||
| @@ -230,6 +230,12 @@ func buildPackagesIndex(ctx context.Context, ownerID int64, repoVersion *package | ||||
| 		if len(pd.FileMetadata.Provides) > 0 { | ||||
| 			fmt.Fprintf(&buf, "p:%s\n", strings.Join(pd.FileMetadata.Provides, " ")) | ||||
| 		} | ||||
| 		if pd.FileMetadata.InstallIf != "" { | ||||
| 			fmt.Fprintf(&buf, "i:%s\n", pd.FileMetadata.InstallIf) | ||||
| 		} | ||||
| 		if pd.FileMetadata.ProviderPriority > 0 { | ||||
| 			fmt.Fprintf(&buf, "k:%d\n", pd.FileMetadata.ProviderPriority) | ||||
| 		} | ||||
| 		fmt.Fprint(&buf, "\n") | ||||
| 	} | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user