@git.zone/tsrust 1.13.0 → 1.14.0
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/.smartconfig.json +4 -0
- package/assets/notices/gcc-gpl-3.0.txt +674 -0
- package/assets/notices/gcc-runtime-library-exception-3.1.txt +73 -0
- package/assets/notices/glibc-lgpl-2.1.txt +502 -0
- package/assets/notices/musl-copyright.txt +193 -0
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/index.d.ts +1 -0
- package/dist_ts/index.js +2 -1
- package/dist_ts/mod_cargo/classes.cargorunner.d.ts +1 -0
- package/dist_ts/mod_cargo/classes.cargorunner.js +47 -39
- package/dist_ts/mod_cargo/classes.targetcache.d.ts +10 -0
- package/dist_ts/mod_cargo/classes.targetcache.js +94 -75
- package/dist_ts/mod_cargo/classes.targetguard.d.ts +4 -0
- package/dist_ts/mod_cargo/classes.targetguard.js +83 -0
- package/dist_ts/mod_cli/classes.tsrustcli.d.ts +10 -0
- package/dist_ts/mod_cli/classes.tsrustcli.js +191 -106
- package/dist_ts/mod_cli/helpers.targets.d.ts +2 -0
- package/dist_ts/mod_cli/helpers.targets.js +1 -1
- package/dist_ts/mod_matrix/classes.nativematrixbuilder.d.ts +6 -0
- package/dist_ts/mod_matrix/classes.nativematrixbuilder.js +44 -1
- package/dist_ts/mod_notices/classes.nativenoticesgenerator.d.ts +96 -0
- package/dist_ts/mod_notices/classes.nativenoticesgenerator.js +912 -0
- package/dist_ts/mod_notices/classes.noticetoolchain.d.ts +30 -0
- package/dist_ts/mod_notices/classes.noticetoolchain.js +69 -0
- package/dist_ts/mod_notices/helpers.licensetext.d.ts +12 -0
- package/dist_ts/mod_notices/helpers.licensetext.js +81 -0
- package/dist_ts/mod_notices/helpers.muslversion.d.ts +6 -0
- package/dist_ts/mod_notices/helpers.muslversion.js +47 -0
- package/dist_ts/mod_notices/helpers.noticesconfig.d.ts +51 -0
- package/dist_ts/mod_notices/helpers.noticesconfig.js +113 -0
- package/dist_ts/mod_notices/helpers.runtimetexts.d.ts +9 -0
- package/dist_ts/mod_notices/helpers.runtimetexts.js +45 -0
- package/dist_ts/mod_notices/helpers.spdx.d.ts +21 -0
- package/dist_ts/mod_notices/helpers.spdx.js +88 -0
- package/dist_ts/mod_notices/helpers.staticglibc.d.ts +26 -0
- package/dist_ts/mod_notices/helpers.staticglibc.js +45 -0
- package/dist_ts/mod_notices/index.d.ts +8 -0
- package/dist_ts/mod_notices/index.js +9 -0
- package/dist_ts/plugins.d.ts +6 -1
- package/dist_ts/plugins.js +7 -2
- package/package.json +5 -5
- package/readme.md +115 -13
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/index.ts +1 -0
- package/ts/mod_cargo/classes.cargorunner.ts +52 -43
- package/ts/mod_cargo/classes.targetcache.ts +78 -79
- package/ts/mod_cargo/classes.targetguard.ts +63 -0
- package/ts/mod_cli/classes.tsrustcli.ts +227 -128
- package/ts/mod_cli/helpers.targets.ts +2 -0
- package/ts/mod_matrix/classes.nativematrixbuilder.ts +44 -0
- package/ts/mod_notices/classes.nativenoticesgenerator.ts +1151 -0
- package/ts/mod_notices/classes.noticetoolchain.ts +92 -0
- package/ts/mod_notices/helpers.licensetext.ts +111 -0
- package/ts/mod_notices/helpers.muslversion.ts +46 -0
- package/ts/mod_notices/helpers.noticesconfig.ts +190 -0
- package/ts/mod_notices/helpers.runtimetexts.ts +63 -0
- package/ts/mod_notices/helpers.spdx.ts +107 -0
- package/ts/mod_notices/helpers.staticglibc.ts +79 -0
- package/ts/mod_notices/index.ts +8 -0
- package/ts/plugins.ts +6 -0
- package/readme.hints.md +0 -27
|
@@ -6,6 +6,7 @@ import { CargoConfig } from '../mod_cargo/index.js';
|
|
|
6
6
|
import { assertGitSnapshotUnchanged, captureGitSnapshot, MAX_PROVENANCE_SIDECAR_BYTES, PROVENANCE_SIDECAR_SUFFIX, ProvenanceStore, } from '../mod_provenance/index.js';
|
|
7
7
|
import { ToolchainManager } from '../mod_toolchain/index.js';
|
|
8
8
|
import { friendlyTargetName } from '../mod_cli/helpers.targets.js';
|
|
9
|
+
import { createProjectNoticesGenerator } from '../mod_notices/index.js';
|
|
9
10
|
import { commitinfo } from '../00_commitinfo_data.js';
|
|
10
11
|
import { MatrixCommandRunner, } from './classes.matrixcommandrunner.js';
|
|
11
12
|
import { resolveMatrixPlan, } from './helpers.matrixconfig.js';
|
|
@@ -149,8 +150,12 @@ export class NativeMatrixBuilder {
|
|
|
149
150
|
environment;
|
|
150
151
|
commandRunner;
|
|
151
152
|
plan;
|
|
153
|
+
config;
|
|
154
|
+
verifyNoticesOverride;
|
|
152
155
|
constructor(optionsArg) {
|
|
153
156
|
this.workspace = path.resolve(optionsArg.workspace);
|
|
157
|
+
this.config = optionsArg.config;
|
|
158
|
+
this.verifyNoticesOverride = optionsArg.verifyNotices;
|
|
154
159
|
this.environment = { ...process.env, ...(optionsArg.environment || {}) };
|
|
155
160
|
this.commandRunner =
|
|
156
161
|
optionsArg.commandRunner || new MatrixCommandRunner(this.environment);
|
|
@@ -159,6 +164,7 @@ export class NativeMatrixBuilder {
|
|
|
159
164
|
}
|
|
160
165
|
async check() {
|
|
161
166
|
await this.assertBundleCompatibleSource();
|
|
167
|
+
await this.verifyNotices();
|
|
162
168
|
await this.commandRunner.execute('git', ['--version'], {
|
|
163
169
|
cwd: this.workspace,
|
|
164
170
|
capture: true,
|
|
@@ -761,8 +767,45 @@ export class NativeMatrixBuilder {
|
|
|
761
767
|
'exec',
|
|
762
768
|
'tsrust',
|
|
763
769
|
...workerArg.targets.flatMap((target) => ['--target', target.friendly]),
|
|
770
|
+
// The coordinator verified the notices of this commit in check().
|
|
771
|
+
...(this.config.notices === undefined ? [] : ['--no-notices-check']),
|
|
764
772
|
];
|
|
765
773
|
}
|
|
774
|
+
/** Native notices are verified once, here on the coordinator, for all targets. */
|
|
775
|
+
async verifyNotices() {
|
|
776
|
+
if (this.config.notices === undefined)
|
|
777
|
+
return;
|
|
778
|
+
if (this.verifyNoticesOverride) {
|
|
779
|
+
await this.verifyNoticesOverride();
|
|
780
|
+
return;
|
|
781
|
+
}
|
|
782
|
+
let envPrefix = '';
|
|
783
|
+
try {
|
|
784
|
+
await this.commandRunner.execute('cargo', ['--version'], {
|
|
785
|
+
cwd: this.workspace,
|
|
786
|
+
capture: true,
|
|
787
|
+
timeoutMs: capabilityCommandTimeoutMs,
|
|
788
|
+
});
|
|
789
|
+
}
|
|
790
|
+
catch {
|
|
791
|
+
// The check installs nothing: use the bundled toolchain only if present.
|
|
792
|
+
const toolchainManager = new ToolchainManager();
|
|
793
|
+
if (!(await toolchainManager.isInstalled())) {
|
|
794
|
+
throw new Error('Native notices check needs a Rust toolchain on the coordinator; install rustup or run `tsrust notices`');
|
|
795
|
+
}
|
|
796
|
+
envPrefix = toolchainManager.getEnvPrefix();
|
|
797
|
+
}
|
|
798
|
+
const generator = await createProjectNoticesGenerator({
|
|
799
|
+
projectDir: this.workspace,
|
|
800
|
+
rustDir: await this.detectRustDirectory(),
|
|
801
|
+
config: this.config,
|
|
802
|
+
staticLinking: this.config.static === true,
|
|
803
|
+
envPrefix,
|
|
804
|
+
install: false,
|
|
805
|
+
});
|
|
806
|
+
const bundle = await generator.check();
|
|
807
|
+
console.log(`Verified native notices: ${path.relative(this.workspace, bundle.directory)}`);
|
|
808
|
+
}
|
|
766
809
|
workerVerificationArgs(workerArg) {
|
|
767
810
|
const bootstrap = "import { ToolchainManager } from './node_modules/@git.zone/tsrust/dist_ts/mod_toolchain/index.js'; await new ToolchainManager().ensureInstalled();";
|
|
768
811
|
return [
|
|
@@ -1134,4 +1177,4 @@ export class NativeMatrixBuilder {
|
|
|
1134
1177
|
});
|
|
1135
1178
|
}
|
|
1136
1179
|
}
|
|
1137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5uYXRpdmVtYXRyaXhidWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvbW9kX21hdHJpeC9jbGFzc2VzLm5hdGl2ZW1hdHJpeGJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxhQUFhLENBQUM7QUFDdEMsT0FBTyxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUIsT0FBTyxLQUFLLElBQUksTUFBTSxXQUFXLENBQUM7QUFDbEMsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIsd0JBQXdCLEdBRXpCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIsa0JBQWtCLEVBQ2xCLDRCQUE0QixFQUM1Qix5QkFBeUIsRUFDekIsZUFBZSxHQUNoQixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBc0IsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxFQUNMLG1CQUFtQixHQUdwQixNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sRUFDTCxpQkFBaUIsR0FJbEIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLHNCQUFzQixFQUN0QixrQ0FBa0MsRUFDbEMsb0JBQW9CLEdBRXJCLE1BQU0seUJBQXlCLENBQUM7QUFFakMsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztBQUNqRCxNQUFNLHFCQUFxQixHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO0FBQzdDLE1B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
|
|
1180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5uYXRpdmVtYXRyaXhidWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvbW9kX21hdHJpeC9jbGFzc2VzLm5hdGl2ZW1hdHJpeGJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxhQUFhLENBQUM7QUFDdEMsT0FBTyxLQUFLLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUIsT0FBTyxLQUFLLElBQUksTUFBTSxXQUFXLENBQUM7QUFDbEMsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIsd0JBQXdCLEdBRXpCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIsa0JBQWtCLEVBQ2xCLDRCQUE0QixFQUM1Qix5QkFBeUIsRUFDekIsZUFBZSxHQUNoQixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxrQkFBa0IsRUFBc0IsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxFQUNMLG1CQUFtQixHQUdwQixNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sRUFDTCxpQkFBaUIsR0FJbEIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLHNCQUFzQixFQUN0QixrQ0FBa0MsRUFDbEMsb0JBQW9CLEdBRXJCLE1BQU0seUJBQXlCLENBQUM7QUFFakMsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztBQUNqRCxNQUFNLHFCQUFx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
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { type ITsrustConfig } from '../mod_cli/helpers.targets.js';
|
|
2
|
+
import { type INoticeCommandRunner, type INoticeToolchain } from './classes.noticetoolchain.js';
|
|
3
|
+
export type TNoticeLinkage = 'gnu-dynamic' | 'musl-static' | 'darwin';
|
|
4
|
+
export interface INativeNoticesOptions {
|
|
5
|
+
projectDir: string;
|
|
6
|
+
rustDir: string;
|
|
7
|
+
config: ITsrustConfig;
|
|
8
|
+
/** Whether Linux GNU targets are linked with `crt-static`. */
|
|
9
|
+
staticLinking: boolean;
|
|
10
|
+
toolchain: INoticeToolchain;
|
|
11
|
+
commandRunner: INoticeCommandRunner;
|
|
12
|
+
}
|
|
13
|
+
export interface INativeNoticesBundle {
|
|
14
|
+
/** Absolute notices directory. */
|
|
15
|
+
directory: string;
|
|
16
|
+
/** Bundle contents keyed by directory-relative POSIX path, in sorted order. */
|
|
17
|
+
files: Map<string, Buffer>;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Generates the third-party notices for the native executables tsrust builds:
|
|
21
|
+
* the license files of every Cargo package compiled for a configured target,
|
|
22
|
+
* the bundled C libraries those packages declare, the Rust standard library
|
|
23
|
+
* runtime, and the C runtime implied by each target's linkage.
|
|
24
|
+
*/
|
|
25
|
+
export declare class NativeNoticesGenerator {
|
|
26
|
+
private readonly options;
|
|
27
|
+
private readonly projectDir;
|
|
28
|
+
private readonly rustDir;
|
|
29
|
+
private readonly notices;
|
|
30
|
+
private readonly files;
|
|
31
|
+
private readonly usedOverrideKeys;
|
|
32
|
+
/**
|
|
33
|
+
* `resolve` may download Cargo packages; `verify` works offline from the
|
|
34
|
+
* local Cargo cache and the committed bundle, and downloads nothing.
|
|
35
|
+
*/
|
|
36
|
+
private mode;
|
|
37
|
+
constructor(options: INativeNoticesOptions);
|
|
38
|
+
get directory(): string;
|
|
39
|
+
/** Builds the complete bundle in memory, downloading what it needs. */
|
|
40
|
+
generate(): Promise<INativeNoticesBundle>;
|
|
41
|
+
private assemble;
|
|
42
|
+
/** Generates the bundle and replaces the notices directory with it. */
|
|
43
|
+
write(): Promise<INativeNoticesBundle>;
|
|
44
|
+
/**
|
|
45
|
+
* Verifies that the notices directory matches the bundle byte for byte,
|
|
46
|
+
* offline: it reads the local Cargo cache and the toolchain, verifies the
|
|
47
|
+
* committed standard-library notices against the toolchain's checksums,
|
|
48
|
+
* and downloads or installs nothing.
|
|
49
|
+
*/
|
|
50
|
+
check(): Promise<INativeNoticesBundle>;
|
|
51
|
+
private get relativeDirectory();
|
|
52
|
+
private outOfDate;
|
|
53
|
+
private resolveTargets;
|
|
54
|
+
private assertPackageFilesShipDirectory;
|
|
55
|
+
private parseMetadata;
|
|
56
|
+
/**
|
|
57
|
+
* Resolves every non-workspace package compiled for a target: the normal
|
|
58
|
+
* and build dependencies of the workspace's binary packages, transitively,
|
|
59
|
+
* including procedural macros. Development dependencies are excluded.
|
|
60
|
+
*/
|
|
61
|
+
private readTargetClosure;
|
|
62
|
+
private licenseExpressionFor;
|
|
63
|
+
private readRegularFile;
|
|
64
|
+
private collectPackage;
|
|
65
|
+
private collectNativeComponent;
|
|
66
|
+
private collectStandardLibrary;
|
|
67
|
+
/**
|
|
68
|
+
* Offline counterpart of `resolveStandardLibraryGaps`: the committed notices
|
|
69
|
+
* must cover exactly the toolchain's uninventoried dependencies with the
|
|
70
|
+
* checksums of its library/Cargo.lock, and their files must match the
|
|
71
|
+
* committed digests.
|
|
72
|
+
*/
|
|
73
|
+
private committedStandardLibraryPackages;
|
|
74
|
+
private resolveStandardLibraryGaps;
|
|
75
|
+
private runtimeFor;
|
|
76
|
+
private configuredRuntime;
|
|
77
|
+
private addFile;
|
|
78
|
+
private renderReadme;
|
|
79
|
+
private readDirectoryFiles;
|
|
80
|
+
private lstatOptional;
|
|
81
|
+
}
|
|
82
|
+
export interface IProjectNoticesOptions {
|
|
83
|
+
projectDir: string;
|
|
84
|
+
rustDir: string;
|
|
85
|
+
config: ITsrustConfig;
|
|
86
|
+
staticLinking: boolean;
|
|
87
|
+
/** Toolchain environment prefix; empty for the system toolchain. */
|
|
88
|
+
envPrefix: string;
|
|
89
|
+
/** Install missing toolchain components (`tsrust notices` only; checks install nothing). */
|
|
90
|
+
install: boolean;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Creates a generator for a project built with the toolchain behind
|
|
94
|
+
* `envPrefix`, installing the toolchain components notices read from.
|
|
95
|
+
*/
|
|
96
|
+
export declare function createProjectNoticesGenerator(optionsArg: IProjectNoticesOptions): Promise<NativeNoticesGenerator>;
|