git: f6488428308e - stable/13 - pkgbase: hide duplicate METALOG directory warnings under verbose
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 04 May 2023 16:45:59 UTC
The branch stable/13 has been updated by emaste:
URL: https://cgit.FreeBSD.org/src/commit/?id=f6488428308edeb1fb8fc8aa0eb4e2744db78748
commit f6488428308edeb1fb8fc8aa0eb4e2744db78748
Author: Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2023-05-01 17:25:18 +0000
Commit: Ed Maste <emaste@FreeBSD.org>
CommitDate: 2023-05-04 16:45:50 +0000
pkgbase: hide duplicate METALOG directory warnings under verbose
Creating directories multiple times is an inherent side effect of the
way installation is done. Hide warnings from duplicate directory
entries (with identical metadata) under metalog_reader's verbose mode.
Duplicate file entries are always reported. They currently generate
warnings but will be switched to errors once the few instances currently
in the tree are fixed.
PR: 244596, 271178
Reviewed by: kevans
Sponsored By: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D39898
(cherry picked from commit 2a3bd0870869819354b5ea65761d13e5e2987697)
---
tools/pkgbase/metalog_reader.lua | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/tools/pkgbase/metalog_reader.lua b/tools/pkgbase/metalog_reader.lua
index 3e8cf8461914..9cc5fd727923 100644
--- a/tools/pkgbase/metalog_reader.lua
+++ b/tools/pkgbase/metalog_reader.lua
@@ -392,12 +392,18 @@ function Analysis_session(metalog, verbose, w_notagdirs)
if #rows == 1 then goto continue end
local iseq, offby = metalogrows_all_equal(rows)
if iseq then -- repeated line, just a warning
- warn[#warn+1] = 'warning: '..filename
- .. ' ' .. rows[1].attrs.type
- ..' repeated with same meta: line '
- ..table.concat(
- table_map(rows, function(e) return e.linenum end), ',')
- warn[#warn+1] = '\n'
+ local dupmsg = filename .. ' ' ..
+ rows[1].attrs.type ..
+ ' repeated with same meta: line ' ..
+ table.concat(table_map(rows, function(e) return e.linenum end), ',')
+ if rows[1].attrs.type == "dir" then
+ if verbose then
+ warn[#warn+1] = 'warning: ' .. dupmsg .. '\n'
+ end
+ else
+ -- XXX downgrade to warning until instances in the tree are fixed (PR271178)
+ warn[#warn+1] = 'error: ' .. dupmsg .. '\n'
+ end
elseif not metalogrows_all_equal(rows, false, true) then
-- same filename (possibly different tags), different metadata, an error
errs[#errs+1] = 'error: '..filename