diff --git a/src/bootstrap.moon b/src/bootstrap.moon new file mode 100644 index 0000000..b0f65c9 --- /dev/null +++ b/src/bootstrap.moon @@ -0,0 +1,28 @@ +-- +-- SPM Bootstrap Installer +-- Minimal functionality to install pull SPM and install itself. +-- +component = require("component") +fs = require("filesystem") +wget = loadfile("/bin/wget.lua") + +if not component.isAvailable("internet") + io.stderr\write("This program requires an internet card to run.") + return + +downloadSrc = "{URL_BASE}/spm/spm.min.lua" +saveLocation = "/tmp/spm.lua" + +print("Downloading Temporary SPM") +wget("-qf", downloadSrc, saveLocation) + +spm = loadfile(saveLocation) + +print("Installing SPM Locally") +spm("install", "-f", "spm") + +print("Removing Temporary SPM") +fs.remove(saveLocation) +print("Removing bootstrap.lua") +fs.remove(debug.getinfo(2, "S").source\sub(2)) +print("Done") \ No newline at end of file