From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id +8AZDDNJkWo3iQoAWB0awg (envelope-from ) for ; Fri, 28 Aug 2026 04:39:15 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=aUfLlG2U; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=Cx6qmhKi; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=dW5HeVPo; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=+k3kUwsn; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id EB0161E09B; Fri, 28 Aug 2026 04:39:14 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-5.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [IPv6:2620:52:6:3111::32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id BDAAB1E09B for ; Fri, 28 Aug 2026 04:39:12 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id ACA924BA900B for ; Fri, 28 Aug 2026 08:39:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org ACA924BA900B Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=aUfLlG2U; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=Cx6qmhKi; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=dW5HeVPo; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=+k3kUwsn Received: from smtp-out2.suse.de (smtp-out2.suse.de [IPv6:2a07:de40:b251:101:10:150:64:2]) by sourceware.org (Postfix) with ESMTPS id D706B4BA2E37 for ; Fri, 28 Aug 2026 08:38:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D706B4BA2E37 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=suse.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.de ARC-Filter: OpenARC Filter v1.0.0 sourceware.org D706B4BA2E37 Authentication-Results: sourceware.org; arc=none smtp.remote-ip=2a07:de40:b251:101:10:150:64:2 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1787906320; cv=none; b=Zqg+AU2+8JJkdABHf7Lm8+cE7jlTF1396hkD27YAdE2LcpSAR4sybZ08efpmlsNpFj6ughQTNQtrFzBn8w9mHDYuLHn9iPHeswey1AA0SO7dEJjyg41oI5Ye/1dcRqfWYKK1rY78ZwrWa9tuW4hhJB/43eA1m4ONwKwK25vluz8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1787906320; c=relaxed/simple; bh=nbFmlAOwleM/yxlHZ9jAmqScc6TeuqjaKTKAMU49EZo=; h=DKIM-Signature:DKIM-Signature:DKIM-Signature:DKIM-Signature:From: To:Subject:Date:Message-ID:MIME-Version; b=UJ3mZtowr4MKZY/BedH4IYqNLPvZ05aDhtNaZyC1xJkYr22+JXaXwNUoipYIWAlTF1aILH3FadkBOO/uDcX7eWGOuv24lhRNktvfrGAgzwVBNMx9KZyUMdKWCFPRiXg2t1tUkoytAJEMbRphn2/B9C1TwRaFbeLPAZA10S4jCWw= ARC-Authentication-Results: i=1; sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=aUfLlG2U; dkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=Cx6qmhKi; dkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de header.a=rsa-sha256 header.s=susede2_rsa header.b=dW5HeVPo; dkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256 header.s=susede2_ed25519 header.b=+k3kUwsn DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D706B4BA2E37 Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 489C31FB62 for ; Fri, 28 Aug 2026 08:38:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1787906314; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=Z4vMLRDPPsPLFIc1SV2aDp1y++Vgda+Ceb75sAFpFdM=; b=aUfLlG2Uk08j5eMlaxxUDxEDGUC+9Rdjf2Ol3ZGh4daNDBlRvKFQvccNQjVbPaLOud0M/n ZzjFeTuNKIp1Usw4rdEAw5/WUqP51dQkUdoBvYOer+afhdvmG/Kdogc7eDtfWAGxkSLwOr 8lvYQNWwMqK/nZp+nbfNUDXnMgRqCZk= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1787906314; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=Z4vMLRDPPsPLFIc1SV2aDp1y++Vgda+Ceb75sAFpFdM=; b=Cx6qmhKit+7bC4XwDJOAlaR8A1hyVsS8mpCyouZlCuZ9yShfx6ULqoOCdy1P4ivdy7tJq9 uP0QjmEarc3FV2Aw== Authentication-Results: smtp-out2.suse.de; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=dW5HeVPo; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=+k3kUwsn DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1787906310; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=Z4vMLRDPPsPLFIc1SV2aDp1y++Vgda+Ceb75sAFpFdM=; b=dW5HeVPonCPNyrZGJFCwG8jTOVTUB7h9rJ8qceKZW3RJunfE65R3pAYOhz61NLyF5sR7JZ rRhr37V7iISNXWFpwLIMr58MK6JLV4ondVk4H3l1ANtV0P3K8MXM1h/UDXc7i4eusbAp0e NKOCA4NtEWOA95Lj/ZwqH/MjQkRQJSs= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1787906310; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=Z4vMLRDPPsPLFIc1SV2aDp1y++Vgda+Ceb75sAFpFdM=; b=+k3kUwsnYcKn0ZzDBPJnFVR0i3/uQdETb7ETn3wj4CziLcTcyHxEimJy16wD3rjBvRvZma hgHMFkQMlL4mOzCw== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 19FAC13675 for ; Fri, 28 Aug 2026 08:38:30 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id ZqHYBAZJkWoARgAAD6G6ig (envelope-from ) for ; Fri, 28 Aug 2026 08:38:30 +0000 From: Tom de Vries To: gdb-patches@sourceware.org Subject: [pushed] [gdb] Make po/gdbtext shellcheck-clean Date: Fri, 28 Aug 2026 10:38:29 +0200 Message-ID: <20260828083829.3189700-1-tdevries@suse.de> X-Mailer: git-send-email 2.51.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Action: no action X-Rspamd-Server: rspamd2.dmz-prg2.suse.org X-Rspamd-Queue-Id: 489C31FB62 X-Spamd-Result: default: False [-3.01 / 50.00]; BAYES_HAM(-3.00)[100.00%]; NEURAL_HAM_LONG(-1.00)[-1.000]; MID_CONTAINS_FROM(1.00)[]; R_MISSING_CHARSET(0.50)[]; R_DKIM_ALLOW(-0.20)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; NEURAL_HAM_SHORT(-0.20)[-0.999]; MIME_GOOD(-0.10)[text/plain]; MX_GOOD(-0.01)[]; RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:104:10:150:64:97:from]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; ARC_NA(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; FROM_HAS_DN(0.00)[]; MIME_TRACE(0.00)[0:+]; FROM_EQ_ENVFROM(0.00)[]; RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[2a07:de40:b281:106:10:150:64:167:received]; DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:rdns,imap1.dmz-prg2.suse.org:helo,suse.de:dkim,suse.de:mid]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_NONE(0.00)[]; RCVD_TLS_ALL(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[gdb-patches@sourceware.org]; DNSWL_BLOCKED(0.00)[2a07:de40:b281:104:10:150:64:97:from]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; DKIM_TRACE(0.00)[suse.de:+] X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org Make po/gdbtext shellcheck-clean. First: - add missing quotes in a few places - do "find *" -> "find -- *" Then, restructure the code into two functions, leaving just: ... find_files "$@" \ | run_xgettext "$@" ... and fix: ... In gdb/po/gdbtext line 38: ${__directories} \ ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting. ... by eliminating the variable and using "set --" [1] instead. Tested on x86_64-linux by running make po/gdb.pot and comparing po/gdb.pot with and without the patch. Also add an entry in gdb/.gitattributes to ensure whitespace errors are detected. [1] https://www.shellcheck.net/wiki/SC2086 --- gdb/.gitattributes | 1 + gdb/contrib/shellcheck.sh | 1 - gdb/po/gdbtext | 77 +++++++++++++++++++++++++-------------- 3 files changed, 51 insertions(+), 28 deletions(-) diff --git a/gdb/.gitattributes b/gdb/.gitattributes index f176977e7aa..9cb0318dca8 100644 --- a/gdb/.gitattributes +++ b/gdb/.gitattributes @@ -20,6 +20,7 @@ aclocal.m4 -whitespace *.[ly] whitespace=space-before-tab,indent-with-non-tab,trailing-space *.def whitespace=space-before-tab,indent-with-non-tab,trailing-space +po/gdbtext whitespace=space-before-tab,indent-with-non-tab,trailing-space # Imported files. exc_request.defs -whitespace diff --git a/gdb/contrib/shellcheck.sh b/gdb/contrib/shellcheck.sh index 64a6b8b6b22..f7f7bf9efbf 100755 --- a/gdb/contrib/shellcheck.sh +++ b/gdb/contrib/shellcheck.sh @@ -47,7 +47,6 @@ for f in "$@"; do | gdb/contrib/gdb-add-index.sh \ | gdb/gdb_buildall.sh \ | gdb/gdb_mbuild.sh \ - | gdb/po/gdbtext \ | gdb/regformats/regdat.sh \ | gdb/testsuite/lib/pdtrace.in) # Skip unclean files. diff --git a/gdb/po/gdbtext b/gdb/po/gdbtext index 37cd6dd3ae9..152a0dba0c4 100755 --- a/gdb/po/gdbtext +++ b/gdb/po/gdbtext @@ -9,31 +9,54 @@ fi xgettext=$1 ; shift package=$1 ; shift -for d in "$@" -do - __directories="$__directories --directory=$d" -done +find_files () +{ + for d in "$@"; do + ( + cd "$d" + find -- * \ + -name '*-stub.c' -prune -o \ + -name 'testsuite' -prune -o \ + -name 'init.c' -prune -o \ + -name '*.[hc]' -print -o \ + -name '*.cc' -print + ) + done +} -for d in "$@" -do - ( - cd $d - find * \ - -name '*-stub.c' -prune -o \ - -name 'testsuite' -prune -o \ - -name 'init.c' -prune -o \ - -name '*.[hc]' -print -o \ - -name '*.cc' -print - ) -done | ${xgettext} \ - --default-domain=${package} \ - --copyright-holder="Free Software Foundation, Inc." \ - --add-comments \ - --files-from=- \ - --force-po \ - --debug \ - --language=c++ \ - --keyword=_ \ - --keyword=N_ \ - ${__directories} \ - -o po/${package}.pot +run_xgettext () +{ + # Transform: + # "$@" == "arg1" "arg2" ... + # into: + # "$@" == "--directory=arg1" "--directory=arg2" ... + first=true + for d in "$@"; do + if $first; then + # Clear "$@", before we start appending to it. + set -- + first=false + fi + + # Append to "$@". + set -- \ + "$@" \ + --directory="$d" + done + + ${xgettext} \ + --default-domain="${package}" \ + --copyright-holder="Free Software Foundation, Inc." \ + --add-comments \ + --files-from=- \ + --force-po \ + --debug \ + --language=c++ \ + --keyword=_ \ + --keyword=N_ \ + "$@" \ + -o po/"${package}".pot +} + +find_files "$@" \ + | run_xgettext "$@" base-commit: c562e4ffa94c50ee974200a7457e435cec411a43 -- 2.51.0