2024-04-03 21:32:28

by Rahul Rameshbabu

[permalink] [raw]
Subject: [PATCH RFC v2 5/6] tools: ynl: ethtool.py: Make tool invokable from any CWD

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 <[email protected]>
---
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')

ynl = YnlFamily(spec, schema)

--
2.42.0



2024-04-03 21:35:55

by Rahul Rameshbabu

[permalink] [raw]
Subject: Re: [PATCH RFC v2 5/6] tools: ynl: ethtool.py: Make tool invokable from any CWD

On Wed, 03 Apr, 2024 14:28:44 -0700 Rahul Rameshbabu <[email protected]> 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 <[email protected]>
> ---

This patch should be dropped. Accidentally had it in my mail queue.

Link: https://lore.kernel.org/netdev/[email protected]/