summaryrefslogtreecommitdiff
path: root/tools/pkgbase/metalog_reader.lua
diff options
context:
space:
mode:
authorEd Maste <emaste@FreeBSD.org>2022-11-23 21:40:22 +0000
committerEd Maste <emaste@FreeBSD.org>2022-11-25 14:13:31 +0000
commitf93d92f43d984c1d927c7c12d06ae1497d12deea (patch)
treec08252d60fea1ab90644046effbc43d506aaa259 /tools/pkgbase/metalog_reader.lua
parentff0c7816db696d31adc437134dcad45a70ad5889 (diff)
pkgbase: report errors via metalog reader exit status
Reviewed by: kevans Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D37482
Diffstat (limited to 'tools/pkgbase/metalog_reader.lua')
-rw-r--r--tools/pkgbase/metalog_reader.lua12
1 files changed, 9 insertions, 3 deletions
diff --git a/tools/pkgbase/metalog_reader.lua b/tools/pkgbase/metalog_reader.lua
index 72cfcf46c95b..3e8cf8461914 100644
--- a/tools/pkgbase/metalog_reader.lua
+++ b/tools/pkgbase/metalog_reader.lua
@@ -86,13 +86,14 @@ function main(args)
local sess = Analysis_session(filename, verbose, w_notagdirs)
+ local errors
if printall then
io.write('--- PACKAGE REPORTS ---\n')
io.write(sess.pkg_report_full())
io.write('--- LINTING REPORTS ---\n')
- print_lints(sess)
+ errors = print_lints(sess)
elseif checkonly then
- print_lints(sess)
+ errors = print_lints(sess)
elseif pkgonly then
io.write(sess.pkg_report_simple(dcount, dsize, {
fuid and sess.pkg_issetuid or nil,
@@ -103,6 +104,10 @@ function main(args)
io.stderr:write('This text should not be displayed.')
usage()
end
+
+ if errors then
+ return 1
+ end
end
--- @param man boolean
@@ -151,6 +156,7 @@ function print_lints(sess)
local inodewarn, inodeerr = sess.inode_report()
io.write(inodewarn)
io.write(inodeerr)
+ return #duperr > 0 or #inodeerr > 0
end
--- @param t table
@@ -520,4 +526,4 @@ function Analysis_session(metalog, verbose, w_notagdirs)
}
end
-main(arg)
+os.exit(main(arg))