| // Package profile contains implementation and internal interfaces and |
| // types used by the implementation of Veyron profiles. |
| // Format includes a type (e.g. ELF) and each instance of the format |
| // has some specific attributes. The key attributes are the target |
| // operating system (e.g. for ELF this could be one of System V, |
| // HP-UX, NetBSD, Linux, Solaris, AIX, IRIX, FreeBSD, and OpenBSD) and |
| // the target instruction set architecture (e.g. for ELF this could be |
| // one of SPARC, x86, PowerPC, ARM, IA-64, x86-64, and AArch64). |
| Attributes map[string]string |
| // Library describes a shared library that applications may use. |
| // Name is the name of the library. |
| // MajorVersion is the major version of the library. |
| // MinorVersion is the minor version of the library. |
| // Specification is how we represent a profile internally. It should |
| // provide enough information to allow matching of binaries to nodes. |
| type Specification struct { |
| // Format is the file format of the application binary. |
| // Libraries is a set of libraries the application binary depends on. |
| // A human-friendly concise label for the profile, e.g. "linux-media" |
| // A human-friendly description of the profile. |