From: Sergei Litvin <litvindev@gmail.com>
To: miguel.ojeda.sandonis@gmail.com
Cc: rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-kbuild@vger.kernel.org, ojeda@kernel.org, boqun@kernel.org,
gary@garyguo.net, bjorn3_gh@protonmail.com, lossin@kernel.org,
a.hindborg@kernel.org, aliceryhl@google.com, tmgross@umich.edu,
dakr@kernel.org, daniel.almeida@collabora.com, tamird@kernel.org,
acourbot@nvidia.com, work@onurozkan.dev, nathan@kernel.org,
nsc@kernel.org, Sergei Litvin <litvindev@gmail.com>
Subject: [PATCH v3] scripts/tags.sh: Add support for rust source files
Date: Tue, 14 Jul 2026 14:24:41 +0200 [thread overview]
Message-ID: <20260714122441.78158-1-litvindev@gmail.com> (raw)
In-Reply-To: <CANiq72k0RbkWk=8hiNzHUmFWr=6OA2DBHAUew4OfZb_Umb=6hA@mail.gmail.com>
When executing the command `make cscope`, the `cscope.files` file generated
by it includes only filenames with the extensions *.h, *.c, *.S and not includes
filenames with *.rs extensions.
To fix this, modify the functions `find_arch_sources()`,
`find_arch_include_sources()`, `find_include_sources()`, and
`find_other_sources()` so that they can accept an unlimited number of filename
patterns as parameters for the search. Add the `setup_name_pattern()` function
to convert these filename pattern parameters into a list of parameters that can
be passed to the `find` utility via the new `pattern` variable.
Cc: Miguel Ojeda <ojeda@kernel.org>
Cc: Boqun Feng <boqun@kernel.org>
Cc: Gary Guo <gary@garyguo.net>
Cc: Björn Roy Baron <bjorn3_gh@protonmail.com>
Cc: Benno Lossin <lossin@kernel.org>
Cc: Andreas Hindborg <a.hindborg@kernel.org>
Cc: Alice Ryhl <aliceryhl@google.com>
Cc: Trevor Gross <tmgross@umich.edu>
Cc: Danilo Krummrich <dakr@kernel.org>
Cc: Daniel Almeida <daniel.almeida@collabora.com>
Cc: Tamir Duberstein <tamird@kernel.org>
Cc: Alexandre Courbot <acourbot@nvidia.com>
Cc: Onur Özkan <work@onurozkan.dev>
Cc: nsc@kernel.org
Cc: nathan@kernel.org
Signed-off-by: Sergei Litvin <litvindev@gmail.com>
---
This is the second part of this patch:
https://lore.kernel.org/lkml/20260602121521.11650-1-litvindev@gmail.com/
which I have split into two parts, as suggested by Nicolas Schier here:
https://lore.kernel.org/lkml/akVkIrcpNxZrrfii@levanger/
Changes since V2:
https://lore.kernel.org/lkml/20260714083709.69517-1-litvindev@gmail.com/
as suggested by Miguel Ojeda here:
https://lore.kernel.org/lkml/CANiq72k0RbkWk=8hiNzHUmFWr=6OA2DBHAUew4OfZb_Umb=6hA@mail.gmail.com/
- Remove "Cc: stable@vger.kernel.org" tag, because this commit introduces a new
feature.
---
scripts/tags.sh | 40 +++++++++++++++++++++++++++++++---------
1 file changed, 31 insertions(+), 9 deletions(-)
diff --git a/scripts/tags.sh b/scripts/tags.sh
index c9dc2763a505..41e38df96984 100755
--- a/scripts/tags.sh
+++ b/scripts/tags.sh
@@ -46,13 +46,31 @@ elif [ "${ALLSOURCE_ARCHS}" = "all" ]; then
ALLSOURCE_ARCHS=$(find ${tree}arch/ -mindepth 1 -maxdepth 1 -type d -printf '%f ')
fi
+setup_name_pattern()
+{
+ pattern=()
+ for ext; do
+ if [ ${#pattern[@]} -gt 0 ]; then
+ pattern+=("-o" "-name" "$ext")
+ else
+ pattern+=("(" "-name" "$ext")
+ fi
+ done
+ if [ ${#pattern[@]} -gt 0 ]; then
+ pattern+=(")")
+ fi
+}
+
# find sources in arch/$1
find_arch_sources()
{
for i in $archincludedir; do
local prune="$prune ( -path $i ) -prune -o"
done
- find ${tree}arch/$1 $ignore $prune -name "$2" -not -type l -print;
+ local src=${tree}arch/$1
+ shift
+ setup_name_pattern "$@"
+ find $src $ignore $prune "${pattern[@]}" -not -type l -print;
}
# find sources in arch/$1/include
@@ -61,14 +79,17 @@ find_arch_include_sources()
local include=$(find ${tree}arch/$1/ -name include -type d -print);
if [ -n "$include" ]; then
archincludedir="$archincludedir $include"
- find $include $ignore -name "$2" -not -type l -print;
+ shift
+ setup_name_pattern "$@"
+ find $include $ignore "${pattern[@]}" -not -type l -print;
fi
}
# find sources in include/
find_include_sources()
{
- find ${tree}include $ignore -name config -prune -o -name "$1" \
+ setup_name_pattern "$@"
+ find ${tree}include $ignore -name config -prune -o "${pattern[@]}" \
-not -type l -print;
}
@@ -76,23 +97,24 @@ find_include_sources()
# we could benefit from a list of dirs to search in here
find_other_sources()
{
+ setup_name_pattern "$@"
find ${tree}* $ignore \
\( -path ${tree}include -o -path ${tree}arch -o -name '.tmp_*' \) -prune -o \
- -name "$1" -not -type l -print;
+ "${pattern[@]}" -not -type l -print;
}
all_sources()
{
- find_arch_include_sources ${SRCARCH} '*.[chS]'
+ find_arch_include_sources ${SRCARCH} '*.[chS]' '*.rs'
if [ -n "$archinclude" ]; then
- find_arch_include_sources $archinclude '*.[chS]'
+ find_arch_include_sources $archinclude '*.[chS]' '*.rs'
fi
- find_include_sources '*.[chS]'
+ find_include_sources '*.[chS]' '*.rs'
for arch in $ALLSOURCE_ARCHS
do
- find_arch_sources $arch '*.[chS]'
+ find_arch_sources $arch '*.[chS]' '*.rs'
done
- find_other_sources '*.[chS]'
+ find_other_sources '*.[chS]' '*.rs'
}
all_compiled_sources()
--
2.55.0
next prev parent reply other threads:[~2026-07-14 12:25 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <https://lore.kernel.org/lkml/akVkIrcpNxZrrfii@levanger/>
2026-07-05 17:59 ` [PATCH] scripts/tags.sh: Prevent binary files appearing in cscope.files Sergei Litvin
2026-07-05 18:05 ` Miguel Ojeda
2026-07-14 8:33 ` [PATCH v2] " Sergei Litvin
2026-07-14 14:00 ` Nicolas Schier
2026-07-14 14:09 ` Miguel Ojeda
2026-07-14 8:37 ` [PATCH v2] scripts/tags.sh: Add support for rust source files Sergei Litvin
2026-07-14 9:19 ` Miguel Ojeda
2026-07-14 12:24 ` Sergei Litvin [this message]
2026-07-14 12:52 ` [PATCH v4] " Sergei Litvin
2026-07-14 14:10 ` Nicolas Schier
2026-07-14 14:16 ` Miguel Ojeda
2026-07-05 17:59 ` [PATCH] " Sergei Litvin
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=20260714122441.78158-1-litvindev@gmail.com \
--to=litvindev@gmail.com \
--cc=a.hindborg@kernel.org \
--cc=acourbot@nvidia.com \
--cc=aliceryhl@google.com \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun@kernel.org \
--cc=dakr@kernel.org \
--cc=daniel.almeida@collabora.com \
--cc=gary@garyguo.net \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lossin@kernel.org \
--cc=miguel.ojeda.sandonis@gmail.com \
--cc=nathan@kernel.org \
--cc=nsc@kernel.org \
--cc=ojeda@kernel.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=tamird@kernel.org \
--cc=tmgross@umich.edu \
--cc=work@onurozkan.dev \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.