forked from gitea/gitea
		
	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:
		
							parent
							
								
									016c77a833
								
							
						
					
					
						commit
						2da233ad8b
					
				| @ -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 { | ||||
|  | ||||
| @ -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") | ||||
| 	} | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Sergey Bugaev
						Sergey Bugaev