@kvell007/embed-labs-cli 0.1.0-alpha.3 → 0.1.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +173 -1
- package/dist/index.js.map +1 -1
- package/dist/local-toolchain.d.ts +77 -0
- package/dist/local-toolchain.js +424 -10
- package/dist/local-toolchain.js.map +1 -1
- package/package.json +3 -3
|
@@ -60,7 +60,84 @@ export interface LocalCommandResult {
|
|
|
60
60
|
stdout_tail: string[];
|
|
61
61
|
stderr_tail: string[];
|
|
62
62
|
}
|
|
63
|
+
export interface LocalToolchainPackageRef {
|
|
64
|
+
id: string;
|
|
65
|
+
version: string;
|
|
66
|
+
manifest?: string;
|
|
67
|
+
}
|
|
68
|
+
export interface LocalToolchainChannel {
|
|
69
|
+
schema: string;
|
|
70
|
+
channel: string;
|
|
71
|
+
packages: LocalToolchainPackageRef[];
|
|
72
|
+
}
|
|
73
|
+
export interface LocalToolchainPackageManifest {
|
|
74
|
+
schema: string;
|
|
75
|
+
id: string;
|
|
76
|
+
version: string;
|
|
77
|
+
kind: "tools" | "family" | "board";
|
|
78
|
+
display_name?: string;
|
|
79
|
+
hosts?: string[];
|
|
80
|
+
family?: string;
|
|
81
|
+
board?: string;
|
|
82
|
+
variant?: string;
|
|
83
|
+
requires?: Array<{
|
|
84
|
+
id: string;
|
|
85
|
+
version: string;
|
|
86
|
+
roles?: string[];
|
|
87
|
+
}>;
|
|
88
|
+
build_modes?: string[];
|
|
89
|
+
provides?: string[];
|
|
90
|
+
}
|
|
91
|
+
export interface LocalToolchainLatestOptions {
|
|
92
|
+
boardId?: string;
|
|
93
|
+
channel?: string;
|
|
94
|
+
metadataRoot?: string;
|
|
95
|
+
}
|
|
96
|
+
export interface LocalToolchainLatestResult {
|
|
97
|
+
board_id: string;
|
|
98
|
+
channel: string;
|
|
99
|
+
host: string;
|
|
100
|
+
version: string;
|
|
101
|
+
metadata_root?: string;
|
|
102
|
+
packages: LocalToolchainPackageRef[];
|
|
103
|
+
}
|
|
104
|
+
export interface LocalToolchainInstallOptions extends LocalToolchainLatestOptions {
|
|
105
|
+
sourceReleaseRoot?: string;
|
|
106
|
+
sourceUrl?: string;
|
|
107
|
+
installRoot?: string;
|
|
108
|
+
force?: boolean;
|
|
109
|
+
}
|
|
110
|
+
export interface LocalToolchainInstallResult {
|
|
111
|
+
board_id: string;
|
|
112
|
+
version: string;
|
|
113
|
+
channel: string;
|
|
114
|
+
host: string;
|
|
115
|
+
install_root: string;
|
|
116
|
+
release_root: string;
|
|
117
|
+
registry_path: string;
|
|
118
|
+
source: {
|
|
119
|
+
kind: "directory" | "url";
|
|
120
|
+
value: string;
|
|
121
|
+
downloaded_path?: string;
|
|
122
|
+
};
|
|
123
|
+
installed_paths: string[];
|
|
124
|
+
packages: LocalToolchainPackageRef[];
|
|
125
|
+
validation: LocalToolchainValidationResult;
|
|
126
|
+
}
|
|
127
|
+
export interface LocalToolchainCurrentResult {
|
|
128
|
+
installed: boolean;
|
|
129
|
+
board_id: string;
|
|
130
|
+
version?: string;
|
|
131
|
+
release_root?: string;
|
|
132
|
+
registry_path: string;
|
|
133
|
+
install_root: string;
|
|
134
|
+
channel?: string;
|
|
135
|
+
packages?: LocalToolchainPackageRef[];
|
|
136
|
+
}
|
|
63
137
|
export declare function defaultLocalReleaseRoot(): string;
|
|
138
|
+
export declare function latestLocalToolchain(options?: LocalToolchainLatestOptions): Promise<LocalToolchainLatestResult>;
|
|
139
|
+
export declare function currentLocalToolchain(installRoot?: string, boardId?: string): Promise<LocalToolchainCurrentResult>;
|
|
140
|
+
export declare function installLocalToolchain(options?: LocalToolchainInstallOptions): Promise<LocalToolchainInstallResult>;
|
|
64
141
|
export declare function validateLocalToolchain(releaseRoot?: string): Promise<LocalToolchainValidationResult>;
|
|
65
142
|
export declare function compileTaishanPiSingleFile(options: LocalCompileOptions): Promise<LocalCompileResult>;
|
|
66
143
|
export declare function buildTaishanPiQtSmoke(options: LocalQtSmokeBuildOptions): Promise<LocalCompileResult>;
|
package/dist/local-toolchain.js
CHANGED
|
@@ -1,16 +1,206 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
2
|
import { spawn } from "node:child_process";
|
|
3
|
-
import { constants } from "node:fs";
|
|
4
|
-
import { access, mkdir, readFile, stat, writeFile } from "node:fs/promises";
|
|
5
|
-
import { arch, platform } from "node:os";
|
|
3
|
+
import { constants, createWriteStream } from "node:fs";
|
|
4
|
+
import { access, cp, mkdir, mkdtemp, readdir, readFile, rename, rm, stat, writeFile } from "node:fs/promises";
|
|
5
|
+
import { arch, homedir, platform, tmpdir } from "node:os";
|
|
6
6
|
import { basename, dirname, extname, join, resolve } from "node:path";
|
|
7
|
+
import { Readable } from "node:stream";
|
|
8
|
+
import { pipeline } from "node:stream/promises";
|
|
9
|
+
import { fileURLToPath } from "node:url";
|
|
7
10
|
const DEFAULT_RELEASE_ROOT = "/Volumes/LLVM-TSPI/tspi-rk3566-llvm-release-minimal";
|
|
8
11
|
const DEFAULT_QT_SMOKE_SOURCE = "/Users/kvell/kk-project/DBT-Agent-Project/llvm-build-tspi/qt-smoke";
|
|
12
|
+
const DEFAULT_METADATA_ROOT = "/Users/kvell/kk-project/DBT-Agent-Project/llvm-build-tspi/embedlabs-release";
|
|
13
|
+
const DEFAULT_BOARD_ID = "taishanpi-1m-rk3566";
|
|
14
|
+
const DEFAULT_CHANNEL = "stable";
|
|
15
|
+
const BUILT_IN_CHANNEL = {
|
|
16
|
+
schema: "embedlabs.channel.v1",
|
|
17
|
+
channel: DEFAULT_CHANNEL,
|
|
18
|
+
packages: [
|
|
19
|
+
{ id: "embedlabs.tools.vendor.rockchip", version: "1.0.0", manifest: "" },
|
|
20
|
+
{ id: "embedlabs.tools.common.llvm", version: "22.1.3", manifest: "" },
|
|
21
|
+
{ id: "embedlabs.tools.common.e2fsprogs", version: "1.0.0", manifest: "" },
|
|
22
|
+
{ id: "embedlabs.family.rk356x", version: "1.0.0", manifest: "" },
|
|
23
|
+
{ id: "embedlabs.board.taishanpi.1m-rk3566", version: "1.0.31", manifest: "" }
|
|
24
|
+
]
|
|
25
|
+
};
|
|
26
|
+
const BUILT_IN_MANIFESTS = {
|
|
27
|
+
"embedlabs.tools.vendor.rockchip": {
|
|
28
|
+
schema: "embedlabs.package.v1",
|
|
29
|
+
id: "embedlabs.tools.vendor.rockchip",
|
|
30
|
+
version: "1.0.0",
|
|
31
|
+
kind: "tools",
|
|
32
|
+
hosts: ["darwin-arm64", "linux-x86_64"],
|
|
33
|
+
provides: ["rockchip.mkimage", "rockchip.dumpimage", "rockchip.resource_tool", "rockchip.rkdeveloptool"]
|
|
34
|
+
},
|
|
35
|
+
"embedlabs.tools.common.llvm": {
|
|
36
|
+
schema: "embedlabs.package.v1",
|
|
37
|
+
id: "embedlabs.tools.common.llvm",
|
|
38
|
+
version: "22.1.3",
|
|
39
|
+
kind: "tools",
|
|
40
|
+
hosts: ["darwin-arm64", "linux-x86_64"],
|
|
41
|
+
provides: ["llvm.clang", "llvm.clangxx", "llvm.ld_lld", "llvm.ar", "llvm.objcopy", "llvm.readelf"]
|
|
42
|
+
},
|
|
43
|
+
"embedlabs.tools.common.e2fsprogs": {
|
|
44
|
+
schema: "embedlabs.package.v1",
|
|
45
|
+
id: "embedlabs.tools.common.e2fsprogs",
|
|
46
|
+
version: "1.0.0",
|
|
47
|
+
kind: "tools",
|
|
48
|
+
hosts: ["darwin-arm64", "linux-x86_64"],
|
|
49
|
+
provides: ["ext4.mke2fs", "ext4.resize2fs", "fakeroot"]
|
|
50
|
+
},
|
|
51
|
+
"embedlabs.family.rk356x": {
|
|
52
|
+
schema: "embedlabs.package.v1",
|
|
53
|
+
id: "embedlabs.family.rk356x",
|
|
54
|
+
version: "1.0.0",
|
|
55
|
+
kind: "family",
|
|
56
|
+
family: "rk356x",
|
|
57
|
+
requires: [
|
|
58
|
+
{ id: "embedlabs.tools.vendor.rockchip", version: "^1.0.0" },
|
|
59
|
+
{ id: "embedlabs.tools.common.llvm", version: "22.x" },
|
|
60
|
+
{ id: "embedlabs.tools.common.e2fsprogs", version: "^1.0.0" }
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
"embedlabs.board.taishanpi.1m-rk3566": {
|
|
64
|
+
schema: "embedlabs.package.v1",
|
|
65
|
+
id: "embedlabs.board.taishanpi.1m-rk3566",
|
|
66
|
+
version: "1.0.31",
|
|
67
|
+
kind: "board",
|
|
68
|
+
family: "rk356x",
|
|
69
|
+
board: "TaishanPi",
|
|
70
|
+
variant: "1M-RK3566",
|
|
71
|
+
requires: [
|
|
72
|
+
{ id: "embedlabs.family.rk356x", version: "^1.0.0" },
|
|
73
|
+
{ id: "embedlabs.tools.vendor.rockchip", version: "^1.0.0", roles: ["flash", "resource-image"] },
|
|
74
|
+
{ id: "embedlabs.tools.common.llvm", version: "22.x", roles: ["compile"] },
|
|
75
|
+
{ id: "embedlabs.tools.common.e2fsprogs", version: "^1.0.0", roles: ["userdata-image"] }
|
|
76
|
+
],
|
|
77
|
+
build_modes: ["local-llvm"]
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
const INSTALL_COPY_PATHS = [
|
|
81
|
+
"toolchain/llvm-cross",
|
|
82
|
+
"toolchain/host/aarch64-buildroot-linux-gnu/sysroot",
|
|
83
|
+
"qt-target/qt6-rk3566-llvm-6.8.3",
|
|
84
|
+
"tools/mac",
|
|
85
|
+
"images/current",
|
|
86
|
+
"userdata/rootfs",
|
|
87
|
+
"boot-workspace/kernel-tree"
|
|
88
|
+
];
|
|
9
89
|
export function defaultLocalReleaseRoot() {
|
|
10
|
-
return
|
|
90
|
+
return process.env.EMBEDLABS_LOCAL_RELEASE_ROOT?.trim()
|
|
91
|
+
|| process.env.EMBEDLABS_RELEASE_ROOT?.trim()
|
|
92
|
+
|| DEFAULT_RELEASE_ROOT;
|
|
93
|
+
}
|
|
94
|
+
export async function latestLocalToolchain(options = {}) {
|
|
95
|
+
const boardId = options.boardId ?? DEFAULT_BOARD_ID;
|
|
96
|
+
const channelName = options.channel ?? DEFAULT_CHANNEL;
|
|
97
|
+
const { channel, manifests, metadataRoot } = await loadLocalToolchainMetadata(options.metadataRoot, channelName);
|
|
98
|
+
const boardPackageId = boardPackageIdFor(boardId);
|
|
99
|
+
const board = manifests.get(boardPackageId);
|
|
100
|
+
if (!board) {
|
|
101
|
+
throw new Error(`No local toolchain board package found for ${boardId}.`);
|
|
102
|
+
}
|
|
103
|
+
const packages = resolvePackageRefs(boardPackageId, channel, manifests);
|
|
104
|
+
return {
|
|
105
|
+
board_id: boardId,
|
|
106
|
+
channel: channel.channel,
|
|
107
|
+
host: hostId(),
|
|
108
|
+
version: board.version,
|
|
109
|
+
metadata_root: metadataRoot,
|
|
110
|
+
packages
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
export async function currentLocalToolchain(installRoot, boardId = DEFAULT_BOARD_ID) {
|
|
114
|
+
const root = resolveInstallRoot(installRoot);
|
|
115
|
+
const registryPath = localToolchainRegistryPath(root);
|
|
116
|
+
try {
|
|
117
|
+
const registry = JSON.parse(await readFile(registryPath, "utf8"));
|
|
118
|
+
const releaseRoot = typeof registry.release_root === "string" ? registry.release_root : undefined;
|
|
119
|
+
return {
|
|
120
|
+
installed: !!releaseRoot,
|
|
121
|
+
board_id: typeof registry.board_id === "string" ? registry.board_id : boardId,
|
|
122
|
+
version: typeof registry.version === "string" ? registry.version : undefined,
|
|
123
|
+
release_root: releaseRoot,
|
|
124
|
+
registry_path: registryPath,
|
|
125
|
+
install_root: root,
|
|
126
|
+
channel: typeof registry.channel === "string" ? registry.channel : undefined,
|
|
127
|
+
packages: Array.isArray(registry.packages) ? registry.packages : undefined
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
return {
|
|
132
|
+
installed: false,
|
|
133
|
+
board_id: boardId,
|
|
134
|
+
registry_path: registryPath,
|
|
135
|
+
install_root: root
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
export async function installLocalToolchain(options = {}) {
|
|
140
|
+
const latest = await latestLocalToolchain(options);
|
|
141
|
+
const installRoot = resolveInstallRoot(options.installRoot);
|
|
142
|
+
const releaseRoot = resolve(installRoot, "toolchains", latest.board_id, latest.version);
|
|
143
|
+
if (await pathExists(releaseRoot) && !options.force) {
|
|
144
|
+
const validation = await validateLocalToolchain(releaseRoot);
|
|
145
|
+
if (!validation.ok) {
|
|
146
|
+
throw new Error(`Existing local toolchain is incomplete at ${releaseRoot}; rerun with --force.`);
|
|
147
|
+
}
|
|
148
|
+
await writeCurrentRegistry(installRoot, latest, releaseRoot);
|
|
149
|
+
return {
|
|
150
|
+
board_id: latest.board_id,
|
|
151
|
+
version: latest.version,
|
|
152
|
+
channel: latest.channel,
|
|
153
|
+
host: latest.host,
|
|
154
|
+
install_root: installRoot,
|
|
155
|
+
release_root: releaseRoot,
|
|
156
|
+
registry_path: localToolchainRegistryPath(installRoot),
|
|
157
|
+
source: { kind: "directory", value: releaseRoot },
|
|
158
|
+
installed_paths: [],
|
|
159
|
+
packages: latest.packages,
|
|
160
|
+
validation
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
const tempDir = await mkdtemp(join(tmpdir(), "embedlabs-local-toolchain-install-"));
|
|
164
|
+
try {
|
|
165
|
+
const sourceRoot = await sourceReleaseRootForInstall(options, installRoot, tempDir);
|
|
166
|
+
await rm(releaseRoot, { recursive: true, force: true });
|
|
167
|
+
await mkdir(releaseRoot, { recursive: true });
|
|
168
|
+
const installedPaths = [];
|
|
169
|
+
for (const relativePath of INSTALL_COPY_PATHS) {
|
|
170
|
+
const sourcePath = resolve(sourceRoot.path, relativePath);
|
|
171
|
+
if (!await pathExists(sourcePath)) {
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
174
|
+
const targetPath = resolve(releaseRoot, relativePath);
|
|
175
|
+
await mkdir(dirname(targetPath), { recursive: true });
|
|
176
|
+
await cp(sourcePath, targetPath, { recursive: true, force: true, preserveTimestamps: true });
|
|
177
|
+
installedPaths.push(relativePath);
|
|
178
|
+
}
|
|
179
|
+
await writeCurrentRegistry(installRoot, latest, releaseRoot);
|
|
180
|
+
const validation = await validateLocalToolchain(releaseRoot);
|
|
181
|
+
if (!validation.ok) {
|
|
182
|
+
throw new Error(`Installed local toolchain is incomplete: ${validation.missing_paths.join(", ")}`);
|
|
183
|
+
}
|
|
184
|
+
return {
|
|
185
|
+
board_id: latest.board_id,
|
|
186
|
+
version: latest.version,
|
|
187
|
+
channel: latest.channel,
|
|
188
|
+
host: latest.host,
|
|
189
|
+
install_root: installRoot,
|
|
190
|
+
release_root: releaseRoot,
|
|
191
|
+
registry_path: localToolchainRegistryPath(installRoot),
|
|
192
|
+
source: sourceRoot.source,
|
|
193
|
+
installed_paths: installedPaths,
|
|
194
|
+
packages: latest.packages,
|
|
195
|
+
validation
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
finally {
|
|
199
|
+
await rm(tempDir, { recursive: true, force: true });
|
|
200
|
+
}
|
|
11
201
|
}
|
|
12
|
-
export async function validateLocalToolchain(releaseRoot
|
|
13
|
-
const resolvedRoot =
|
|
202
|
+
export async function validateLocalToolchain(releaseRoot) {
|
|
203
|
+
const resolvedRoot = await resolveLocalReleaseRoot(releaseRoot);
|
|
14
204
|
const required = [
|
|
15
205
|
["release root", "."],
|
|
16
206
|
["C compiler", "toolchain/llvm-cross/bin/aarch64-linux-gnu-gcc"],
|
|
@@ -38,7 +228,7 @@ export async function validateLocalToolchain(releaseRoot = DEFAULT_RELEASE_ROOT)
|
|
|
38
228
|
platform: platform(),
|
|
39
229
|
arch: arch()
|
|
40
230
|
},
|
|
41
|
-
board_id:
|
|
231
|
+
board_id: DEFAULT_BOARD_ID,
|
|
42
232
|
release_root: resolvedRoot,
|
|
43
233
|
checked_paths,
|
|
44
234
|
missing_paths,
|
|
@@ -50,7 +240,7 @@ export async function validateLocalToolchain(releaseRoot = DEFAULT_RELEASE_ROOT)
|
|
|
50
240
|
}
|
|
51
241
|
export async function compileTaishanPiSingleFile(options) {
|
|
52
242
|
assertAuthenticated(options.auth);
|
|
53
|
-
const releaseRoot =
|
|
243
|
+
const releaseRoot = await resolveLocalReleaseRoot(options.releaseRoot);
|
|
54
244
|
const sourcePath = resolve(options.sourcePath);
|
|
55
245
|
const outputPath = resolve(options.outputPath);
|
|
56
246
|
await access(sourcePath, constants.R_OK);
|
|
@@ -77,7 +267,7 @@ export async function compileTaishanPiSingleFile(options) {
|
|
|
77
267
|
}
|
|
78
268
|
export async function buildTaishanPiQtSmoke(options) {
|
|
79
269
|
assertAuthenticated(options.auth);
|
|
80
|
-
const releaseRoot =
|
|
270
|
+
const releaseRoot = await resolveLocalReleaseRoot(options.releaseRoot);
|
|
81
271
|
const sourceDir = resolve(options.sourceDir ?? DEFAULT_QT_SMOKE_SOURCE);
|
|
82
272
|
const buildDir = resolve(options.buildDir);
|
|
83
273
|
const targetName = options.targetName ?? "qt_llvm_smoke";
|
|
@@ -104,7 +294,7 @@ export async function buildTaishanPiQtSmoke(options) {
|
|
|
104
294
|
}
|
|
105
295
|
const artifactPath = join(buildDir, targetName);
|
|
106
296
|
return await localCompileResult({
|
|
107
|
-
boardId:
|
|
297
|
+
boardId: DEFAULT_BOARD_ID,
|
|
108
298
|
operation: "local.build.qt_smoke",
|
|
109
299
|
releaseRoot,
|
|
110
300
|
accountId: options.accountId,
|
|
@@ -115,6 +305,230 @@ export async function buildTaishanPiQtSmoke(options) {
|
|
|
115
305
|
commands: [configure, build]
|
|
116
306
|
});
|
|
117
307
|
}
|
|
308
|
+
async function loadLocalToolchainMetadata(metadataRoot, channelName) {
|
|
309
|
+
const explicitRoot = metadataRoot || process.env.EMBEDLABS_METADATA_ROOT?.trim();
|
|
310
|
+
const candidateRoot = explicitRoot || (await pathExists(DEFAULT_METADATA_ROOT) ? DEFAULT_METADATA_ROOT : undefined);
|
|
311
|
+
if (!candidateRoot) {
|
|
312
|
+
return {
|
|
313
|
+
channel: BUILT_IN_CHANNEL,
|
|
314
|
+
manifests: new Map(Object.entries(BUILT_IN_MANIFESTS)),
|
|
315
|
+
metadataRoot: undefined
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
const root = resolve(candidateRoot);
|
|
319
|
+
const channelPath = join(root, "channels", channelName, "index.json");
|
|
320
|
+
const channel = JSON.parse(await readFile(channelPath, "utf8"));
|
|
321
|
+
if (channel.schema !== "embedlabs.channel.v1") {
|
|
322
|
+
throw new Error(`Unexpected local toolchain channel schema ${channel.schema}.`);
|
|
323
|
+
}
|
|
324
|
+
const manifests = new Map();
|
|
325
|
+
for (const entry of channel.packages) {
|
|
326
|
+
const manifestPath = entry.manifest
|
|
327
|
+
? resolve(dirname(channelPath), entry.manifest)
|
|
328
|
+
: join(root, "manifests", entry.id, entry.version, "manifest.json");
|
|
329
|
+
const manifest = JSON.parse(await readFile(manifestPath, "utf8"));
|
|
330
|
+
if (manifest.schema !== "embedlabs.package.v1") {
|
|
331
|
+
throw new Error(`Unexpected local toolchain manifest schema for ${entry.id}: ${manifest.schema}.`);
|
|
332
|
+
}
|
|
333
|
+
if (manifest.id !== entry.id || manifest.version !== entry.version) {
|
|
334
|
+
throw new Error(`Local toolchain manifest mismatch for ${entry.id}@${entry.version}.`);
|
|
335
|
+
}
|
|
336
|
+
manifests.set(manifest.id, manifest);
|
|
337
|
+
}
|
|
338
|
+
return { channel, manifests, metadataRoot: root };
|
|
339
|
+
}
|
|
340
|
+
function resolvePackageRefs(packageId, channel, manifests, seen = new Set()) {
|
|
341
|
+
if (seen.has(packageId)) {
|
|
342
|
+
return [];
|
|
343
|
+
}
|
|
344
|
+
seen.add(packageId);
|
|
345
|
+
const manifest = manifests.get(packageId);
|
|
346
|
+
if (!manifest) {
|
|
347
|
+
throw new Error(`Local toolchain package ${packageId} is not present in the channel.`);
|
|
348
|
+
}
|
|
349
|
+
const refs = [];
|
|
350
|
+
for (const requirement of manifest.requires ?? []) {
|
|
351
|
+
refs.push(...resolvePackageRefs(requirement.id, channel, manifests, seen));
|
|
352
|
+
}
|
|
353
|
+
const channelEntry = channel.packages.find((item) => item.id === packageId);
|
|
354
|
+
refs.push({
|
|
355
|
+
id: packageId,
|
|
356
|
+
version: manifest.version,
|
|
357
|
+
manifest: channelEntry?.manifest
|
|
358
|
+
});
|
|
359
|
+
return refs;
|
|
360
|
+
}
|
|
361
|
+
function boardPackageIdFor(boardId) {
|
|
362
|
+
if (boardId === DEFAULT_BOARD_ID || boardId === "taishanpi" || boardId === "taishanpi-1m-rk3566") {
|
|
363
|
+
return "embedlabs.board.taishanpi.1m-rk3566";
|
|
364
|
+
}
|
|
365
|
+
if (boardId.startsWith("embedlabs.board.")) {
|
|
366
|
+
return boardId;
|
|
367
|
+
}
|
|
368
|
+
throw new Error(`Unsupported local toolchain board ${boardId}.`);
|
|
369
|
+
}
|
|
370
|
+
function hostId() {
|
|
371
|
+
if (platform() === "darwin" && arch() === "arm64") {
|
|
372
|
+
return "darwin-arm64";
|
|
373
|
+
}
|
|
374
|
+
if (platform() === "linux" && arch() === "x64") {
|
|
375
|
+
return "linux-x86_64";
|
|
376
|
+
}
|
|
377
|
+
return `${platform()}-${arch()}`;
|
|
378
|
+
}
|
|
379
|
+
function resolveInstallRoot(installRoot) {
|
|
380
|
+
return resolve(installRoot
|
|
381
|
+
|| process.env.EMBEDLABS_HOME?.trim()
|
|
382
|
+
|| join(homedir(), ".embedlabs"));
|
|
383
|
+
}
|
|
384
|
+
function localToolchainRegistryPath(installRoot) {
|
|
385
|
+
return join(installRoot, "registry", "local-toolchains.json");
|
|
386
|
+
}
|
|
387
|
+
async function writeCurrentRegistry(installRoot, latest, releaseRoot) {
|
|
388
|
+
const registryPath = localToolchainRegistryPath(installRoot);
|
|
389
|
+
await mkdir(dirname(registryPath), { recursive: true });
|
|
390
|
+
await writeFile(registryPath, `${JSON.stringify({
|
|
391
|
+
installed: true,
|
|
392
|
+
board_id: latest.board_id,
|
|
393
|
+
version: latest.version,
|
|
394
|
+
channel: latest.channel,
|
|
395
|
+
host: latest.host,
|
|
396
|
+
release_root: releaseRoot,
|
|
397
|
+
packages: latest.packages,
|
|
398
|
+
updated_at: new Date().toISOString()
|
|
399
|
+
}, null, 2)}\n`, "utf8");
|
|
400
|
+
}
|
|
401
|
+
async function resolveLocalReleaseRoot(releaseRoot) {
|
|
402
|
+
if (releaseRoot?.trim()) {
|
|
403
|
+
return resolve(releaseRoot);
|
|
404
|
+
}
|
|
405
|
+
const envRoot = process.env.EMBEDLABS_LOCAL_RELEASE_ROOT?.trim() || process.env.EMBEDLABS_RELEASE_ROOT?.trim();
|
|
406
|
+
if (envRoot) {
|
|
407
|
+
return resolve(envRoot);
|
|
408
|
+
}
|
|
409
|
+
const current = await currentLocalToolchain(undefined, DEFAULT_BOARD_ID);
|
|
410
|
+
if (current.release_root) {
|
|
411
|
+
return resolve(current.release_root);
|
|
412
|
+
}
|
|
413
|
+
return resolve(DEFAULT_RELEASE_ROOT);
|
|
414
|
+
}
|
|
415
|
+
async function sourceReleaseRootForInstall(options, installRoot, tempDir) {
|
|
416
|
+
if (options.sourceReleaseRoot) {
|
|
417
|
+
return {
|
|
418
|
+
path: resolve(options.sourceReleaseRoot),
|
|
419
|
+
source: { kind: "directory", value: resolve(options.sourceReleaseRoot) }
|
|
420
|
+
};
|
|
421
|
+
}
|
|
422
|
+
if (options.sourceUrl) {
|
|
423
|
+
const downloadedPath = await downloadToolchainArchive(options.sourceUrl, installRoot);
|
|
424
|
+
const extractRoot = join(tempDir, "extract");
|
|
425
|
+
await mkdir(extractRoot, { recursive: true });
|
|
426
|
+
const extracted = await runCommand(["tar", "-xzf", downloadedPath, "-C", extractRoot], tempDir);
|
|
427
|
+
if (extracted.exit_code !== 0) {
|
|
428
|
+
throw new Error(`Could not extract local toolchain archive: ${extracted.stderr_tail.join("\n")}`);
|
|
429
|
+
}
|
|
430
|
+
return {
|
|
431
|
+
path: await findReleaseRoot(extractRoot),
|
|
432
|
+
source: { kind: "url", value: options.sourceUrl, downloaded_path: downloadedPath }
|
|
433
|
+
};
|
|
434
|
+
}
|
|
435
|
+
if (await pathExists(DEFAULT_RELEASE_ROOT)) {
|
|
436
|
+
return {
|
|
437
|
+
path: resolve(DEFAULT_RELEASE_ROOT),
|
|
438
|
+
source: { kind: "directory", value: resolve(DEFAULT_RELEASE_ROOT) }
|
|
439
|
+
};
|
|
440
|
+
}
|
|
441
|
+
throw new Error("Local toolchain install needs --source-url <tar.gz> or --source-release-root <path> until the public download service is configured.");
|
|
442
|
+
}
|
|
443
|
+
async function downloadToolchainArchive(sourceUrl, installRoot) {
|
|
444
|
+
const downloadsDir = join(installRoot, "cache", "downloads");
|
|
445
|
+
await mkdir(downloadsDir, { recursive: true });
|
|
446
|
+
const parsed = new URL(sourceUrl);
|
|
447
|
+
const filename = basename(parsed.pathname) || `local-toolchain-${Date.now()}.tar.gz`;
|
|
448
|
+
const outputPath = join(downloadsDir, filename);
|
|
449
|
+
if (parsed.protocol === "file:") {
|
|
450
|
+
await cp(fileURLToPath(parsed), outputPath, { force: true });
|
|
451
|
+
return outputPath;
|
|
452
|
+
}
|
|
453
|
+
if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
|
|
454
|
+
throw new Error(`Unsupported local toolchain download URL protocol: ${parsed.protocol}`);
|
|
455
|
+
}
|
|
456
|
+
const partialPath = `${outputPath}.part`;
|
|
457
|
+
const existingComplete = await fileSize(outputPath);
|
|
458
|
+
const remoteSize = await remoteContentLength(sourceUrl);
|
|
459
|
+
if (existingComplete > 0 && remoteSize !== undefined && existingComplete === remoteSize) {
|
|
460
|
+
return outputPath;
|
|
461
|
+
}
|
|
462
|
+
let resumeFrom = await fileSize(partialPath);
|
|
463
|
+
const headers = new Headers();
|
|
464
|
+
if (resumeFrom > 0) {
|
|
465
|
+
headers.set("range", `bytes=${resumeFrom}-`);
|
|
466
|
+
}
|
|
467
|
+
let response = await fetch(sourceUrl, { headers });
|
|
468
|
+
if (resumeFrom > 0 && response.status !== 206) {
|
|
469
|
+
await rm(partialPath, { force: true });
|
|
470
|
+
resumeFrom = 0;
|
|
471
|
+
response = await fetch(sourceUrl);
|
|
472
|
+
}
|
|
473
|
+
if (!response.ok) {
|
|
474
|
+
throw new Error(`Local toolchain download failed with HTTP ${response.status}: ${sourceUrl}`);
|
|
475
|
+
}
|
|
476
|
+
if (!response.body) {
|
|
477
|
+
throw new Error(`Local toolchain download returned an empty response body: ${sourceUrl}`);
|
|
478
|
+
}
|
|
479
|
+
const writeStream = createWriteStream(partialPath, { flags: resumeFrom > 0 ? "a" : "w" });
|
|
480
|
+
await pipeline(Readable.fromWeb(response.body), writeStream);
|
|
481
|
+
const downloadedSize = await fileSize(partialPath);
|
|
482
|
+
if (remoteSize !== undefined && downloadedSize !== remoteSize) {
|
|
483
|
+
throw new Error(`Local toolchain download incomplete: expected ${remoteSize} bytes, got ${downloadedSize} bytes.`);
|
|
484
|
+
}
|
|
485
|
+
await rename(partialPath, outputPath);
|
|
486
|
+
return outputPath;
|
|
487
|
+
}
|
|
488
|
+
async function remoteContentLength(sourceUrl) {
|
|
489
|
+
try {
|
|
490
|
+
const response = await fetch(sourceUrl, { method: "HEAD" });
|
|
491
|
+
if (!response.ok) {
|
|
492
|
+
return undefined;
|
|
493
|
+
}
|
|
494
|
+
const length = response.headers.get("content-length");
|
|
495
|
+
if (!length) {
|
|
496
|
+
return undefined;
|
|
497
|
+
}
|
|
498
|
+
const parsed = Number.parseInt(length, 10);
|
|
499
|
+
return Number.isFinite(parsed) && parsed >= 0 ? parsed : undefined;
|
|
500
|
+
}
|
|
501
|
+
catch {
|
|
502
|
+
return undefined;
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
async function fileSize(filePath) {
|
|
506
|
+
try {
|
|
507
|
+
return (await stat(filePath)).size;
|
|
508
|
+
}
|
|
509
|
+
catch {
|
|
510
|
+
return 0;
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
async function findReleaseRoot(extractRoot) {
|
|
514
|
+
if (await pathExists(join(extractRoot, "toolchain"))) {
|
|
515
|
+
return extractRoot;
|
|
516
|
+
}
|
|
517
|
+
const entries = await readdir(extractRoot);
|
|
518
|
+
for (const entry of entries) {
|
|
519
|
+
const candidate = join(extractRoot, entry);
|
|
520
|
+
try {
|
|
521
|
+
const info = await stat(candidate);
|
|
522
|
+
if (info.isDirectory() && await pathExists(join(candidate, "toolchain"))) {
|
|
523
|
+
return candidate;
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
catch {
|
|
527
|
+
// Ignore entries that disappear during extraction cleanup.
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
throw new Error("Downloaded local toolchain archive did not contain a release root with toolchain/.");
|
|
531
|
+
}
|
|
118
532
|
function compilerForSource(releaseRoot, sourcePath) {
|
|
119
533
|
const extension = extname(sourcePath).toLowerCase();
|
|
120
534
|
const binDir = join(releaseRoot, "toolchain", "llvm-cross", "bin");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-toolchain.js","sourceRoot":"","sources":["../src/local-toolchain.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"local-toolchain.js","sourceRoot":"","sources":["../src/local-toolchain.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kvell007/embed-labs-cli",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.5",
|
|
4
4
|
"description": "Command-line interface for Embed Labs Cloud. Experimental npm publish.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"embedlabs": "dist/index.js"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@embed-labs/local-bridge": "npm:@kvell007/embed-labs-local-bridge@0.1.0-alpha.
|
|
22
|
-
"@embed-labs/protocol": "npm:@kvell007/embed-labs-protocol@0.1.0-alpha.
|
|
21
|
+
"@embed-labs/local-bridge": "npm:@kvell007/embed-labs-local-bridge@0.1.0-alpha.5",
|
|
22
|
+
"@embed-labs/protocol": "npm:@kvell007/embed-labs-protocol@0.1.0-alpha.5",
|
|
23
23
|
"qrcode-terminal": "^0.12.0"
|
|
24
24
|
},
|
|
25
25
|
"publishConfig": {
|