Message ID | 20230822115000.2471206-1-jiri@resnulli.us (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next] tools: ynl-gen: add "spec" arg to regen allowing to use only selected spec | expand |
On Tue, 22 Aug 2023 13:50:00 +0200 Jiri Pirko wrote:
> $ tools/net/ynl/ynl-regen.sh -s Documentation/netlink/specs/devlink.yaml -f
touch Documentation/netlink/specs/devlink.yaml && ./tools/net/ynl/ynl-regen.sh
?
Tue, Aug 22, 2023 at 07:09:40PM CEST, kuba@kernel.org wrote: >On Tue, 22 Aug 2023 13:50:00 +0200 Jiri Pirko wrote: >> $ tools/net/ynl/ynl-regen.sh -s Documentation/netlink/specs/devlink.yaml -f > >touch Documentation/netlink/specs/devlink.yaml && ./tools/net/ynl/ynl-regen.sh Ah, leveraging the skip. Okay, makes sense. > >?
diff --git a/tools/net/ynl/ynl-regen.sh b/tools/net/ynl/ynl-regen.sh index bdba24066cf1..ee77f6fcad60 100755 --- a/tools/net/ynl/ynl-regen.sh +++ b/tools/net/ynl/ynl-regen.sh @@ -5,11 +5,13 @@ TOOL=$(dirname $(realpath $0))/ynl-gen-c.py force= search= +spec= while [ ! -z "$1" ]; do case "$1" in -f ) force=yes; shift ;; -p ) search=$2; shift 2 ;; + -s ) spec=$2; shift 2 ;; * ) echo "Unrecognized option '$1'"; exit 1 ;; esac done @@ -24,6 +26,10 @@ for f in $files; do params=( $(git grep -B1 -h '/\* YNL-GEN' $f | sed 's@/\*\(.*\)\*/@\1@') ) args=$(sed -n 's@/\* YNL-ARG \(.*\) \*/@\1@p' $f) + if [ ! -z "$spec" -a "$spec" != "${params[0]}" ]; then + continue + fi + if [ $f -nt ${params[0]} -a -z "$force" ]; then echo -e "\tSKIP $f" continue