public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Brian Dolbec" <brian.dolbec@gmail.com>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/portage:master commit in: bin/install-qa-check.d/
Date: Fri, 26 Sep 2014 02:17:21 +0000 (UTC)	[thread overview]
Message-ID: <1411694533.0f245b5f6d32c6bb10f59071e8bff8193a08b85a.dol-sen@gentoo> (raw)

commit:     0f245b5f6d32c6bb10f59071e8bff8193a08b85a
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 12 11:38:07 2014 +0000
Commit:     Brian Dolbec <brian.dolbec <AT> gmail <DOT> com>
CommitDate: Fri Sep 26 01:22:13 2014 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=0f245b5f

Use a single grep call for gcc warning checks

Use a single grep call with all gcc warning checks combined rather than
calling grep separately for each message being checked. Aside to being
faster, this also avoids outputting warnings in separate blocks.

---
 bin/install-qa-check.d/90gcc-warnings | 62 +++++++++++++++++++----------------
 1 file changed, 33 insertions(+), 29 deletions(-)

diff --git a/bin/install-qa-check.d/90gcc-warnings b/bin/install-qa-check.d/90gcc-warnings
index 48c11e4..9703c39 100644
--- a/bin/install-qa-check.d/90gcc-warnings
+++ b/bin/install-qa-check.d/90gcc-warnings
@@ -71,39 +71,43 @@ gcc_warn_check() {
 			#': warning: missing sentinel in function call'
 			#': warning: not enough variable arguments to fit a sentinel'
 		)
+
+		# join all messages into one grep-expression
+		local joined_msgs
+		printf -v joined_msgs '%s|' "${msgs[@]}"
+		joined_msgs=${joined_msgs%|}
+
 		local abort="no"
-		local i=0
 		local grep_cmd=grep
 		[[ $PORTAGE_LOG_FILE = *.gz ]] && grep_cmd=zgrep
-		while [[ -n ${msgs[${i}]} ]] ; do
-			m=${msgs[$((i++))]}
-			# force C locale to work around slow unicode locales #160234
-			f=$(LC_ALL=C $grep_cmd "${m}" "${PORTAGE_LOG_FILE}")
-			if [[ -n ${f} ]] ; then
-				abort="yes"
-				# for now, don't make this fatal (see bug #337031)
-				#case "$m" in
-				#	": warning: call to .* will always overflow destination buffer") always_overflow=yes ;;
-				#esac
-				if [[ $always_overflow = yes ]] ; then
-					eerror
-					eerror "QA Notice: Package triggers severe warnings which indicate that it"
-					eerror "           may exhibit random runtime failures."
-					eerror
-					eerror "${f}"
-					eerror
-					eerror " Please file a bug about this at http://bugs.gentoo.org/"
-					eerror " with the maintaining herd of the package."
-					eerror
-				else
-					__vecho -ne '\n'
-					eqawarn "QA Notice: Package triggers severe warnings which indicate that it"
-					eqawarn "           may exhibit random runtime failures."
-					eqawarn "${f}"
-					__vecho -ne '\n'
-				fi
+
+		# force C locale to work around slow unicode locales #160234
+		f=$(LC_CTYPE=C LC_COLLATE=C "${grep_cmd}" -E "${joined_msgs}" "${PORTAGE_LOG_FILE}")
+		if [[ -n ${f} ]] ; then
+			abort="yes"
+			# for now, don't make this fatal (see bug #337031)
+			#if [[ ${f} == *'will always overflow destination buffer'* ]]; then
+			#	always_overflow=yes
+			#fi
+			if [[ $always_overflow = yes ]] ; then
+				eerror
+				eerror "QA Notice: Package triggers severe warnings which indicate that it"
+				eerror "           may exhibit random runtime failures."
+				eerror
+				eerror "${f}"
+				eerror
+				eerror " Please file a bug about this at http://bugs.gentoo.org/"
+				eerror " with the maintaining herd of the package."
+				eerror
+			else
+				__vecho -ne '\n'
+				eqawarn "QA Notice: Package triggers severe warnings which indicate that it"
+				eqawarn "           may exhibit random runtime failures."
+				eqawarn "${f}"
+				__vecho -ne '\n'
 			fi
-		done
+		fi
+
 		local cat_cmd=cat
 		[[ $PORTAGE_LOG_FILE = *.gz ]] && cat_cmd=zcat
 		[[ $reset_debug = 1 ]] && set -x


             reply	other threads:[~2014-09-26  2:17 UTC|newest]

Thread overview: 120+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-26  2:17 Brian Dolbec [this message]
  -- strict thread matches above, loose matches on Subject: below --
