mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-31 03:18:24 +00: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"` | 	InstallIf        string   `json:"install_if,omitempty"` | ||||||
| 	Provides         []string `json:"provides,omitempty"` | 	Provides         []string `json:"provides,omitempty"` | ||||||
| 	Dependencies     []string `json:"dependencies,omitempty"` | 	Dependencies     []string `json:"dependencies,omitempty"` | ||||||
|  | 	ProviderPriority int64    `json:"provider_priority,omitempty"` | ||||||
| } | } | ||||||
|  |  | ||||||
| // ParsePackage parses the Alpine package file | // ParsePackage parses the Alpine package file | ||||||
| @@ -188,6 +189,11 @@ func ParsePackageInfo(r io.Reader) (*Package, error) { | |||||||
| 			if value != "" { | 			if value != "" { | ||||||
| 				p.FileMetadata.Dependencies = append(p.FileMetadata.Dependencies, 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 { | 	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 { | 		if len(pd.FileMetadata.Provides) > 0 { | ||||||
| 			fmt.Fprintf(&buf, "p:%s\n", strings.Join(pd.FileMetadata.Provides, " ")) | 			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") | 		fmt.Fprint(&buf, "\n") | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user