@rom-weaver/cli 0.10.2 → 0.11.1
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/README.md +34 -10
- package/docs/completions/_rom-weaver +1288 -0
- package/docs/completions/rom-weaver.bash +1817 -0
- package/docs/completions/rom-weaver.elv +763 -0
- package/docs/completions/rom-weaver.fish +723 -0
- package/docs/completions/rom-weaver.ps1 +824 -0
- package/docs/man/rom-weaver-bundle-create.1 +213 -0
- package/docs/man/rom-weaver-bundle-parse.1 +98 -0
- package/docs/man/rom-weaver-bundle-schema.1 +67 -0
- package/docs/man/rom-weaver-bundle.1 +69 -0
- package/docs/man/rom-weaver-checksum.1 +110 -0
- package/docs/man/rom-weaver-completions.1 +84 -0
- package/docs/man/rom-weaver-compress.1 +125 -0
- package/docs/man/rom-weaver-extract.1 +111 -0
- package/docs/man/rom-weaver-ingest.1 +98 -0
- package/docs/man/rom-weaver-patch-apply.1 +356 -0
- package/docs/man/rom-weaver-patch-create.1 +166 -0
- package/docs/man/rom-weaver-patch-validate.1 +161 -0
- package/docs/man/rom-weaver-patch.1 +69 -0
- package/docs/man/rom-weaver-probe.1 +93 -0
- package/docs/man/rom-weaver-tools-ppf-undo.1 +71 -0
- package/docs/man/rom-weaver-tools.1 +63 -0
- package/docs/man/rom-weaver-trim.1 +111 -0
- package/docs/man/rom-weaver-weave.1 +356 -0
- package/docs/man/rom-weaver.1 +124 -0
- package/package.json +11 -10
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
.ie \n(.g .ds Aq \(aq
|
|
2
|
+
.el .ds Aq '
|
|
3
|
+
.TH rom-weaver-bundle-create 1 "rom-weaver-bundle-create "
|
|
4
|
+
.SH NAME
|
|
5
|
+
rom\-weaver\-bundle\-create \- Write a rom\-weaver\-bundle.json recipe from local ROM and patch files
|
|
6
|
+
.SH SYNOPSIS
|
|
7
|
+
\fBrom\-weaver bundle create\fR [\fB\-i\fR|\fB\-\-input\fR] [\fB\-\-json\fR] [\fB\-\-assume\-in\fR] [\fB\-\-progress\fR] [\fB\-\-no\-progress\fR] [\fB\-\-rom\-url\fR] [\fB\-\-log\-level\fR] [\fB\-\-rom\-name\fR] [\fB\-\-patch\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-\-patch\-id\fR] [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-patch\-version\fR] [\fB\-\-color\fR] [\fB\-\-patch\-name\fR] [\fB\-\-no\-color\fR] [\fB\-\-patch\-description\fR] [\fB\-\-patch\-author\fR] [\fB\-\-patch\-label\fR] [\fB\-\-patch\-optional\fR] [\fB\-\-patch\-source\-url\fR] [\fB\-\-patch\-header\fR] [\fB\-\-patch\-basis\fR] [\fB\-\-patch\-expect\-in\fR] [\fB\-\-patch\-expect\-out\fR] [\fB\-\-expect\-out\fR] [\fB\-\-output\-name\fR] [\fB\-\-output\-header\fR] <\fB\-o\fR|\fB\-\-output\fR> [\fB\-\-bundle\fR] [\fB\-\-bundle\-rom\fR] [\fB\-\-no\-bundle\-rom\fR] [\fB\-\-checksum\fR] [\fB\-\-from\fR] [\fB\-\-schema\-ref\fR] [\fB\-j\fR|\fB\-\-threads\fR] [\fB\-h\fR|\fB\-\-help\fR]
|
|
8
|
+
.SH DESCRIPTION
|
|
9
|
+
Write a rom\-weaver\-bundle.json recipe from local ROM and patch files.
|
|
10
|
+
.PP
|
|
11
|
+
A bundle records which ROM the patches are for, what order they run in, and
|
|
12
|
+
what the result should hash to. Hand it to someone else and
|
|
13
|
+
`rom\-weaver weave \-\-bundle` reproduces your exact result.
|
|
14
|
+
.PP
|
|
15
|
+
Checksums come from the real files, so nothing here is taken on faith. Every
|
|
16
|
+
\-\-patch\-* flag describes the \-\-patch before it.
|
|
17
|
+
.PP
|
|
18
|
+
\-\-output names the recipe itself; add .gz or .zst to compress it. \-\-bundle
|
|
19
|
+
additionally packs the recipe and its files into one shareable archive.
|
|
20
|
+
.SH OPTIONS
|
|
21
|
+
.TP
|
|
22
|
+
\fB\-i\fR, \fB\-\-input\fR \fI<INPUT>\fR
|
|
23
|
+
ROM the patches apply to. Its checksums and size are read from the file and recorded in the bundle
|
|
24
|
+
.TP
|
|
25
|
+
\fB\-\-assume\-in\fR \fI<ALGO=HEX>\fR
|
|
26
|
+
Take the ROM\*(Aqs checksum and size on trust rather than reading it, as in crc32=1234abcd,size=1048576 (repeatable, comma\-separable)
|
|
27
|
+
.TP
|
|
28
|
+
\fB\-\-rom\-url\fR \fI<ROM_URL>\fR
|
|
29
|
+
Where the ROM can be downloaded from. With \-\-input, the local file still supplies the checksums; on its own, the bundle records only this url
|
|
30
|
+
.TP
|
|
31
|
+
\fB\-\-rom\-name\fR \fI<ROM_NAME>\fR
|
|
32
|
+
File name to show for the ROM, and to base the output name on
|
|
33
|
+
.TP
|
|
34
|
+
\fB\-\-patch\fR \fI<PATCH>\fR
|
|
35
|
+
Patch to list in the bundle. Repeat once per patch, in the order they should be
|
|
36
|
+
applied.
|
|
37
|
+
|
|
38
|
+
Every \-\-patch\-* flag describes the \-\-patch before it, so metadata for several
|
|
39
|
+
patches reads left to right:
|
|
40
|
+
|
|
41
|
+
\-\-patch tl.bps \-\-patch\-name \*(AqTranslation\*(Aq \-\-patch\-author \*(AqTeam A\*(Aq \\
|
|
42
|
+
\-\-patch fix.ips \-\-patch\-name \*(AqBugfixes\*(Aq \-\-patch\-optional true
|
|
43
|
+
.TP
|
|
44
|
+
\fB\-\-patch\-id\fR \fI<PATCH_ID>\fR
|
|
45
|
+
Identifier for the preceding \-\-patch that stays the same across releases, so a replacement keeps its settings
|
|
46
|
+
.TP
|
|
47
|
+
\fB\-\-patch\-version\fR \fI<PATCH_VERSION>\fR
|
|
48
|
+
Version of the preceding \-\-patch, in whatever form its author uses
|
|
49
|
+
.TP
|
|
50
|
+
\fB\-\-patch\-name\fR \fI<PATCH_NAME>\fR
|
|
51
|
+
Name to show for the preceding \-\-patch
|
|
52
|
+
.TP
|
|
53
|
+
\fB\-\-patch\-description\fR \fI<PATCH_DESCRIPTION>\fR
|
|
54
|
+
What the preceding \-\-patch does
|
|
55
|
+
.TP
|
|
56
|
+
\fB\-\-patch\-author\fR \fI<PATCH_AUTHOR>\fR
|
|
57
|
+
Who made the preceding \-\-patch
|
|
58
|
+
.TP
|
|
59
|
+
\fB\-\-patch\-label\fR \fI<PATCH_LABEL>\fR
|
|
60
|
+
Short status note for the preceding \-\-patch, such as beta or recommended
|
|
61
|
+
.TP
|
|
62
|
+
\fB\-\-patch\-optional\fR \fI<PATCH_OPTIONAL>\fR
|
|
63
|
+
Mark the preceding \-\-patch optional, so it starts switched off and needs \-\-with to run
|
|
64
|
+
.br
|
|
65
|
+
|
|
66
|
+
.br
|
|
67
|
+
\fIPossible values:\fR
|
|
68
|
+
.RS 14
|
|
69
|
+
.IP \(bu 2
|
|
70
|
+
true
|
|
71
|
+
.IP \(bu 2
|
|
72
|
+
false
|
|
73
|
+
.RE
|
|
74
|
+
.TP
|
|
75
|
+
\fB\-\-patch\-source\-url\fR \fI<PATCH_SOURCE_URL>\fR
|
|
76
|
+
Where the preceding \-\-patch can be downloaded from. The local file is still read to build the bundle
|
|
77
|
+
.TP
|
|
78
|
+
\fB\-\-patch\-header\fR \fI<PATCH_HEADER>\fR
|
|
79
|
+
Whether the preceding \-\-patch applies to the ROM with or without its copier header: auto, keep, or strip
|
|
80
|
+
.br
|
|
81
|
+
|
|
82
|
+
.br
|
|
83
|
+
\fIPossible values:\fR
|
|
84
|
+
.RS 14
|
|
85
|
+
.IP \(bu 2
|
|
86
|
+
keep
|
|
87
|
+
.IP \(bu 2
|
|
88
|
+
strip
|
|
89
|
+
.IP \(bu 2
|
|
90
|
+
auto
|
|
91
|
+
.RE
|
|
92
|
+
.TP
|
|
93
|
+
\fB\-\-patch\-basis\fR \fI<PATCH_BASIS>\fR
|
|
94
|
+
Which ROM the preceding \-\-patch was built against: base (the bundle\*(Aqs ROM) or previous (the patch before it). Use auto to leave it out and let apply infer it
|
|
95
|
+
.br
|
|
96
|
+
|
|
97
|
+
.br
|
|
98
|
+
\fIPossible values:\fR
|
|
99
|
+
.RS 14
|
|
100
|
+
.IP \(bu 2
|
|
101
|
+
auto
|
|
102
|
+
.IP \(bu 2
|
|
103
|
+
base
|
|
104
|
+
.IP \(bu 2
|
|
105
|
+
previous
|
|
106
|
+
.RE
|
|
107
|
+
.TP
|
|
108
|
+
\fB\-\-patch\-expect\-in\fR \fI<ALGO=HEX>\fR
|
|
109
|
+
Checksum the ROM should have before the preceding \-\-patch runs. Recorded only when it differs from the bundle\*(Aqs ROM checksums (repeatable, comma\-separable)
|
|
110
|
+
.TP
|
|
111
|
+
\fB\-\-patch\-expect\-out\fR \fI<ALGO=HEX>\fR
|
|
112
|
+
Checksum the ROM should have after the preceding \-\-patch runs. Recorded only when it differs from the final output checksums (repeatable, comma\-separable)
|
|
113
|
+
.TP
|
|
114
|
+
\fB\-\-expect\-out\fR \fI<ALGO=HEX>\fR
|
|
115
|
+
Checksum the ROM should have once every patch has run, so users can confirm they got the right result (repeatable, comma\-separable)
|
|
116
|
+
.TP
|
|
117
|
+
\fB\-\-output\-name\fR \fI<OUTPUT_NAME>\fR
|
|
118
|
+
File name the bundle suggests for the patched ROM
|
|
119
|
+
.TP
|
|
120
|
+
\fB\-\-output\-header\fR \fI<OUTPUT_HEADER>\fR
|
|
121
|
+
Whether the patched ROM should keep its copier header: auto, keep, or strip
|
|
122
|
+
.br
|
|
123
|
+
|
|
124
|
+
.br
|
|
125
|
+
\fIPossible values:\fR
|
|
126
|
+
.RS 14
|
|
127
|
+
.IP \(bu 2
|
|
128
|
+
keep
|
|
129
|
+
.IP \(bu 2
|
|
130
|
+
strip
|
|
131
|
+
.IP \(bu 2
|
|
132
|
+
auto
|
|
133
|
+
.RE
|
|
134
|
+
.TP
|
|
135
|
+
\fB\-o\fR, \fB\-\-output\fR \fI<OUTPUT>\fR
|
|
136
|
+
Where to write the bundle. Name it rom\-weaver\-bundle.json, or add .gz or .zst to compress it
|
|
137
|
+
.TP
|
|
138
|
+
\fB\-\-bundle\fR \fI<BUNDLE>\fR
|
|
139
|
+
Also pack the bundle and its ROM and patches into one shareable archive, such as release.zip
|
|
140
|
+
.TP
|
|
141
|
+
\fB\-\-bundle\-rom\fR \fI<BUNDLE_ROM>\fR
|
|
142
|
+
Pack this file into \-\-bundle as the ROM, while \-\-input supplies the checksums and metadata
|
|
143
|
+
.TP
|
|
144
|
+
\fB\-\-no\-bundle\-rom\fR
|
|
145
|
+
Keep the ROM out of \-\-bundle and record only its checksums, so whoever applies the bundle brings their own copy
|
|
146
|
+
.TP
|
|
147
|
+
\fB\-\-checksum\fR \fI<CHECKSUM>\fR
|
|
148
|
+
Which checksums to record for the ROM (repeatable) [default: crc32,md5,sha1]
|
|
149
|
+
.TP
|
|
150
|
+
\fB\-\-from\fR \fI<FILE>\fR
|
|
151
|
+
Build the bundle from a hand\-written rom\-weaver\-bundle.json instead of flags.
|
|
152
|
+
Use \- to read it from stdin.
|
|
153
|
+
|
|
154
|
+
Write the file with local paths and leave the checksums out; they are filled in
|
|
155
|
+
from the real files. Get the schema with `rom\-weaver bundle schema` so your
|
|
156
|
+
editor can check the file as you write it.
|
|
157
|
+
|
|
158
|
+
Any flag you also pass overrides what the file says.
|
|
159
|
+
.TP
|
|
160
|
+
\fB\-\-schema\-ref\fR \fI<URL>\fR
|
|
161
|
+
Record this $schema URL in the bundle so editors can validate it. Left out unless asked for
|
|
162
|
+
.TP
|
|
163
|
+
\fB\-j\fR, \fB\-\-threads\fR \fI<auto|N>\fR [default: auto]
|
|
164
|
+
How many threads to use at most. auto uses every core; a format may still use fewer
|
|
165
|
+
.TP
|
|
166
|
+
\fB\-h\fR, \fB\-\-help\fR
|
|
167
|
+
Print help (see a summary with \*(Aq\-h\*(Aq)
|
|
168
|
+
.SH "GLOBAL OPTIONS"
|
|
169
|
+
.TP
|
|
170
|
+
\fB\-\-json\fR
|
|
171
|
+
Print one JSON object per line instead of human\-readable output
|
|
172
|
+
.TP
|
|
173
|
+
\fB\-\-progress\fR
|
|
174
|
+
Show progress even when output is piped to a file or another program
|
|
175
|
+
.TP
|
|
176
|
+
\fB\-\-no\-progress\fR
|
|
177
|
+
Hide progress
|
|
178
|
+
.TP
|
|
179
|
+
\fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
|
|
180
|
+
How much rom\-weaver logs to stderr. Separate from the normal output [default: off]
|
|
181
|
+
.br
|
|
182
|
+
|
|
183
|
+
.br
|
|
184
|
+
\fIPossible values:\fR
|
|
185
|
+
.RS 14
|
|
186
|
+
.IP \(bu 2
|
|
187
|
+
off
|
|
188
|
+
.IP \(bu 2
|
|
189
|
+
error
|
|
190
|
+
.IP \(bu 2
|
|
191
|
+
warn
|
|
192
|
+
.IP \(bu 2
|
|
193
|
+
info
|
|
194
|
+
.IP \(bu 2
|
|
195
|
+
debug
|
|
196
|
+
.IP \(bu 2
|
|
197
|
+
trace
|
|
198
|
+
.RE
|
|
199
|
+
.TP
|
|
200
|
+
\fB\-v\fR, \fB\-\-verbose\fR
|
|
201
|
+
Log more: \-v for info, \-vv for debug, \-vvv for trace
|
|
202
|
+
.TP
|
|
203
|
+
\fB\-q\fR, \fB\-\-quiet\fR
|
|
204
|
+
Log errors only
|
|
205
|
+
.TP
|
|
206
|
+
\fB\-\-dep\-trace\fR
|
|
207
|
+
Also log trace output from bundled libraries (for bug reports)
|
|
208
|
+
.TP
|
|
209
|
+
\fB\-\-color\fR
|
|
210
|
+
Keep colors even when output is piped
|
|
211
|
+
.TP
|
|
212
|
+
\fB\-\-no\-color\fR
|
|
213
|
+
Turn colors off
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
.ie \n(.g .ds Aq \(aq
|
|
2
|
+
.el .ds Aq '
|
|
3
|
+
.TH rom-weaver-bundle-parse 1 "rom-weaver-bundle-parse "
|
|
4
|
+
.SH NAME
|
|
5
|
+
rom\-weaver\-bundle\-parse \- Read a rom\-weaver\-bundle.json recipe and report what it points at
|
|
6
|
+
.SH SYNOPSIS
|
|
7
|
+
\fBrom\-weaver bundle parse\fR <\fB\-i\fR|\fB\-\-input\fR> [\fB\-\-json\fR] [\fB\-\-progress\fR] [\fB\-s\fR|\fB\-\-select\fR] [\fB\-\-filter\fR] [\fB\-\-no\-progress\fR] [\fB\-\-log\-level\fR] [\fB\-\-no\-extract\fR] [\fB\-o\fR|\fB\-\-output\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-j\fR|\fB\-\-threads\fR] [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-color\fR] [\fB\-\-no\-color\fR] [\fB\-h\fR|\fB\-\-help\fR]
|
|
8
|
+
.SH DESCRIPTION
|
|
9
|
+
Read a rom\-weaver\-bundle.json recipe, check that it is valid, and report the
|
|
10
|
+
ROM and patches it points at.
|
|
11
|
+
.PP
|
|
12
|
+
The input can be a plain rom\-weaver\-bundle.json, a compressed one (.gz, .bz2,
|
|
13
|
+
\&.xz, or .zst), or an archive with the recipe at its root alongside the files it
|
|
14
|
+
names.
|
|
15
|
+
.PP
|
|
16
|
+
Entries that name a file are looked for in the archive, or next to the recipe.
|
|
17
|
+
Pass \-\-output to write those files out and get real paths back. Entries that
|
|
18
|
+
name a url are reported as they are; nothing is downloaded.
|
|
19
|
+
.PP
|
|
20
|
+
To actually run a bundle, use `rom\-weaver weave \-\-bundle` instead.
|
|
21
|
+
.SH OPTIONS
|
|
22
|
+
.TP
|
|
23
|
+
\fB\-i\fR, \fB\-\-input\fR \fI<INPUT>\fR
|
|
24
|
+
Bundle file, or an archive with a bundle at its root
|
|
25
|
+
.TP
|
|
26
|
+
\fB\-s\fR, \fB\-\-select\fR \fI<SELECT>\fR
|
|
27
|
+
Handle only the bundle entries whose file name matches this exact name, prefix, or glob (repeatable)
|
|
28
|
+
.TP
|
|
29
|
+
\fB\-\-filter\fR \fI<FILTER>\fR
|
|
30
|
+
Handle only the bundle\*(Aqs rom entry or only its patch entries (repeatable, comma\-separable)
|
|
31
|
+
.br
|
|
32
|
+
|
|
33
|
+
.br
|
|
34
|
+
\fIPossible values:\fR
|
|
35
|
+
.RS 14
|
|
36
|
+
.IP \(bu 2
|
|
37
|
+
rom
|
|
38
|
+
.IP \(bu 2
|
|
39
|
+
patch
|
|
40
|
+
.RE
|
|
41
|
+
.TP
|
|
42
|
+
\fB\-\-no\-extract\fR
|
|
43
|
+
Report what the bundle contains without unpacking any of it
|
|
44
|
+
.TP
|
|
45
|
+
\fB\-o\fR, \fB\-\-output\fR \fI<DIR>\fR
|
|
46
|
+
Directory to unpack the bundle\*(Aqs files into. Without it, files packed in an archive are listed but not written out
|
|
47
|
+
.TP
|
|
48
|
+
\fB\-j\fR, \fB\-\-threads\fR \fI<auto|N>\fR [default: auto]
|
|
49
|
+
How many threads to use at most. auto uses every core; a format may still use fewer
|
|
50
|
+
.TP
|
|
51
|
+
\fB\-h\fR, \fB\-\-help\fR
|
|
52
|
+
Print help (see a summary with \*(Aq\-h\*(Aq)
|
|
53
|
+
.SH "GLOBAL OPTIONS"
|
|
54
|
+
.TP
|
|
55
|
+
\fB\-\-json\fR
|
|
56
|
+
Print one JSON object per line instead of human\-readable output
|
|
57
|
+
.TP
|
|
58
|
+
\fB\-\-progress\fR
|
|
59
|
+
Show progress even when output is piped to a file or another program
|
|
60
|
+
.TP
|
|
61
|
+
\fB\-\-no\-progress\fR
|
|
62
|
+
Hide progress
|
|
63
|
+
.TP
|
|
64
|
+
\fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
|
|
65
|
+
How much rom\-weaver logs to stderr. Separate from the normal output [default: off]
|
|
66
|
+
.br
|
|
67
|
+
|
|
68
|
+
.br
|
|
69
|
+
\fIPossible values:\fR
|
|
70
|
+
.RS 14
|
|
71
|
+
.IP \(bu 2
|
|
72
|
+
off
|
|
73
|
+
.IP \(bu 2
|
|
74
|
+
error
|
|
75
|
+
.IP \(bu 2
|
|
76
|
+
warn
|
|
77
|
+
.IP \(bu 2
|
|
78
|
+
info
|
|
79
|
+
.IP \(bu 2
|
|
80
|
+
debug
|
|
81
|
+
.IP \(bu 2
|
|
82
|
+
trace
|
|
83
|
+
.RE
|
|
84
|
+
.TP
|
|
85
|
+
\fB\-v\fR, \fB\-\-verbose\fR
|
|
86
|
+
Log more: \-v for info, \-vv for debug, \-vvv for trace
|
|
87
|
+
.TP
|
|
88
|
+
\fB\-q\fR, \fB\-\-quiet\fR
|
|
89
|
+
Log errors only
|
|
90
|
+
.TP
|
|
91
|
+
\fB\-\-dep\-trace\fR
|
|
92
|
+
Also log trace output from bundled libraries (for bug reports)
|
|
93
|
+
.TP
|
|
94
|
+
\fB\-\-color\fR
|
|
95
|
+
Keep colors even when output is piped
|
|
96
|
+
.TP
|
|
97
|
+
\fB\-\-no\-color\fR
|
|
98
|
+
Turn colors off
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
.ie \n(.g .ds Aq \(aq
|
|
2
|
+
.el .ds Aq '
|
|
3
|
+
.TH rom-weaver-bundle-schema 1 "rom-weaver-bundle-schema "
|
|
4
|
+
.SH NAME
|
|
5
|
+
rom\-weaver\-bundle\-schema \- Print the rom\-weaver\-bundle.json JSON Schema, for editors and hand\-authoring
|
|
6
|
+
.SH SYNOPSIS
|
|
7
|
+
\fBrom\-weaver bundle schema\fR [\fB\-\-json\fR] [\fB\-\-progress\fR] [\fB\-\-no\-progress\fR] [\fB\-\-log\-level\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-color\fR] [\fB\-\-no\-color\fR] [\fB\-h\fR|\fB\-\-help\fR]
|
|
8
|
+
.SH DESCRIPTION
|
|
9
|
+
Print the rom\-weaver\-bundle.json JSON Schema to stdout.
|
|
10
|
+
.PP
|
|
11
|
+
Save it and point your editor at it, and the editor will check and autocomplete
|
|
12
|
+
a bundle as you write it:
|
|
13
|
+
.PP
|
|
14
|
+
rom\-weaver bundle schema > rom\-weaver\-bundle\-v1.schema.json
|
|
15
|
+
.PP
|
|
16
|
+
Then `bundle create \-\-from <your file>` turns what you wrote into a finished
|
|
17
|
+
bundle with the checksums filled in.
|
|
18
|
+
.SH OPTIONS
|
|
19
|
+
.TP
|
|
20
|
+
\fB\-h\fR, \fB\-\-help\fR
|
|
21
|
+
Print help (see a summary with \*(Aq\-h\*(Aq)
|
|
22
|
+
.SH "GLOBAL OPTIONS"
|
|
23
|
+
.TP
|
|
24
|
+
\fB\-\-json\fR
|
|
25
|
+
Print one JSON object per line instead of human\-readable output
|
|
26
|
+
.TP
|
|
27
|
+
\fB\-\-progress\fR
|
|
28
|
+
Show progress even when output is piped to a file or another program
|
|
29
|
+
.TP
|
|
30
|
+
\fB\-\-no\-progress\fR
|
|
31
|
+
Hide progress
|
|
32
|
+
.TP
|
|
33
|
+
\fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
|
|
34
|
+
How much rom\-weaver logs to stderr. Separate from the normal output [default: off]
|
|
35
|
+
.br
|
|
36
|
+
|
|
37
|
+
.br
|
|
38
|
+
\fIPossible values:\fR
|
|
39
|
+
.RS 14
|
|
40
|
+
.IP \(bu 2
|
|
41
|
+
off
|
|
42
|
+
.IP \(bu 2
|
|
43
|
+
error
|
|
44
|
+
.IP \(bu 2
|
|
45
|
+
warn
|
|
46
|
+
.IP \(bu 2
|
|
47
|
+
info
|
|
48
|
+
.IP \(bu 2
|
|
49
|
+
debug
|
|
50
|
+
.IP \(bu 2
|
|
51
|
+
trace
|
|
52
|
+
.RE
|
|
53
|
+
.TP
|
|
54
|
+
\fB\-v\fR, \fB\-\-verbose\fR
|
|
55
|
+
Log more: \-v for info, \-vv for debug, \-vvv for trace
|
|
56
|
+
.TP
|
|
57
|
+
\fB\-q\fR, \fB\-\-quiet\fR
|
|
58
|
+
Log errors only
|
|
59
|
+
.TP
|
|
60
|
+
\fB\-\-dep\-trace\fR
|
|
61
|
+
Also log trace output from bundled libraries (for bug reports)
|
|
62
|
+
.TP
|
|
63
|
+
\fB\-\-color\fR
|
|
64
|
+
Keep colors even when output is piped
|
|
65
|
+
.TP
|
|
66
|
+
\fB\-\-no\-color\fR
|
|
67
|
+
Turn colors off
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
.ie \n(.g .ds Aq \(aq
|
|
2
|
+
.el .ds Aq '
|
|
3
|
+
.TH rom-weaver-bundle 1 "rom-weaver-bundle "
|
|
4
|
+
.SH NAME
|
|
5
|
+
rom\-weaver\-bundle \- Build and read rom\-weaver\-bundle.json patch recipes
|
|
6
|
+
.SH SYNOPSIS
|
|
7
|
+
\fBrom\-weaver bundle\fR [\fB\-\-json\fR] [\fB\-\-progress\fR] [\fB\-\-no\-progress\fR] [\fB\-\-log\-level\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-color\fR] [\fB\-\-no\-color\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
|
|
8
|
+
.SH DESCRIPTION
|
|
9
|
+
Build and read rom\-weaver\-bundle.json patch recipes
|
|
10
|
+
.SH OPTIONS
|
|
11
|
+
.TP
|
|
12
|
+
\fB\-h\fR, \fB\-\-help\fR
|
|
13
|
+
Print help
|
|
14
|
+
.SH "GLOBAL OPTIONS"
|
|
15
|
+
.TP
|
|
16
|
+
\fB\-\-json\fR
|
|
17
|
+
Print one JSON object per line instead of human\-readable output
|
|
18
|
+
.TP
|
|
19
|
+
\fB\-\-progress\fR
|
|
20
|
+
Show progress even when output is piped to a file or another program
|
|
21
|
+
.TP
|
|
22
|
+
\fB\-\-no\-progress\fR
|
|
23
|
+
Hide progress
|
|
24
|
+
.TP
|
|
25
|
+
\fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
|
|
26
|
+
How much rom\-weaver logs to stderr. Separate from the normal output [default: off]
|
|
27
|
+
.br
|
|
28
|
+
|
|
29
|
+
.br
|
|
30
|
+
\fIPossible values:\fR
|
|
31
|
+
.RS 14
|
|
32
|
+
.IP \(bu 2
|
|
33
|
+
off
|
|
34
|
+
.IP \(bu 2
|
|
35
|
+
error
|
|
36
|
+
.IP \(bu 2
|
|
37
|
+
warn
|
|
38
|
+
.IP \(bu 2
|
|
39
|
+
info
|
|
40
|
+
.IP \(bu 2
|
|
41
|
+
debug
|
|
42
|
+
.IP \(bu 2
|
|
43
|
+
trace
|
|
44
|
+
.RE
|
|
45
|
+
.TP
|
|
46
|
+
\fB\-v\fR, \fB\-\-verbose\fR
|
|
47
|
+
Log more: \-v for info, \-vv for debug, \-vvv for trace
|
|
48
|
+
.TP
|
|
49
|
+
\fB\-q\fR, \fB\-\-quiet\fR
|
|
50
|
+
Log errors only
|
|
51
|
+
.TP
|
|
52
|
+
\fB\-\-dep\-trace\fR
|
|
53
|
+
Also log trace output from bundled libraries (for bug reports)
|
|
54
|
+
.TP
|
|
55
|
+
\fB\-\-color\fR
|
|
56
|
+
Keep colors even when output is piped
|
|
57
|
+
.TP
|
|
58
|
+
\fB\-\-no\-color\fR
|
|
59
|
+
Turn colors off
|
|
60
|
+
.SH SUBCOMMANDS
|
|
61
|
+
.TP
|
|
62
|
+
rom\-weaver\-bundle\-create(1)
|
|
63
|
+
Write a rom\-weaver\-bundle.json recipe from local ROM and patch files
|
|
64
|
+
.TP
|
|
65
|
+
rom\-weaver\-bundle\-parse(1)
|
|
66
|
+
Read a rom\-weaver\-bundle.json recipe and report what it points at
|
|
67
|
+
.TP
|
|
68
|
+
rom\-weaver\-bundle\-schema(1)
|
|
69
|
+
Print the rom\-weaver\-bundle.json JSON Schema, for editors and hand\-authoring
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
.ie \n(.g .ds Aq \(aq
|
|
2
|
+
.el .ds Aq '
|
|
3
|
+
.TH rom-weaver-checksum 1 "rom-weaver-checksum "
|
|
4
|
+
.SH NAME
|
|
5
|
+
rom\-weaver\-checksum \- Compute checksums for a file, or for a ROM inside an archive
|
|
6
|
+
.SH SYNOPSIS
|
|
7
|
+
\fBrom\-weaver checksum\fR <\fB\-i\fR|\fB\-\-input\fR> [\fB\-\-json\fR] <\fB\-a\fR|\fB\-\-algo\fR> [\fB\-\-progress\fR] [\fB\-\-no\-progress\fR] [\fB\-s\fR|\fB\-\-select\fR] [\fB\-\-filter\fR] [\fB\-\-log\-level\fR] [\fB\-\-no\-extract\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-\-no\-ignore\fR] [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-no\-trim\-fix\fR] [\fB\-\-color\fR] [\fB\-\-start\fR] [\fB\-\-length\fR] [\fB\-\-no\-color\fR] [\fB\-\-probe\fR] [\fB\-j\fR|\fB\-\-threads\fR] [\fB\-h\fR|\fB\-\-help\fR]
|
|
8
|
+
.SH DESCRIPTION
|
|
9
|
+
Compute checksums for a file, so you can tell one dump from another.
|
|
10
|
+
.PP
|
|
11
|
+
Archives are opened automatically, so this hashes the ROM inside a .zip rather
|
|
12
|
+
than the zip itself. Pass \-\-no\-extract to hash the file as it sits on disk.
|
|
13
|
+
.PP
|
|
14
|
+
Alongside the plain checksum, rom\-weaver reports how the same ROM would hash in
|
|
15
|
+
its other common forms: with and without a copier header, in each N64 byte
|
|
16
|
+
order, and trimmed or padded. That is what lets a checksum from a database
|
|
17
|
+
match a file that is stored slightly differently.
|
|
18
|
+
.SH OPTIONS
|
|
19
|
+
.TP
|
|
20
|
+
\fB\-i\fR, \fB\-\-input\fR \fI<INPUT>\fR
|
|
21
|
+
File to hash. Use \- to read from stdin
|
|
22
|
+
.TP
|
|
23
|
+
\fB\-a\fR, \fB\-\-algo\fR \fI<ALGO>\fR
|
|
24
|
+
Which checksum to compute: crc32, md5, sha1, sha256, blake3, crc32c, crc16, or adler32 (repeatable, comma\-separable)
|
|
25
|
+
.TP
|
|
26
|
+
\fB\-s\fR, \fB\-\-select\fR \fI<SELECT>\fR
|
|
27
|
+
Pick which file inside the archive to use, by exact name, prefix, or glob (repeatable)
|
|
28
|
+
.TP
|
|
29
|
+
\fB\-\-filter\fR \fI<FILTER>\fR
|
|
30
|
+
Consider only files that look like a rom or a patch, judged by extension (repeatable, comma\-separable)
|
|
31
|
+
.br
|
|
32
|
+
|
|
33
|
+
.br
|
|
34
|
+
\fIPossible values:\fR
|
|
35
|
+
.RS 14
|
|
36
|
+
.IP \(bu 2
|
|
37
|
+
rom
|
|
38
|
+
.IP \(bu 2
|
|
39
|
+
patch
|
|
40
|
+
.RE
|
|
41
|
+
.TP
|
|
42
|
+
\fB\-\-no\-extract\fR
|
|
43
|
+
Do not look inside archives; hash the file itself
|
|
44
|
+
.TP
|
|
45
|
+
\fB\-\-no\-ignore\fR
|
|
46
|
+
Also consider files normally skipped inside archives: readmes, images, checksum sidecars, and OS clutter such as .DS_Store
|
|
47
|
+
.TP
|
|
48
|
+
\fB\-\-no\-trim\-fix\fR
|
|
49
|
+
Skip the extra checksums computed for how a trimmable ROM would hash trimmed or untrimmed
|
|
50
|
+
.TP
|
|
51
|
+
\fB\-\-start\fR \fI<BYTE>\fR
|
|
52
|
+
Start hashing at this byte offset, counting from 0
|
|
53
|
+
.TP
|
|
54
|
+
\fB\-\-length\fR \fI<BYTES>\fR
|
|
55
|
+
How many bytes to hash from \-\-start. Defaults to the rest of the file
|
|
56
|
+
.TP
|
|
57
|
+
\fB\-\-probe\fR
|
|
58
|
+
Also report the platform of the hashed bytes, and fail if it matches no known platform
|
|
59
|
+
.TP
|
|
60
|
+
\fB\-j\fR, \fB\-\-threads\fR \fI<auto|N>\fR [default: auto]
|
|
61
|
+
How many threads to use at most. auto uses every core; a format may still use fewer
|
|
62
|
+
.TP
|
|
63
|
+
\fB\-h\fR, \fB\-\-help\fR
|
|
64
|
+
Print help (see a summary with \*(Aq\-h\*(Aq)
|
|
65
|
+
.SH "GLOBAL OPTIONS"
|
|
66
|
+
.TP
|
|
67
|
+
\fB\-\-json\fR
|
|
68
|
+
Print one JSON object per line instead of human\-readable output
|
|
69
|
+
.TP
|
|
70
|
+
\fB\-\-progress\fR
|
|
71
|
+
Show progress even when output is piped to a file or another program
|
|
72
|
+
.TP
|
|
73
|
+
\fB\-\-no\-progress\fR
|
|
74
|
+
Hide progress
|
|
75
|
+
.TP
|
|
76
|
+
\fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
|
|
77
|
+
How much rom\-weaver logs to stderr. Separate from the normal output [default: off]
|
|
78
|
+
.br
|
|
79
|
+
|
|
80
|
+
.br
|
|
81
|
+
\fIPossible values:\fR
|
|
82
|
+
.RS 14
|
|
83
|
+
.IP \(bu 2
|
|
84
|
+
off
|
|
85
|
+
.IP \(bu 2
|
|
86
|
+
error
|
|
87
|
+
.IP \(bu 2
|
|
88
|
+
warn
|
|
89
|
+
.IP \(bu 2
|
|
90
|
+
info
|
|
91
|
+
.IP \(bu 2
|
|
92
|
+
debug
|
|
93
|
+
.IP \(bu 2
|
|
94
|
+
trace
|
|
95
|
+
.RE
|
|
96
|
+
.TP
|
|
97
|
+
\fB\-v\fR, \fB\-\-verbose\fR
|
|
98
|
+
Log more: \-v for info, \-vv for debug, \-vvv for trace
|
|
99
|
+
.TP
|
|
100
|
+
\fB\-q\fR, \fB\-\-quiet\fR
|
|
101
|
+
Log errors only
|
|
102
|
+
.TP
|
|
103
|
+
\fB\-\-dep\-trace\fR
|
|
104
|
+
Also log trace output from bundled libraries (for bug reports)
|
|
105
|
+
.TP
|
|
106
|
+
\fB\-\-color\fR
|
|
107
|
+
Keep colors even when output is piped
|
|
108
|
+
.TP
|
|
109
|
+
\fB\-\-no\-color\fR
|
|
110
|
+
Turn colors off
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
.ie \n(.g .ds Aq \(aq
|
|
2
|
+
.el .ds Aq '
|
|
3
|
+
.TH rom-weaver-completions 1 "rom-weaver-completions "
|
|
4
|
+
.SH NAME
|
|
5
|
+
rom\-weaver\-completions \- Print a tab\-completion script for your shell
|
|
6
|
+
.SH SYNOPSIS
|
|
7
|
+
\fBrom\-weaver completions\fR [\fB\-\-json\fR] [\fB\-\-progress\fR] [\fB\-\-no\-progress\fR] [\fB\-\-log\-level\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-color\fR] [\fB\-\-no\-color\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fISHELL\fR>
|
|
8
|
+
.SH DESCRIPTION
|
|
9
|
+
Print a tab\-completion script for your shell to stdout.
|
|
10
|
+
.PP
|
|
11
|
+
Save it where your shell looks for completions, then start a new shell:
|
|
12
|
+
.PP
|
|
13
|
+
rom\-weaver completions bash > /etc/bash_completion.d/rom\-weaver
|
|
14
|
+
rom\-weaver completions zsh > ~/.zfunc/_rom\-weaver
|
|
15
|
+
rom\-weaver completions fish > ~/.config/fish/completions/rom\-weaver.fish
|
|
16
|
+
.SH OPTIONS
|
|
17
|
+
.TP
|
|
18
|
+
\fB\-h\fR, \fB\-\-help\fR
|
|
19
|
+
Print help (see a summary with \*(Aq\-h\*(Aq)
|
|
20
|
+
.TP
|
|
21
|
+
<\fISHELL\fR>
|
|
22
|
+
Shell to print completions for
|
|
23
|
+
.br
|
|
24
|
+
|
|
25
|
+
.br
|
|
26
|
+
\fIPossible values:\fR
|
|
27
|
+
.RS 14
|
|
28
|
+
.IP \(bu 2
|
|
29
|
+
bash
|
|
30
|
+
.IP \(bu 2
|
|
31
|
+
elvish
|
|
32
|
+
.IP \(bu 2
|
|
33
|
+
fish
|
|
34
|
+
.IP \(bu 2
|
|
35
|
+
powershell
|
|
36
|
+
.IP \(bu 2
|
|
37
|
+
zsh
|
|
38
|
+
.RE
|
|
39
|
+
.SH "GLOBAL OPTIONS"
|
|
40
|
+
.TP
|
|
41
|
+
\fB\-\-json\fR
|
|
42
|
+
Print one JSON object per line instead of human\-readable output
|
|
43
|
+
.TP
|
|
44
|
+
\fB\-\-progress\fR
|
|
45
|
+
Show progress even when output is piped to a file or another program
|
|
46
|
+
.TP
|
|
47
|
+
\fB\-\-no\-progress\fR
|
|
48
|
+
Hide progress
|
|
49
|
+
.TP
|
|
50
|
+
\fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
|
|
51
|
+
How much rom\-weaver logs to stderr. Separate from the normal output [default: off]
|
|
52
|
+
.br
|
|
53
|
+
|
|
54
|
+
.br
|
|
55
|
+
\fIPossible values:\fR
|
|
56
|
+
.RS 14
|
|
57
|
+
.IP \(bu 2
|
|
58
|
+
off
|
|
59
|
+
.IP \(bu 2
|
|
60
|
+
error
|
|
61
|
+
.IP \(bu 2
|
|
62
|
+
warn
|
|
63
|
+
.IP \(bu 2
|
|
64
|
+
info
|
|
65
|
+
.IP \(bu 2
|
|
66
|
+
debug
|
|
67
|
+
.IP \(bu 2
|
|
68
|
+
trace
|
|
69
|
+
.RE
|
|
70
|
+
.TP
|
|
71
|
+
\fB\-v\fR, \fB\-\-verbose\fR
|
|
72
|
+
Log more: \-v for info, \-vv for debug, \-vvv for trace
|
|
73
|
+
.TP
|
|
74
|
+
\fB\-q\fR, \fB\-\-quiet\fR
|
|
75
|
+
Log errors only
|
|
76
|
+
.TP
|
|
77
|
+
\fB\-\-dep\-trace\fR
|
|
78
|
+
Also log trace output from bundled libraries (for bug reports)
|
|
79
|
+
.TP
|
|
80
|
+
\fB\-\-color\fR
|
|
81
|
+
Keep colors even when output is piped
|
|
82
|
+
.TP
|
|
83
|
+
\fB\-\-no\-color\fR
|
|
84
|
+
Turn colors off
|