1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-18 19:49:40 +00:00

Add error checks to @shell

Check errors from Lua io.* library calls to make it show useful error messages
when they do occur instead of ("attempt to index a nil value")

Submitted by:	RhToad (in IRC) <andrew@tao173.riddles.org.uk>
Differential Revision:	https://reviews.freebsd.org/D27154
This commit is contained in:
Baptiste Daroussin 2021-01-27 17:24:07 +00:00
parent 6e5e33827d
commit 60f52c054d
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=563097

View File

@ -10,7 +10,7 @@
actions: [file]
post-install-lua: <<EOD
shell_path = pkg.prefixed_path("%@")
shell = io.open("/etc/shells", "r+")
shell = assert(io.open("/etc/shells", "r+"))
while true do
line = shell:read()
if line == nil then break end
@ -20,14 +20,14 @@ post-install-lua: <<EOD
return
end
end
shell:write(shell_path .. "\n")
shell:close()
assert(shell:write(shell_path .. "\n"))
assert(shell:close())
EOD
pre-deinstall-lua: <<EOD
shell_path = pkg.prefixed_path("%@")
shellsbuf = ""
shells_path = "/etc/shells"
shell = io.open(shells_path, "r+")
shell = assert(io.open(shells_path, "r+"))
found = false
while true do
line = shell:read()
@ -38,10 +38,10 @@ pre-deinstall-lua: <<EOD
shellsbuf = shellsbuf .. line .. "\n"
end
end
shell:close()
assert(shell:close())
if found then
shell = io.open(shells_path, "w+")
shell:write(shellsbuf)
shell:close()
shell = assert(io.open(shells_path, "w+"))
assert(shell:write(shellsbuf))
assert(shell:close())
end
EOD