All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Stancek <jstancek@redhat.com>
To: donald.hunter@gmail.com, stfomichev@gmail.com, kuba@kernel.org,
	jdamato@fastly.com
Cc: pabeni@redhat.com, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org, jstancek@redhat.com
Subject: [PATCH v4 0/4] tools: ynl: add install target
Date: Wed,  8 Jan 2025 14:56:13 +0100	[thread overview]
Message-ID: <cover.1736343575.git.jstancek@redhat.com> (raw)

This series adds an install target for ynl. The python code
is moved to a subdirectory, so it can be used as a package
with flat layout, as well as directly from the tree.

To try the install as a non-root user you can run:
  $ mkdir /tmp/myroot
  $ make DESTDIR=/tmp/myroot install

  $ PATH="/tmp/myroot/usr/bin:$PATH" PYTHONPATH="$(ls -1d /tmp/myroot/usr/lib/python*/site-packages)" ynl --help

Proposed install layout is described in last patch.

Changes in v4:
- 1/4 tools: ynl: move python code to separate sub-directory
  no code changes, added Reviewed-by tag from v3
- 2/4 tools: ynl: add initial pyproject.toml for packaging
  no longer installs ynl-gen-c and ynl-gen-rst
  updated commit message
- 3/4 tools: ynl: add install target for generated content
  fixed mix of tabs and spaces in Makefile
  factored out SPECS_DIR so the path is not repeated
  fixed TOOL2->TOOL_RST
  moved clear of .rst to distclean
- 4/4 tools: ynl: add main install target
  no code changes, added Reviewed-by tags from v3

Changes in v3:
- dropped symlinks
- added install-headers install-rsts install-specs to PHONY target in generated/Makefile
- install headers from lib and generated directories to /usr/include/ynl

Changes in v2:
- squashed 1st and 2nd patch together
- added symlinks for original user-facing scripts for backwards compatibility
- updated also Documentation and selftests references
  (tested Doc build and selftests ping.py test)


Jan Stancek (4):
  tools: ynl: move python code to separate sub-directory
  tools: ynl: add initial pyproject.toml for packaging
  tools: ynl: add install target for generated content
  tools: ynl: add main install target

 Documentation/Makefile                        |  2 +-
 Documentation/networking/multi-pf-netdev.rst  |  4 +-
 Documentation/networking/napi.rst             |  4 +-
 .../networking/netlink_spec/readme.txt        |  2 +-
 .../userspace-api/netlink/intro-specs.rst     |  8 +--
 tools/net/ynl/Makefile                        | 29 ++++++++++-
 tools/net/ynl/generated/.gitignore            |  1 +
 tools/net/ynl/generated/Makefile              | 51 ++++++++++++++++---
 tools/net/ynl/lib/.gitignore                  |  1 -
 tools/net/ynl/lib/Makefile                    |  1 -
 tools/net/ynl/pyproject.toml                  | 24 +++++++++
 tools/net/ynl/pyynl/.gitignore                |  2 +
 tools/net/ynl/pyynl/__init__.py               |  0
 tools/net/ynl/{ => pyynl}/cli.py              |  0
 tools/net/ynl/{ => pyynl}/ethtool.py          |  0
 tools/net/ynl/{ => pyynl}/lib/__init__.py     |  0
 tools/net/ynl/{ => pyynl}/lib/nlspec.py       |  0
 tools/net/ynl/{ => pyynl}/lib/ynl.py          |  0
 .../ynl/{ynl-gen-c.py => pyynl/ynl_gen_c.py}  |  0
 .../{ynl-gen-rst.py => pyynl/ynl_gen_rst.py}  |  0
 tools/net/ynl/ynl-regen.sh                    |  2 +-
 tools/testing/selftests/net/lib/py/ynl.py     |  4 +-
 tools/testing/selftests/net/ynl.mk            |  3 +-
 23 files changed, 113 insertions(+), 25 deletions(-)
 create mode 100644 tools/net/ynl/pyproject.toml
 create mode 100644 tools/net/ynl/pyynl/.gitignore
 create mode 100644 tools/net/ynl/pyynl/__init__.py
 rename tools/net/ynl/{ => pyynl}/cli.py (100%)
 rename tools/net/ynl/{ => pyynl}/ethtool.py (100%)
 rename tools/net/ynl/{ => pyynl}/lib/__init__.py (100%)
 rename tools/net/ynl/{ => pyynl}/lib/nlspec.py (100%)
 rename tools/net/ynl/{ => pyynl}/lib/ynl.py (100%)
 rename tools/net/ynl/{ynl-gen-c.py => pyynl/ynl_gen_c.py} (100%)
 rename tools/net/ynl/{ynl-gen-rst.py => pyynl/ynl_gen_rst.py} (100%)

-- 
2.43.0


             reply	other threads:[~2025-01-08 13:56 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-08 13:56 Jan Stancek [this message]
2025-01-08 13:56 ` [PATCH v4 1/4] tools: ynl: move python code to separate sub-directory Jan Stancek
2025-01-08 13:56 ` [PATCH v4 2/4] tools: ynl: add initial pyproject.toml for packaging Jan Stancek
2025-01-09 12:13   ` Donald Hunter
2025-01-08 13:56 ` [PATCH v4 3/4] tools: ynl: add install target for generated content Jan Stancek
2025-01-09 12:20   ` Donald Hunter
2025-01-08 13:56 ` [PATCH v4 4/4] tools: ynl: add main install target Jan Stancek
2025-01-09 21:00 ` [PATCH v4 0/4] tools: ynl: add " patchwork-bot+netdevbpf

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=cover.1736343575.git.jstancek@redhat.com \
    --to=jstancek@redhat.com \
    --cc=donald.hunter@gmail.com \
    --cc=jdamato@fastly.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=stfomichev@gmail.com \
    /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.