From 868e0eee7495a8e8aeb020bfbb3d8bef78318cad Mon Sep 17 00:00:00 2001 From: XeonSquared Date: Fri, 15 Sep 2017 14:42:10 +1000 Subject: [PATCH] moved most of the shutil functions into programs in exec/ to reduce kernel size. --- configs/everything.cfg | 9 +++++++++ configs/headless.cfg | 9 +++++++++ exec/cat.lua | 5 +++++ exec/free.lua | 5 +++++ exec/ls.lua | 7 +++++++ exec/ps.lua | 9 +++++++++ modules/applications/genkernel.lua | 2 ++ modules/lib/shutil.lua | 30 ------------------------------ 8 files changed, 46 insertions(+), 30 deletions(-) create mode 100644 exec/cat.lua create mode 100644 exec/free.lua create mode 100644 exec/ls.lua create mode 100644 exec/ps.lua diff --git a/configs/everything.cfg b/configs/everything.cfg index 0ca7298..d7ab9f1 100755 --- a/configs/everything.cfg +++ b/configs/everything.cfg @@ -15,6 +15,15 @@ modules/net/copper.lua modules/util/motd.lua modules/lib/readline.lua modules/lib/shutil.lua +fwrap shutil.cat exec/cat.lua +fwrap shutil.mem exec/free.lua +fwrap shutil.ls exec/ls.lua +fwrap shutil.ps exec/ps.lua +alias shutil.cd fs.cd +alias shutil.rm fs.rm +alias shutil.mkdir fs.mkdir +alias shutil.cp fs.cp +alias shutil.mv fs.mv libwrap sha modules/lib/sha256.lua modules/net/net-ext.lua modules/applications/login.lua diff --git a/configs/headless.cfg b/configs/headless.cfg index b7c3bc8..f0bc9e6 100755 --- a/configs/headless.cfg +++ b/configs/headless.cfg @@ -13,6 +13,15 @@ modules/net/copper.lua modules/util/motd.lua modules/lib/readline.lua modules/lib/shutil.lua +fwrap shutil.cat exec/cat.lua +fwrap shutil.mem exec/free.lua +fwrap shutil.ls exec/ls.lua +fwrap shutil.ps exec/ps.lua +alias shutil.cd fs.cd +alias shutil.rm fs.rm +alias shutil.mkdir fs.mkdir +alias shutil.cp fs.cp +alias shutil.mv fs.mv modules/lib/sha256.lua modules/net/net-ext.lua modules/applications/login.lua diff --git a/exec/cat.lua b/exec/cat.lua new file mode 100644 index 0000000..4ad4112 --- /dev/null +++ b/exec/cat.lua @@ -0,0 +1,5 @@ +local tA = {...} +local p = tA[1] +local f=io.open(p) +print(f:read("*a")) +f:close() diff --git a/exec/free.lua b/exec/free.lua new file mode 100644 index 0000000..279aef7 --- /dev/null +++ b/exec/free.lua @@ -0,0 +1,5 @@ +print(" \tTotal\tFree\tUsed") +io.write("Mem\t") +io.write(tostring(math.floor(computer.totalMemory()/1024)).."K\t") +io.write(tostring(math.floor(computer.freeMemory()/1024)).."K\t") +print(tostring(math.floor((computer.totalMemory()-computer.freeMemory())/1024)).."K\t") diff --git a/exec/ls.lua b/exec/ls.lua new file mode 100644 index 0000000..563b553 --- /dev/null +++ b/exec/ls.lua @@ -0,0 +1,7 @@ +local tA = {...} +if #tA == 0 then tA[1] = (os.getenv("PWD") or "/") end +for _, p in ipairs(tA) do + for k,v in ipairs(fs.list(p)) do + print(v) + end +end diff --git a/exec/ps.lua b/exec/ps.lua new file mode 100644 index 0000000..710b045 --- /dev/null +++ b/exec/ps.lua @@ -0,0 +1,9 @@ +local tA = {...} +local f=tA[1] or "" +print("PID\tUser\tName") +for k,v in pairs(os.tasks()) do + local _,_,uid = os.taskinfo(k) + if v:find(f) then + print(tostring(k).."\t"..tostring(uid:sub(1,6)).."\t"..tostring(v)) + end +end diff --git a/modules/applications/genkernel.lua b/modules/applications/genkernel.lua index dd6b0a3..05774b4 100644 --- a/modules/applications/genkernel.lua +++ b/modules/applications/genkernel.lua @@ -26,6 +26,8 @@ function genkernel(modlistf,kname) nk=nk.."function "..tw[2].."(...)\n" apfile(tw[3]) nk=nk.."\nend\n_G."..tw[2].." = "..tw[2].."()\n" + elseif tw[1] == "alias" then + nk=nk..tw[2].."="..tw[3].."\n" elseif tw[1] == "include" then apfile(tw[2]) else diff --git a/modules/lib/shutil.lua b/modules/lib/shutil.lua index 78bdc2b..c32e936 100644 --- a/modules/lib/shutil.lua +++ b/modules/lib/shutil.lua @@ -1,34 +1,4 @@ local shutil = {} -shutil.cd=fs.cd -shutil.rm=fs.rm -shutil.mkdir=fs.mkdir -shutil.cp=fs.cp -shutil.mv=fs.mv -function shutil.ls(p) - for k,v in ipairs(fs.list(p)) do print(v) end -end -function shutil.cat(p) - local f=io.open(p) - print(f:read("*a")) - f:close() -end -function shutil.ps(f) - local f=f or "" - print("PID\tUser\tName") - for k,v in pairs(os.tasks()) do - local _,_,uid = os.taskinfo(k) - if v:find(f) then - print(tostring(k).."\t"..tostring(uid:sub(1,6)).."\t"..tostring(v)) - end - end -end -function shutil.mem() - print(" \tTotal\tFree\tUsed") - io.write("Mem\t") - io.write(tostring(math.floor(computer.totalMemory()/1024)).."K\t") - io.write(tostring(math.floor(computer.freeMemory()/1024)).."K\t") - print(tostring(math.floor((computer.totalMemory()-computer.freeMemory())/1024)).."K\t") -end function shutil.genenv() local et = os.genenv() for k,v in pairs(shutil) do