2014-09-26  2:17 [gentoo-commits] proj/portage:master commit in: bin/install-qa-check.d/ Brian Dolbec
2014-10-19 21:11 Brian Dolbec
2014-10-27 19:28 Zac Medico
2014-10-27 19:28 Zac Medico
2014-11-19 23:26 Michał Górny
2014-12-02 18:44 Brian Dolbec
2015-04-20  5:36 Michał Górny
2015-05-04  5:09 Zac Medico
2015-05-26  3:46 Mike Frysinger
2015-11-11  0:56 Mike Frysinger
2016-05-11 17:55 Mike Frysinger
2016-05-12 21:36 Mike Frysinger
2016-05-12 22:09 Mike Frysinger
2016-06-02  1:40 Zac Medico
2016-06-02  6:12 Zac Medico
2017-08-02  7:24 Zac Medico
2017-10-16 17:21 Zac Medico
2018-01-26  6:40 Michał Górny
2018-07-28  6:41 Zac Medico
2018-08-04 19:36 Zac Medico
2018-08-07 18:49 Zac Medico
2018-08-07 18:49 Zac Medico
2018-09-04 21:16 Michał Górny
2018-10-06  1:15 Zac Medico
2019-05-20  4:41 Zac Medico
2019-05-20  5:01 Zac Medico
2019-11-03 19:45 Zac Medico
2019-11-03 20:02 Zac Medico
2019-11-03 20:15 Zac Medico
2019-11-03 20:15 Zac Medico
2022-04-05  4:33 Sam James
2022-04-10 17:20 Sam James
2022-04-12  2:00 Sam James
2022-04-12  2:00 Sam James
2022-04-12  2:00 Sam James
2022-04-12  2:00 Sam James
2022-04-12  2:00 Sam James
2022-04-12  2:00 Sam James
2022-04-12  2:00 Sam James
2022-04-12  2:00 Sam James
2022-04-28 15:50 Sam James
2022-05-07 17:15 Mike Gilbert
2022-05-15  1:02 Sam James
2022-05-15  1:02 Sam James
2022-07-27  8:18 Fabian Groffen
2022-07-27  8:18 Fabian Groffen
2022-07-28  6:32 Fabian Groffen
2022-08-01 22:39 Sam James
2022-08-01 22:39 Sam James
2022-08-01 22:39 Sam James
2022-08-10  4:36 Sam James
2022-08-10  4:36 Sam James
2022-08-13 17:30 Sam James
2022-08-14 20:43 Sam James
2022-08-19  0:09 Sam James
2022-10-11 19:18 Sam James
2022-10-11 19:18 Sam James
2022-10-11 19:18 Sam James
2022-10-27 23:37 Sam James
2022-10-27 23:37 Sam James
2022-10-27 23:37 Sam James
2022-11-08 23:51 Sam James
2022-11-09  2:25 Sam James
2022-11-09  2:25 Sam James
2022-11-09  2:25 Sam James
2022-11-09  2:25 Sam James
2022-11-09  2:25 Sam James
2022-11-09  2:29 Sam James
2023-02-17  9:12 Sam James
2023-02-17  9:12 Sam James
2023-02-19 12:23 Sam James
2023-02-26 20:22 Sam James
2023-02-27  4:43 Sam James
2023-02-28  3:10 Sam James
2023-04-07 10:41 Sam James
2023-05-11  1:24 Sam James
2023-05-11  1:24 Sam James
2023-05-11  1:24 Sam James
2023-05-11  1:24 Sam James
2023-05-11  1:24 Sam James
2023-05-11  1:24 Sam James
2023-06-29  8:22 Sam James
2023-07-29  3:57 Sam James
2024-04-25  2:59 Mike Gilbert
2024-05-17  6:28 Sam James
2024-05-22 16:56 Sam James
2024-09-09 23:49 Sam James
2024-09-17 14:32 Matt Turner
2024-09-17 14:32 Matt Turner
2024-09-17 14:32 Matt Turner
2024-09-17 14:32 Matt Turner
2025-01-06 10:19 Ulrich Müller
2025-04-24 22:12 Sam James
2025-05-30  7:30 Sam James
2025-05-30  7:36 Sam James
2025-05-30  7:36 Sam James
2025-05-30  7:36 Sam James
2025-05-30  7:36 Sam James
2025-05-30  7:37 Sam James
2025-05-30  7:37 Sam James
2025-05-30  7:37 Sam James
2025-05-30  7:37 Sam James
2025-05-30  7:37 Sam James
2025-05-30  7:37 Sam James
2025-05-30  7:37 Sam James
2025-05-30  7:37 Sam James
2025-05-30  7:37 Sam James
2025-05-30  7:37 Sam James
2025-05-30  7:37 Sam James
2025-05-30  7:37 Sam James
2025-05-30  7:37 Sam James
2025-06-05  3:07 Sam James
2025-06-05 11:22 Sam James
2025-06-05 11:22 Sam James
2025-06-05 11:22 Sam James
2025-06-05 11:22 Sam James
2025-06-09  2:51 Sam James
2025-06-28  2:30 Sam James
2025-06-28  2:30 Sam James

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1411694533.0f245b5f6d32c6bb10f59071e8bff8193a08b85a.dol-sen@gentoo \
    --to=brian.dolbec@gmail.com \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox