mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-30 04:01:58 +00:00
fix --arch flag to fall back to emulation when native image unavailable, always infer hardware requirement for arch
This commit is contained in:
@@ -132,7 +132,6 @@ export type SDKManifest = {
|
||||
* `pattern` refers to a regular expression that at least one device of the specified class must match
|
||||
* `patternDescription` is what will be displayed to the user about what kind of device is required
|
||||
* @property {number} ram - Minimum RAM requirement (in megabytes MB)
|
||||
* @property {string[]} arch - List of supported arches
|
||||
* @example
|
||||
* ```
|
||||
hardwareRequirements: {
|
||||
@@ -141,14 +140,12 @@ export type SDKManifest = {
|
||||
{ class: 'processor', pattern: 'i[3579]-10[0-9]{3}U CPU', patternDescription: 'A 10th Generation Intel i-Series processor' },
|
||||
],
|
||||
ram: 8192,
|
||||
arch: ['x86-64'],
|
||||
},
|
||||
* ```
|
||||
*/
|
||||
readonly hardwareRequirements?: {
|
||||
readonly device?: T.DeviceFilter[]
|
||||
readonly ram?: number | null
|
||||
readonly arch?: string[] | null
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -75,21 +75,18 @@ export function buildManifest<
|
||||
hardwareRequirements: {
|
||||
device: manifest.hardwareRequirements?.device || [],
|
||||
ram: manifest.hardwareRequirements?.ram || null,
|
||||
arch:
|
||||
manifest.hardwareRequirements?.arch === undefined
|
||||
? Object.values(images).reduce(
|
||||
(arch, inputSpec) => {
|
||||
if (inputSpec.emulateMissingAs) {
|
||||
return arch
|
||||
}
|
||||
if (arch === null) {
|
||||
return inputSpec.arch
|
||||
}
|
||||
return arch.filter((a) => inputSpec.arch.includes(a))
|
||||
},
|
||||
null as string[] | null,
|
||||
)
|
||||
: manifest.hardwareRequirements?.arch,
|
||||
arch: Object.values(images).reduce(
|
||||
(arch, inputSpec) => {
|
||||
if (inputSpec.emulateMissingAs) {
|
||||
return arch
|
||||
}
|
||||
if (arch === null) {
|
||||
return inputSpec.arch
|
||||
}
|
||||
return arch.filter((a) => inputSpec.arch.includes(a))
|
||||
},
|
||||
null as string[] | null,
|
||||
),
|
||||
},
|
||||
hardwareAcceleration: manifest.hardwareAcceleration ?? false,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user