From: Petr Vorel <pvorel@suse.cz>
To: Andrea Cervesato <andrea.cervesato@suse.com>
Cc: "Ricardo B . Marlière" <rbm@suse.com>, ltp@lists.linux.it
Subject: Re: [LTP] [PATCH v5 3/3] doc/Makefile: Allow to create and use .venv
Date: Tue, 8 Apr 2025 12:14:12 +0200 [thread overview]
Message-ID: <20250408101412.GA174986@pevik> (raw)
In-Reply-To: <a2197905-94b2-4f84-a19a-fb26b2ff65f4@suse.com>
> Hi Petr,
> some comments below.
> On 4/7/25 17:01, Petr Vorel wrote:
> > Add 'setup' target (alias to '.venv') to create virtualenv directory.
> > This is an optional target (not run by default).
> > If .venv exists, it's used in other targets, activation supports only
> > fish and bash/zsh (known shells used by LTP developers, csh/tcsh is
> > ignored atm).
> > This helps to use virtualenv for development, but avoid using it by
> > default (readthedoc uses container with virtualenv, creating it would be
> > waste of time).
> > Add 'distclean' target which removes also .venv/ directory.
> > Reviewed-by: Andrea Cervesato <andrea.cervesato@suse.com>
I hope you still agree with this ^. Or shell I wait for your ack?
> > Signed-off-by: Petr Vorel <pvorel@suse.cz>
> > ---
> > * The same as v4
> > NOTE: doc/Makefile should be rewritten to use generic_leaf_target.mk,
> > then integration to the top level Makefile will not be a hack).
> > doc/Makefile | 22 ++++++++++++++++++++--
> > 1 file changed, 20 insertions(+), 2 deletions(-)
> > diff --git a/doc/Makefile b/doc/Makefile
> > index 3c5682ad00..2062d6e935 100644
> > --- a/doc/Makefile
> > +++ b/doc/Makefile
> > @@ -5,15 +5,33 @@ top_srcdir ?= ..
> > include $(top_srcdir)/include/mk/env_pre.mk
> > +PYTHON := python3
> > +VENV_DIR := .venv
> > +
> > +# only fish and bash/zsh supported
> > +VENV_CMD := if [ "x${FISH_VERSION}" != "x" ]; then . $(VENV_DIR)/bin/activate.fish; else . $(VENV_DIR)/bin/activate; fi
> I had to think carefully about this, but I think you are right. It's better
> not to over-complicate this and to support other shells but bash.
> make command can override environment variables, so it's better to use that
> feature instead of complicating Makefile that can be really messy when
> adding new features.
This supports fish, bash and zsh. If anybody asks for t{,csh} or anything else
in .venv/bin/activate* it can be added.
> > +
> > +RUN_VENV := if [ -d $(VENV_DIR) ]; then $(VENV_CMD); fi
> > +
> > +$(VENV_DIR):
> > + $(PYTHON) -m virtualenv $(VENV_DIR)
> > + $(VENV_CMD) && pip install -r requirements.txt
> > +
> > +.PHONY: setup
> > +setup: $(VENV_DIR)
> > +
> > ${abs_top_builddir}/metadata/ltp.json:
> > $(MAKE) -C ${abs_top_builddir}/metadata
> > all: ${abs_top_builddir}/metadata/ltp.json
> > - sphinx-build -b html . html
> > + $(RUN_VENV); sphinx-build -b html . html
> > spelling:
> > - sphinx-build -b spelling -d build/doctree . build/spelling
> > + $(RUN_VENV); sphinx-build -b spelling -d build/doctree . build/spelling
> > clean:
> > rm -rf html/ build/ _static/syscalls.rst _static/tests.rst syscalls.tbl \
> > ${abs_top_builddir}/metadata/ltp.json
> > +
> > +distclean: clean
> > + rm -rf $(VENV_DIR)
> The rest looks fine.
Thanks!
Kind regards,
Petr
> Andrea
--
Mailing list info: https://lists.linux.it/listinfo/ltp
next prev parent reply other threads:[~2025-04-08 10:14 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-07 15:01 [LTP] [PATCH v5 0/3] Update doc related Makefile Petr Vorel
2025-04-07 15:01 ` [LTP] [PATCH v5 1/3] doc/Makefile: Remove also metadata/ltp.json Petr Vorel
2025-04-07 15:01 ` [LTP] [PATCH v5 2/3] doc: Add sphinx to requirements.txt Petr Vorel
2025-04-08 6:35 ` Andrea Cervesato via ltp
2025-04-07 15:01 ` [LTP] [PATCH v5 3/3] doc/Makefile: Allow to create and use .venv Petr Vorel
2025-04-08 6:33 ` Andrea Cervesato via ltp
2025-04-08 10:14 ` Petr Vorel [this message]
2025-04-08 11:01 ` Andrea Cervesato via ltp
2025-04-08 11:05 ` Petr Vorel
2025-04-08 11:10 ` Petr Vorel
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=20250408101412.GA174986@pevik \
--to=pvorel@suse.cz \
--cc=andrea.cervesato@suse.com \
--cc=ltp@lists.linux.it \
--cc=rbm@suse.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox