Write a default config.json file to the sd card image.

This commit is contained in:
David Carley
2022-09-05 10:28:31 +00:00
parent 8e96fcc67b
commit cae5ccd7b7

View File

@@ -1,12 +1,21 @@
#!/usr/bin/env node #!/usr/bin/env node
const { basename, extname, resolve } = require("path"); const merge = require("lodash.merge");
const { basename, resolve } = require("path");
const { parseArgs } = require("node:util"); const { parseArgs } = require("node:util");
const { statSync, rmdirSync, copyFileSync } = require("fs"); const { statSync, rmdirSync, copyFileSync, writeFileSync } = require("fs");
const { execSync } = require("child_process"); const { execSync } = require("child_process");
const { exit } = require("process"); const { exit } = require("process");
const { glob } = require("glob"); const { glob } = require("glob");
const packageJSON = require("../package.json") const packageJSON = require("../package.json");
const config_defaults = require("../src/resources/onefinity_defaults.json");
const variant_defaults = {
machinist_x35: require("../src/resources/onefinity_machinist_x35_defaults.json"),
woodworker_x35: require("../src/resources/onefinity_woodworker_x35_defaults.json"),
woodworker_x50: require("../src/resources/onefinity_woodworker_x50_defaults.json"),
journeyman_x50: require("../src/resources/onefinity_journeyman_x50_defaults.json")
};
const ARGS_CONFIG = { const ARGS_CONFIG = {
options: { options: {
@@ -254,13 +263,11 @@ function prepareFilesystem(loopback) {
runCommand(`mount ${loopback} ${mountpoint}`); runCommand(`mount ${loopback} ${mountpoint}`);
scrub(mountpoint, [ scrub(mountpoint, [
"/etc/ssh/*_host_*",
"/var/swap", "/var/swap",
"/tmp/*", "/tmp/*",
"/usr/**/__pycache__", "/usr/**/__pycache__",
"/usr/**/*.py[co]", "/usr/**/*.py[co]",
"/usr/share/doc/*", "/usr/share/doc/*",
"/usr/share/plymouth/themes/buildbotics",
"/var/@(cache|backups|log|tmp)/*", "/var/@(cache|backups|log|tmp)/*",
"/var/lib/apt/lists/*", "/var/lib/apt/lists/*",
"/var/lib/bbctrl/@(firmware|plans|upload)/*", "/var/lib/bbctrl/@(firmware|plans|upload)/*",
@@ -275,6 +282,14 @@ function prepareFilesystem(loopback) {
doStep("Injecting files...", () => { doStep("Injecting files...", () => {
copyFileSync(resolve(`${__dirname}/../installer/Team Onefinity.ngc`), resolve(`${mountpoint}/var/lib/bbctrl/upload/Team Onefinity.ngc`)); copyFileSync(resolve(`${__dirname}/../installer/Team Onefinity.ngc`), resolve(`${mountpoint}/var/lib/bbctrl/upload/Team Onefinity.ngc`));
writeFileSync(`${mountpoint}/var/lib/bbctrl/config.json`,
JSON.stringify(merge(
{},
config_defaults,
variant_defaults.woodworker_x35
), null, 4)
);
}); });
} finally { } finally {
finallyHandler(); finallyHandler();