balena-image-fs 7.3.0-build-promises-e4b5c71032112664ba8dac4c9edc5dad5445818d-1 → 7.4.0-build-get-filesystem-label-66623b9a0b714b989bb19cef1b554c6a7db7a6eb-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/CHANGELOG.md +5 -1
- package/README.md +22 -0
- package/build/index.d.ts +17 -0
- package/build/index.js +75 -1
- package/build/index.js.map +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -4,7 +4,11 @@ All notable changes to this project will be documented in this file
|
|
|
4
4
|
automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
|
|
5
5
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
|
6
6
|
|
|
7
|
-
## 7.
|
|
7
|
+
## 7.4.0 - 2025-01-15
|
|
8
|
+
|
|
9
|
+
* Add getLabel() to retrieve filesystem label [Ken Bannister]
|
|
10
|
+
|
|
11
|
+
## 7.3.0 - 2025-01-06
|
|
8
12
|
|
|
9
13
|
* Drop Bluebird from devDependencies [Thodoris Greasidis]
|
|
10
14
|
* flowzone: Remove empty with clause [Thodoris Greasidis]
|
package/README.md
CHANGED
|
@@ -27,6 +27,11 @@ $ npm install --save balena-image-fs
|
|
|
27
27
|
Documentation
|
|
28
28
|
-------------
|
|
29
29
|
|
|
30
|
+
|
|
31
|
+
* [imagefs](#module_imagefs)
|
|
32
|
+
* [~interact()](#module_imagefs..interact)
|
|
33
|
+
* [~getLabel()](#module_imagefs..getLabel)
|
|
34
|
+
|
|
30
35
|
<a name="module_imagefs..interact"></a>
|
|
31
36
|
|
|
32
37
|
### imagefs~interact()
|
|
@@ -39,6 +44,23 @@ const contents = await interact('/foo/bar.img', 5, async (fs) => {
|
|
|
39
44
|
});
|
|
40
45
|
console.log(contents);
|
|
41
46
|
```
|
|
47
|
+
<a name="module_imagefs..getLabel"></a>
|
|
48
|
+
|
|
49
|
+
### imagefs~getLabel()
|
|
50
|
+
**Kind**: inner method of [<code>imagefs</code>](#module_imagefs)
|
|
51
|
+
**Summary**: Return the label encoded in the filesystem for a given partition,
|
|
52
|
+
or an empty string if one can't be found.
|
|
53
|
+
**Example**
|
|
54
|
+
```js
|
|
55
|
+
await filedisk.withOpenFile('/foo/bar.img', 'r', async (handle) => {
|
|
56
|
+
const disk = new filedisk.FileDisk(handle);
|
|
57
|
+
const info = partitioninfo.getPartitions(disk);
|
|
58
|
+
for (const partition of info.partitions) {
|
|
59
|
+
const label = await getLabel(disk, partition);
|
|
60
|
+
console.log(`${partition.index}: ${label}`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
```
|
|
42
64
|
|
|
43
65
|
Support
|
|
44
66
|
-------
|
package/build/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import * as Fs from 'fs';
|
|
3
3
|
import { Disk } from 'file-disk';
|
|
4
|
+
import * as partitioninfo from 'partitioninfo';
|
|
4
5
|
/**
|
|
5
6
|
* @summary Run a function with a node fs like interface for a partition
|
|
6
7
|
*
|
|
@@ -13,3 +14,19 @@ import { Disk } from 'file-disk';
|
|
|
13
14
|
*
|
|
14
15
|
*/
|
|
15
16
|
export declare function interact<T>(disk: Disk | string, partition: number | undefined, fn: (fs: typeof Fs) => Promise<T>): Promise<T>;
|
|
17
|
+
/**
|
|
18
|
+
* @summary Return the label encoded in the filesystem for a given partition,
|
|
19
|
+
* or an empty string if one can't be found.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
*
|
|
23
|
+
* await filedisk.withOpenFile('/foo/bar.img', 'r', async (handle) => {
|
|
24
|
+
* const disk = new filedisk.FileDisk(handle);
|
|
25
|
+
* const info = partitioninfo.getPartitions(disk);
|
|
26
|
+
* for (const partition of info.partitions) {
|
|
27
|
+
* const label = await getLabel(disk, partition);
|
|
28
|
+
* console.log(`${partition.index}: ${label}`);
|
|
29
|
+
* }
|
|
30
|
+
* }
|
|
31
|
+
*/
|
|
32
|
+
export declare function getLabel(disk: Disk, partition: partitioninfo.GPTPartition | partitioninfo.MBRPartition): Promise<string>;
|
package/build/index.js
CHANGED
|
@@ -15,7 +15,7 @@ See the License for the specific language governing permissions and
|
|
|
15
15
|
limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.interact = void 0;
|
|
18
|
+
exports.getLabel = exports.interact = void 0;
|
|
19
19
|
/**
|
|
20
20
|
* @module imagefs
|
|
21
21
|
*/
|
|
@@ -159,4 +159,78 @@ async function interact(disk, partition, fn) {
|
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
161
|
exports.interact = interact;
|
|
162
|
+
/**
|
|
163
|
+
* @summary Return the label encoded in the filesystem for a given partition,
|
|
164
|
+
* or an empty string if one can't be found.
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
*
|
|
168
|
+
* await filedisk.withOpenFile('/foo/bar.img', 'r', async (handle) => {
|
|
169
|
+
* const disk = new filedisk.FileDisk(handle);
|
|
170
|
+
* const info = partitioninfo.getPartitions(disk);
|
|
171
|
+
* for (const partition of info.partitions) {
|
|
172
|
+
* const label = await getLabel(disk, partition);
|
|
173
|
+
* console.log(`${partition.index}: ${label}`);
|
|
174
|
+
* }
|
|
175
|
+
* }
|
|
176
|
+
*/
|
|
177
|
+
async function getLabel(disk, partition) {
|
|
178
|
+
// If GPT, can we just read the protective MBR?
|
|
179
|
+
// Is there a more Typescript native way to determine partition table type?
|
|
180
|
+
// const isGpt = 'guid' in partition;
|
|
181
|
+
// Linux native FS, expecting ext2+, so skip to superblock for metadata.
|
|
182
|
+
let metadataOffset = 0;
|
|
183
|
+
if (partition.type === 0x83) {
|
|
184
|
+
metadataOffset += 0x400;
|
|
185
|
+
}
|
|
186
|
+
// Read filesystem metadata
|
|
187
|
+
let buf = Buffer.alloc(0x100);
|
|
188
|
+
await disk.read(buf, 0, buf.length, partition.offset + metadataOffset);
|
|
189
|
+
let labelOffset = 0;
|
|
190
|
+
let maxLength = 0;
|
|
191
|
+
// First verify magic signature to determine metadata layout for label offset.
|
|
192
|
+
const fatTypes = [0xB, 0xC, 0xE];
|
|
193
|
+
if (fatTypes.some(ptype => partition.type === ptype)) {
|
|
194
|
+
maxLength = 11;
|
|
195
|
+
// FAT16
|
|
196
|
+
if (buf.readUInt8(0x26) === 0x29) {
|
|
197
|
+
labelOffset = 0x2B;
|
|
198
|
+
// FAT32
|
|
199
|
+
}
|
|
200
|
+
else if (buf.readUInt8(0x42) === 0x29) {
|
|
201
|
+
labelOffset = 0x47;
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
return '';
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
else if (partition.type === 0x83) {
|
|
208
|
+
maxLength = 16;
|
|
209
|
+
if (buf.readUInt16LE(0x38) === 0xEF53) {
|
|
210
|
+
labelOffset = 0x78;
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
return '';
|
|
214
|
+
}
|
|
215
|
+
// Unexpected partition type
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
return '';
|
|
219
|
+
}
|
|
220
|
+
// Identify and exclude trailing /0 bytes to stringify.
|
|
221
|
+
let i = 0;
|
|
222
|
+
for (; i <= maxLength; i++) {
|
|
223
|
+
// If label fills available space, no need to test. We just need i
|
|
224
|
+
// to have the expected value for Buffer.toString() call below.
|
|
225
|
+
if (i == maxLength) {
|
|
226
|
+
break;
|
|
227
|
+
}
|
|
228
|
+
if (buf.readUInt8(labelOffset + i) == 0) {
|
|
229
|
+
break;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
const label = buf.toString('utf8', labelOffset, labelOffset + i).trim();
|
|
233
|
+
return label;
|
|
234
|
+
}
|
|
235
|
+
exports.getLabel = getLabel;
|
|
162
236
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "balena-image-fs",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.4.0-build-get-filesystem-label-66623b9a0b714b989bb19cef1b554c6a7db7a6eb-1",
|
|
4
4
|
"description": "Image filesystem manipulation utilities",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"homepage": "https://github.com/balena-io-modules/balena-image-fs",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"lint-fix": "balena-lint --fix --typescript lib tests",
|
|
24
24
|
"clean": "rm -rf build",
|
|
25
25
|
"build": "npm run clean && tsc",
|
|
26
|
-
"test": "npm run lint && mocha -r ts-node/register tests
|
|
26
|
+
"test": "npm run lint && mocha -r ts-node/register tests/*.ts",
|
|
27
27
|
"readme": "jsdoc2md --template doc/README.hbs build/index.js > README.md",
|
|
28
28
|
"prepublish": "npm run test && npm run build && npm run readme"
|
|
29
29
|
},
|
|
@@ -59,6 +59,6 @@
|
|
|
59
59
|
"node": ">=16"
|
|
60
60
|
},
|
|
61
61
|
"versionist": {
|
|
62
|
-
"publishedAt": "2025-01-
|
|
62
|
+
"publishedAt": "2025-01-15T04:33:01.361Z"
|
|
63
63
|
}
|
|
64
64
|
}
|