Skip to content

Commit d9be436

Browse files
authored
Merge pull request #18 from hoobs-org/development
Development
2 parents 5f16192 + fdc3bb4 commit d9be436

File tree

9 files changed

+112
-17
lines changed

9 files changed

+112
-17
lines changed

bin/bleeding

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,4 +215,9 @@ setup() {
215215
echo "Run \"${bold}sudo apt install -y hoobs${normal}\" to install HOOBS, node and yarn"
216216
}
217217

218+
clean() {
219+
exec_cmd "rm -f /etc/apt/sources.list.d/hoobs.list"
220+
}
221+
222+
clean
218223
setup

bin/build

Lines changed: 82 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,43 @@ Program.command("cli", { isDefault: true })
7979

8080
if (!existsSync(join(root, "../repo/src"))) mkdirSync(join(root, "../repo/src"));
8181
if (existsSync(join(root, "../repo/src", `hoobs-cli-v${pjson.version}.tar.gz`))) unlinkSync(join(root, "../repo/src", `hoobs-cli-v${pjson.version}.tar.gz`))
82-
if (existsSync(join(root, "../repo", repo))) unlinkSync(join(root, "../repo", repo))
8382

8483
moveSync(join(root, "dist", `hoobs-cli-v${pjson.version}.tar.gz`), join(root, "../repo/src", `hoobs-cli-v${pjson.version}.tar.gz`));
85-
copyFileSync(join(root, "bin", repo), join(root, "../repo", repo));
86-
execSync(`chmod 755 ${join(root, "../repo", repo)}`, { cwd: root, stdio: "inherit" });
84+
85+
switch (repo) {
86+
case "stable":
87+
if (existsSync(join(root, "../repo/stable"))) unlinkSync(join(root, "../repo/stable"));
88+
if (existsSync(join(root, "../repo/edge"))) unlinkSync(join(root, "../repo/edge"));
89+
if (existsSync(join(root, "../repo/bleeding"))) unlinkSync(join(root, "../repo/bleeding"));
90+
91+
copyFileSync(join(root, "bin/stable"), join(root, "../repo", "stable"));
92+
copyFileSync(join(root, "bin/edge"), join(root, "../repo", "edge"));
93+
copyFileSync(join(root, "bin/bleeding"), join(root, "../repo/bleeding"));
94+
95+
execSync(`chmod 755 ${join(root, "../repo/stable")}`, { cwd: root, stdio: "inherit" });
96+
execSync(`chmod 755 ${join(root, "../repo/edge")}`, { cwd: root, stdio: "inherit" });
97+
execSync(`chmod 755 ${join(root, "../repo/bleeding")}`, { cwd: root, stdio: "inherit" });
98+
break;
99+
100+
case "edge":
101+
if (existsSync(join(root, "../repo/edge"))) unlinkSync(join(root, "../repo/edge"));
102+
if (existsSync(join(root, "../repo/bleeding"))) unlinkSync(join(root, "../repo/bleeding"));
103+
104+
copyFileSync(join(root, "bin/edge"), join(root, "../repo/edge"));
105+
copyFileSync(join(root, "bin/bleeding"), join(root, "../repo/bleeding"));
106+
107+
execSync(`chmod 755 ${join(root, "../repo/edge")}`, { cwd: root, stdio: "inherit" });
108+
execSync(`chmod 755 ${join(root, "../repo/bleeding")}`, { cwd: root, stdio: "inherit" });
109+
break;
110+
111+
default:
112+
if (existsSync(join(root, "../repo/bleeding"))) unlinkSync(join(root, "../repo/bleeding"));
113+
114+
copyFileSync(join(root, "bin/bleeding"), join(root, "../repo/bleeding"));
115+
execSync(`chmod 755 ${join(root, "../repo/bleeding")}`, { cwd: root, stdio: "inherit" });
116+
break;
117+
}
118+
87119
mkdirSync(join(root, "dist/DEBIAN"));
88120

