Re: [PATCH RFC net-next v1 5/6] tools: ynl: ethtool.py: Make tool invokable from any CWD

From: Jacob Keller
Date: Fri Feb 23 2024 - 16:09:00 EST




On 2/23/2024 11:24 AM, Rahul Rameshbabu wrote:
> ethtool.py depends on yml files in a specific location of the linux kernel
> tree. Using relative lookup for those files means that ethtool.py would
> need to be run under tools/net/ynl/. Lookup needed yml files without
> depending on the current working directory that ethtool.py is invoked from.
>
> Signed-off-by: Rahul Rameshbabu <rrameshbabu@xxxxxxxxxx>
> Reviewed-by: Dragos Tatulea <dtatulea@xxxxxxxxxx>
> ---
> tools/net/ynl/ethtool.py | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/tools/net/ynl/ethtool.py b/tools/net/ynl/ethtool.py
> index 6c9f7e31250c..44ba3ba58ed9 100755
> --- a/tools/net/ynl/ethtool.py
> +++ b/tools/net/ynl/ethtool.py
> @@ -6,6 +6,7 @@ import json
> import pprint
> import sys
> import re
> +import os
>
> from lib import YnlFamily
>
> @@ -152,8 +153,11 @@ def main():
> global args
> args = parser.parse_args()
>
> - spec = '../../../Documentation/netlink/specs/ethtool.yaml'
> - schema = '../../../Documentation/netlink/genetlink-legacy.yaml'
> + script_abs_dir = os.path.dirname(os.path.abspath(sys.argv[0]))
> + spec = os.path.join(script_abs_dir,
> + '../../../Documentation/netlink/specs/ethtool.yaml')
> + schema = os.path.join(script_abs_dir,
> + '../../../Documentation/netlink/genetlink-legacy.yaml')
>

This seems like a worthwhile improvement to make the tool more usable.

Thanks,
Jake

> ynl = YnlFamily(spec, schema)
>