npm-pkgbuild 7.2.6 → 7.2.7
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/package.json +1 -1
- package/src/key-value-transformer.mjs +5 -5
- package/src/output/deb.mjs +20 -5
package/package.json
CHANGED
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
export async function* keyValueTransformer(source, updates) {
|
|
7
7
|
let key, value;
|
|
8
8
|
|
|
9
|
-
function
|
|
9
|
+
function* eject() {
|
|
10
10
|
if (key !== undefined) {
|
|
11
11
|
const [k, v] = updates(key, value);
|
|
12
12
|
if (k !== undefined) {
|
|
13
|
-
yield`${k}: ${v}\n`;
|
|
13
|
+
yield `${k}: ${v}\n`;
|
|
14
14
|
}
|
|
15
15
|
key = value = undefined;
|
|
16
16
|
}
|
|
@@ -19,7 +19,7 @@ export async function* keyValueTransformer(source, updates) {
|
|
|
19
19
|
for await (const line of asLines(source)) {
|
|
20
20
|
const m = line.match(/^(\w+):\s*(.*)/);
|
|
21
21
|
if (m) {
|
|
22
|
-
yield
|
|
22
|
+
yield* eject();
|
|
23
23
|
key = m[1];
|
|
24
24
|
value = m[2];
|
|
25
25
|
} else if (key !== undefined) {
|
|
@@ -27,7 +27,7 @@ export async function* keyValueTransformer(source, updates) {
|
|
|
27
27
|
if (m) {
|
|
28
28
|
value += m[1];
|
|
29
29
|
} else {
|
|
30
|
-
yield
|
|
30
|
+
yield* eject();
|
|
31
31
|
yield line + "\n";
|
|
32
32
|
}
|
|
33
33
|
} else {
|
|
@@ -35,7 +35,7 @@ export async function* keyValueTransformer(source, updates) {
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
yield
|
|
38
|
+
yield* eject();
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
async function* asLines(source) {
|
package/src/output/deb.mjs
CHANGED
|
@@ -4,6 +4,7 @@ import { createWriteStream } from "fs";
|
|
|
4
4
|
import { mkdtemp, mkdir, chmod } from "fs/promises";
|
|
5
5
|
import { pipeline } from "stream/promises";
|
|
6
6
|
import execa from "execa";
|
|
7
|
+
import { EmptyContentEntry } from "content-entry";
|
|
7
8
|
import { Packager } from "./packager.mjs";
|
|
8
9
|
import { keyValueTransformer } from "../key-value-transformer.mjs";
|
|
9
10
|
|
|
@@ -52,16 +53,15 @@ export class Deb extends Packager {
|
|
|
52
53
|
|
|
53
54
|
const output = `${staging}${this.constructor.fileNameExtension}`;
|
|
54
55
|
|
|
56
|
+
let debianControlEntry;
|
|
57
|
+
|
|
55
58
|
for await (const entry of this.source) {
|
|
56
59
|
const destName = join(staging, entry.name);
|
|
57
60
|
|
|
58
61
|
await mkdir(dirname(destName), { recursive: true });
|
|
59
62
|
|
|
60
63
|
if (entry.name === "DEBIAN/control") {
|
|
61
|
-
|
|
62
|
-
keyValueTransformer(await entry.getReadStream(), controlProperties),
|
|
63
|
-
createWriteStream(destName)
|
|
64
|
-
);
|
|
64
|
+
debianControlEntry = entry;
|
|
65
65
|
} else {
|
|
66
66
|
await pipeline(
|
|
67
67
|
await entry.getReadStream(),
|
|
@@ -79,7 +79,22 @@ export class Deb extends Packager {
|
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
|
|
82
|
+
if (!debianControlEntry) {
|
|
83
|
+
debianControlEntry = new EmptyContentEntry("DEBIAN/control");
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
let destName = join(staging, debianControlEntry.name);
|
|
87
|
+
|
|
88
|
+
console.log("A", destName, dirname(destName));
|
|
89
|
+
await mkdir(dirname(destName), { recursive: true });
|
|
90
|
+
|
|
91
|
+
const x = await pipeline(
|
|
92
|
+
keyValueTransformer(
|
|
93
|
+
await debianControlEntry.getReadStream(),
|
|
94
|
+
controlProperties
|
|
95
|
+
),
|
|
96
|
+
createWriteStream(destName)
|
|
97
|
+
);
|
|
83
98
|
|
|
84
99
|
await execa("dpkg", ["-b", staging]);
|
|
85
100
|
|