77 lines
1.9 KiB
Lua
77 lines
1.9 KiB
Lua
local createVersion = require('/apis/libversion');
|
|
|
|
local DEFAULT_CLOUD_URL = 'wss://os.trapcloud.fr';
|
|
local CLOUD_URL_SETTING = 'cloud.url';
|
|
local CLOUD_PASSWORD_SETTING = 'cloud.password';
|
|
|
|
local function isBlank(value)
|
|
return type(value) ~= 'string' or value == '';
|
|
end
|
|
|
|
local function printUsage()
|
|
print('trapos-postinstall usage:');
|
|
print();
|
|
print('\t\ttrapos-postinstall');
|
|
print('\t\ttrapos-postinstall version');
|
|
print('\t\ttrapos-postinstall help');
|
|
end
|
|
|
|
local command = ...;
|
|
|
|
if command == 'version' or command == '-version' or command == '--version' then
|
|
print('v' .. createVersion().forSelf());
|
|
return;
|
|
end
|
|
|
|
if command == 'help' or command == '-help' or command == '--help' then
|
|
printUsage();
|
|
return;
|
|
end
|
|
|
|
if command ~= nil and command ~= '' then
|
|
printUsage();
|
|
return;
|
|
end
|
|
|
|
local function readManifestVersion()
|
|
if not fs.exists('/trapos/manifest.json') then return nil; end
|
|
local f = fs.open('/trapos/manifest.json', 'r');
|
|
if not f then return nil; end
|
|
local data = f.readAll();
|
|
f.close();
|
|
local manifest = data and textutils.unserializeJSON(data);
|
|
return manifest and manifest.version or nil;
|
|
end
|
|
|
|
local version = readManifestVersion();
|
|
local configuredCloudUrl = false;
|
|
|
|
if isBlank(settings.get(CLOUD_URL_SETTING)) then
|
|
shell.run('set', CLOUD_URL_SETTING, DEFAULT_CLOUD_URL);
|
|
configuredCloudUrl = true;
|
|
end
|
|
|
|
local hasCloudPassword = not isBlank(settings.get(CLOUD_PASSWORD_SETTING));
|
|
|
|
print();
|
|
if version then
|
|
print('=> TrapOS v' .. version .. ' installed.');
|
|
else
|
|
print('=> TrapOS installed.');
|
|
end
|
|
if configuredCloudUrl then
|
|
print('=> Configured cloud.url to ' .. DEFAULT_CLOUD_URL .. '.');
|
|
else
|
|
print('=> Keeping existing cloud.url.');
|
|
end
|
|
if hasCloudPassword then
|
|
print('=> Cloud password already configured.');
|
|
else
|
|
print('=> Cloud password not set.');
|
|
end
|
|
print();
|
|
print('Get started:');
|
|
print(' cloud --help -- open the cloud help');
|
|
print(' trapos-upgrade -- update and upgrade TrapOS');
|
|
print();
|