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 20:18:39 +0000 [thread overview]
Message-ID: <74e4808c-b424-8785-8e40-9d385407976c@mev.co.uk> (raw)
In-Reply-To: <b18ca18d-50a0-0ca4-ce99-d648c7973b7d@mev.co.uk>
On 18/01/2019 17:37, Ian Abbott wrote:
> 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.
>
The following conditional test seems to work, but it's quite ugly:
ifeq ($(and $(PTXCONF_@PACKAGE@),$(if
$(PTX_COLLECTION),$(PTXCONF_@PACKAGE@),y)),y)
--
-=( 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
next prev parent reply other threads:[~2019-01-18 20:18 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
2019-01-18 20:18 ` Ian Abbott [this message]
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=74e4808c-b424-8785-8e40-9d385407976c@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