mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Ian Abbott <abbotti@mev.co.uk>
To: ptxdist@pengutronix.de
Cc: Michael Olbrich <m.olbrich@pengutronix.de>
Subject: Re: [ptxdist] [PATCH v2] template-src-linux-driver: Only install driver if selected
Date: Fri, 18 Jan 2019 17:37:00 +0000	[thread overview]
Message-ID: <b18ca18d-50a0-0ca4-ce99-d648c7973b7d@mev.co.uk> (raw)
In-Reply-To: <20181213120748.9012-1-abbotti@mev.co.uk>

On 13/12/2018 12:07, Ian Abbott wrote:
> If a local package "foo-mod" for a Linux kernel module is selected by a
> local tristate configuration option PTXCONF_FOO_MOD, then based on the
> template for Linux drivers, it would include the following in its
> foo-mod.make file:
> 
> ifdef PTXCONF_FOO_MOD
> $(STATEDIR)/kernel.targetinstall.post: $(STATEDIR)/foo-mod.targetinstall
> endif
> 
> However, this rule will be invoked even if the PTXCONF_FOO_MOD option
> has been configured with the tristate option 'm' and has not been
> changed to 'y' by a selected_collectionconfig.  This causes the Linux
> kernel module to be built and installed unintentionally.  To prevent
> that happening, the above lines in the foo-mod.make file can be changed
> as follows (using a conditional test suggested by Michael Olbrich):
> 
> ifneq ($(filter foo-mod,$(PTX_PACKAGES_SELECTED)),)
> $(STATEDIR)/kernel.targetinstall.post: $(STATEDIR)/foo-mod.targetinstall
> endif
> 
> This patch changes the template for Linux driver packages in accordance
> with the above change.
> 
> Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
> Cc: Michael Olbrich <m.olbrich@pengutronix.de>
> ---
> v2: Changed the conditional test to that suggested by Michael Olbrich in
> Message-ID <20181212111846.zb3kxfs6jsc5rgef@pengutronix.de> to avoid
> breaking the build if the package is configured using the tristate 'm'
> option and no collection is selected.
> 
>   rules/templates/template-src-linux-driver-make | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/rules/templates/template-src-linux-driver-make b/rules/templates/template-src-linux-driver-make
> index e06a22497..c13857924 100644
> --- a/rules/templates/template-src-linux-driver-make
> +++ b/rules/templates/template-src-linux-driver-make
> @@ -22,7 +22,7 @@ PACKAGES-$(PTXCONF_@PACKAGE@) += @package@
>   @PACKAGE@_DIR		:= $(BUILDDIR)/$(@PACKAGE@)
>   @PACKAGE@_LICENSE	:= unknown
>   
> -ifdef PTXCONF_@PACKAGE@
> +ifneq ($(filter @package@,$(PTX_PACKAGES_SELECTED)),)
>   $(STATEDIR)/kernel.targetinstall.post: $(STATEDIR)/@package@.targetinstall
>   endif
>   
> 

I know this is in 2019.01.0 now, but I don't think the new conditional 
test for adding this kernel.targetinstall.post dependency is actually 
working properly.  I've had a few `ptxdist go` commands running with the 
-j N option, and quite often the kernel.targetinstall.post completes 
before the @package@.targetinstall, meaning that the module does not get 
installed to the 
${PTXDIST_PLATFORMDIR}/root/lib/modules/$UNAME_RELEASE/extra as it 
should (where $UNAME_RELEASE is the kernel `uname -r` value).

The conditional test from v1 of the patch:

ifdef PTXCONF_@PACKAGE@)

still works for me, but will break the build for other people.

I'll try and work out why the new conditional test isn't working for me 
reliably (especially when building with parallel jobs), but I welcome 
any suggestions to try and fix it properly.

-- 
-=( Ian Abbott <abbotti@mev.co.uk> || Web: www.mev.co.uk )=-
-=( MEV Ltd. is a company registered in England & Wales. )=-
-=( Registered number: 02862268.  Registered address:    )=-
-=( 15 West Park Road, Bramhall, STOCKPORT, SK7 3JZ, UK. )=-

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

  reply	other threads:[~2019-01-18 17:37 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-12 10:42 [ptxdist] [PATCH] " Ian Abbott
2018-12-12 11:18 ` Michael Olbrich
2018-12-13 12:02   ` Ian Abbott
2018-12-13 12:07   ` [ptxdist] [PATCH v2] " Ian Abbott
2019-01-18 17:37     ` Ian Abbott [this message]
2019-01-18 20:18       ` Ian Abbott
2019-01-21  8:02         ` Michael Olbrich
2019-01-21 11:19           ` Ian Abbott

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=b18ca18d-50a0-0ca4-ce99-d648c7973b7d@mev.co.uk \
    --to=abbotti@mev.co.uk \
    --cc=m.olbrich@pengutronix.de \
    --cc=ptxdist@pengutronix.de \
    /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