89121
let control = "";
@@ -100,15 +132,58 @@ Program.command("cli", { isDefault: true })
100132
control += "Description: Command line interface for the certified HOOBS smart home stack.\n";
101133

102134
writeFileSync(join(root, "dist/DEBIAN/control"), control);
135+
103136
copyFileSync(join(root, "bin", "postinst"), join(root, "dist/DEBIAN", "postinst"));
137+
104138
execSync(`chmod 755 ${join(root, "dist/DEBIAN", "postinst")}`, { cwd: root, stdio: "inherit" });
105139
execSync("dpkg-deb --build dist", { cwd: root, stdio: "inherit" });
106140

107-
if (!existsSync(join(root, "../repo/deb", repo))) mkdirSync(join(root, "../repo/deb", repo));
108-
if (existsSync(join(root, "../repo/deb", repo, `hoobs-cli-v${pjson.version}.deb`))) unlinkSync(join(root, "../repo/deb", repo, `hoobs-cli-v${pjson.version}.deb`));
141+
switch (repo) {
142+
case "stable":
143+
if (!existsSync(join(root, "../repo/deb/stable"))) mkdirSync(join(root, "../repo/deb/stable"));
144+
if (!existsSync(join(root, "../repo/deb/edge"))) mkdirSync(join(root, "../repo/deb/edge"));
145+
if (!existsSync(join(root, "../repo/deb/bleeding"))) mkdirSync(join(root, "../repo/deb/bleeding"));
146+
147+
if (existsSync(join(root, "../repo/deb/stable", `hoobs-cli-v${pjson.version}.deb`))) unlinkSync(join(root, "../repo/deb/stable", `hoobs-cli-v${pjson.version}.deb`));
148+
if (existsSync(join(root, "../repo/deb/edge", `hoobs-cli-v${pjson.version}.deb`))) unlinkSync(join(root, "../repo/deb/edge", `hoobs-cli-v${pjson.version}.deb`));
149+
if (existsSync(join(root, "../repo/deb/bleeding", `hoobs-cli-v${pjson.version}.deb`))) unlinkSync(join(root, "../repo/deb/bleeding", `hoobs-cli-v${pjson.version}.deb`));
150+
151+
copyFileSync(join(root, "dist.deb"), join(root, "../repo/deb/stable", `hoobs-cli-v${pjson.version}.deb`));
152+
copyFileSync(join(root, "dist.deb"), join(root, "../repo/deb/edge", `hoobs-cli-v${pjson.version}.deb`));
153+
copyFileSync(join(root, "dist.deb"), join(root, "../repo/deb/bleeding", `hoobs-cli-v${pjson.version}.deb`));
154+
155+
unlinkSync(join(root, "dist.deb"));
156+
157+
execSync(`dpkg-sig --sign builder ${join(root, "../repo/deb/stable", `hoobs-cli-v${pjson.version}.deb`)}`, { cwd: root, stdio: "inherit" });
158+
execSync(`dpkg-sig --sign builder ${join(root, "../repo/deb/edge", `hoobs-cli-v${pjson.version}.deb`)}`, { cwd: root, stdio: "inherit" });
159+
execSync(`dpkg-sig --sign builder ${join(root, "../repo/deb/bleeding", `hoobs-cli-v${pjson.version}.deb`)}`, { cwd: root, stdio: "inherit" });
160+
break;
161+
162+
case "edge":
163+
if (!existsSync(join(root, "../repo/deb/edge"))) mkdirSync(join(root, "../repo/deb/edge"));
164+
if (!existsSync(join(root, "../repo/deb/bleeding"))) mkdirSync(join(root, "../repo/deb/bleeding"));
165+
166+
if (existsSync(join(root, "../repo/deb/edge", `hoobs-cli-v${pjson.version}.deb`))) unlinkSync(join(root, "../repo/deb/edge", `hoobs-cli-v${pjson.version}.deb`));
167+
if (existsSync(join(root, "../repo/deb/bleeding", `hoobs-cli-v${pjson.version}.deb`))) unlinkSync(join(root, "../repo/deb/bleeding", `hoobs-cli-v${pjson.version}.deb`));
168+
169+
copyFileSync(join(root, "dist.deb"), join(root, "../repo/deb/edge", `hoobs-cli-v${pjson.version}.deb`));
170+
copyFileSync(join(root, "dist.deb"), join(root, "../repo/deb/bleeding", `hoobs-cli-v${pjson.version}.deb`));
171+
172+
unlinkSync(join(root, "dist.deb"));
173+
174+
execSync(`dpkg-sig --sign builder ${join(root, "../repo/deb/edge", `hoobs-cli-v${pjson.version}.deb`)}`, { cwd: root, stdio: "inherit" });
175+
execSync(`dpkg-sig --sign builder ${join(root, "../repo/deb/bleeding", `hoobs-cli-v${pjson.version}.deb`)}`, { cwd: root, stdio: "inherit" });
176+
break;
177+
178+
default:
179+
if (!existsSync(join(root, "../repo/deb/bleeding"))) mkdirSync(join(root, "../repo/deb/bleeding"));
180+
if (existsSync(join(root, "../repo/deb/bleeding", `hoobs-cli-v${pjson.version}.deb`))) unlinkSync(join(root, "../repo/deb/bleeding", `hoobs-cli-v${pjson.version}.deb`));
109181

110-
moveSync(join(root, "dist.deb"), join(root, "../repo/deb", repo, `hoobs-cli-v${pjson.version}.deb`));
111-
execSync(`dpkg-sig --sign builder ${join(root, "../repo/deb", repo, `hoobs-cli-v${pjson.version}.deb`)}`, { cwd: root, stdio: "inherit" });
182+
copyFileSync(join(root, "dist.deb"), join(root, "../repo/deb/bleeding", `hoobs-cli-v${pjson.version}.deb`));
183+
unlinkSync(join(root, "dist.deb"));
184+
execSync(`dpkg-sig --sign builder ${join(root, "../repo/deb/bleeding", `hoobs-cli-v${pjson.version}.deb`)}`, { cwd: root, stdio: "inherit" });
185+
break;
186+
}
112187

113188
if (existsSync(join(root, "dist"))) execSync(`${join(root, "node_modules", ".bin", "rimraf")} ${join(root, "dist")}`, { cwd: root, stdio: "inherit" });
114189
}

bin/edge

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,4 +215,9 @@ setup() {
215215
echo "Run \"${bold}sudo apt install -y hoobs${normal}\" to install HOOBS, node and yarn"
216216
}
217217

218+
clean() {
219+
exec_cmd "rm -f /etc/apt/sources.list.d/hoobs.list"
220+
}
221+
222+
clean
218223
setup

bin/postinst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
#!/bin/sh
22

33
cd /usr/lib/hbs
4-
yarn install --force --production
4+
yarn install --force --production --network-timeout 100000

bin/stable

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,4 +215,9 @@ setup() {
215215
echo "Run \"${bold}sudo apt install -y hoobs${normal}\" to install HOOBS, node and yarn"
216216
}
217217

218+
clean() {
219+
exec_cmd "rm -f /etc/apt/sources.list.d/hoobs.list"
220+
}
221+
222+
clean
218223
setup

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "hbs",
3-
"version": "4.0.33",
3+
"version": "4.0.40",
44
"description": "Command line interface for the certified HOOBS smart home stack.",
55
"license": "GPL-3.0",
66
"repository": {
@@ -20,7 +20,7 @@
2020
"debug": "sudo bin/hbs --mode development"
2121
},
2222
"dependencies": {
23-
"@hoobs/sdk": "^4.4.7",
23+
"@hoobs/sdk": "^4.4.11",
2424
"archiver": "^5.2.0",
2525
"as-table": "^1.0.55",
2626
"axios": "^0.21.1",

src/plugins/index.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ export default class Plugins {
8585
flags.push("add");
8686
flags.push("--unsafe-perm");
8787
flags.push("--ignore-engines");
88+
flags.push("--network-timeout 100000");
8889
flags.push("hap-nodejs");
8990

9091
const proc = spawn(Paths.yarn, flags, {
@@ -111,6 +112,7 @@ export default class Plugins {
111112
flags.push("add");
112113
flags.push("--unsafe-perm");
113114
flags.push("--ignore-engines");
115+
flags.push("--network-timeout 100000");
114116
flags.push(`${name}@${tag}`);
115117

116118
if ((definition || {}).sidecar) {
@@ -245,7 +247,7 @@ export default class Plugins {
245247
flags.push("add");
246248
flags.push("--unsafe-perm");
247249
flags.push("--ignore-engines");
248-
250+
flags.push("--network-timeout 100000");
249251
flags.push(`${name}@${tag}`);
250252

251253
Plugins.definition(name).then((definition) => {
@@ -275,6 +277,7 @@ export default class Plugins {
275277
} else {
276278
flags.push("upgrade");
277279
flags.push("--ignore-engines");
280+
flags.push("--network-timeout 100000");
278281

279282
const proc = spawn(Paths.yarn, flags, {
280283
cwd: Paths.data(State.id),

src/system/bridges.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ import State from "../state";
4141
import Paths from "./paths";
4242
import Config from "../config";
4343
import { sanitize } from "../formatters";
44+
import { cloneJson } from "../json";
4445

4546
const PROMPT: Inquirer.PromptModule = Inquirer.createPromptModule();
4647
const BRIDGE_TEARDOWN_DELAY = 1000;
@@ -58,6 +59,7 @@ export interface BridgeRecord {
5859
plugins?: string;
5960
advertiser?: string;
6061
project?: string;
62+
debugging?: boolean,
6163
}
6264

6365
const reserved = [
@@ -218,7 +220,7 @@ export default class Bridges {
218220
const bridges: BridgeRecord[] = [];
219221

220222
for (let i = 0; i < State.bridges.length; i += 1) {
221-
const { ...bridge } = State.bridges[i];
223+
const bridge = cloneJson(State.bridges[i]);
222224

223225
if (bridge.id === "hub") {
224226
bridges.unshift({
@@ -621,7 +623,7 @@ export default class Bridges {
621623
const bridges = Paths.loadJson<BridgeRecord[]>(Paths.bridges, []);
622624

623625
for (let i = 0; i < bridges.length; i += 1) {
624-
execSync(`${Paths.yarn} install --unsafe-perm --ignore-engines`, {
626+
execSync(`${Paths.yarn} install --unsafe-perm --ignore-engines --network-timeout 100000 --network-concurrency 1 --force --verbose`, {
625627
cwd: Paths.data(bridges[i].id),
626628
stdio: "inherit",
627629
});

yarn.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,10 @@
6363
source-map-support "^0.5.19"
6464
tslib "^2.0.3"
6565

66-
"@hoobs/sdk@^4.4.7":
67-
version "4.4.7"
68-
resolved "https://registry.yarnpkg.com/@hoobs/sdk/-/sdk-4.4.7.tgz#e066c36b472106b716ee51d4f33081df68129f3b"
69-
integrity sha512-GVaNBsZCQpHa0sLJWtdxZF/9gb326rMsbLOyxzUBtxnFhAIcI7iI6OXRXbe5m4S/PuUDMbBY6SBrqjkIB68fOQ==
66+
"@hoobs/sdk@^4.4.11":
67+
version "4.4.11"
68+
resolved "https://registry.yarnpkg.com/@hoobs/sdk/-/sdk-4.4.11.tgz#0655668e93e8903734cb1592ab26c763f42eb87d"
69+
integrity sha512-fHit9WyNuv96CiGGe1JfpcmriC/B8uDWt/ZPwXNvrWksfuEP73zTSS+ONM5Z+57MMqqMThQmxcQcwhSaI/0RPQ==
7070
dependencies:
7171
axios "^0.21.1"
7272
sanitize-filename "^1.6.3"

0 commit comments

Comments
 (0)