Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] core/pkg-generic: host variants inherits target's override-srcdir
@ 2015-07-05 11:56 Yann E. MORIN
  2015-07-06 22:36 ` Arnout Vandecappelle
  0 siblings, 1 reply; 5+ messages in thread
From: Yann E. MORIN @ 2015-07-05 11:56 UTC (permalink / raw)
  To: buildroot

When a package has both a target and a host variants, and there is an
override-srcdir set for the target variant, the host variant should
inherit the target's override-srcdir, unless explicitly set, like we do
for all other target-variant properties.

Reported-by: Mike <mikez@OpenPlayer.org>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/pkg-generic.mk | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index 9fe01b8..926d594 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -310,6 +310,12 @@ else
   $(2)_VERSION := $$(call sanitize,$$($(2)_VERSION))
 endif
 
+ifndef $(2)_OVERRIDE_SRCDIR
+  ifdef $(3)_OVERRIDE_SRCDIR
+    $(2)_OVERRIDE_SRCDIR = $$($(3)_OVERRIDE_SRCDIR)
+  endif
+endif
+
 $(2)_BASE_NAME	=  $(1)-$$($(2)_VERSION)
 $(2)_DL_DIR	=  $$(DL_DIR)/$$($(2)_BASE_NAME)
 $(2)_DIR	=  $$(BUILD_DIR)/$$($(2)_BASE_NAME)
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH] core/pkg-generic: host variants inherits target's override-srcdir
  2015-07-05 11:56 [Buildroot] [PATCH] core/pkg-generic: host variants inherits target's override-srcdir Yann E. MORIN
@ 2015-07-06 22:36 ` Arnout Vandecappelle
  2015-07-19 10:42   ` Yann E. MORIN
  0 siblings, 1 reply; 5+ messages in thread
From: Arnout Vandecappelle @ 2015-07-06 22:36 UTC (permalink / raw)
  To: buildroot

On 07/05/15 13:56, Yann E. MORIN wrote:
> When a package has both a target and a host variants, and there is an
> override-srcdir set for the target variant, the host variant should
> inherit the target's override-srcdir, unless explicitly set, like we do
> for all other target-variant properties.
> 
> Reported-by: Mike <mikez@OpenPlayer.org>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  package/pkg-generic.mk | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
> index 9fe01b8..926d594 100644
> --- a/package/pkg-generic.mk
> +++ b/package/pkg-generic.mk
> @@ -310,6 +310,12 @@ else
>    $(2)_VERSION := $$(call sanitize,$$($(2)_VERSION))
>  endif
>  
> +ifndef $(2)_OVERRIDE_SRCDIR
> +  ifdef $(3)_OVERRIDE_SRCDIR
> +    $(2)_OVERRIDE_SRCDIR = $$($(3)_OVERRIDE_SRCDIR)
> +  endif
> +endif

 IMHO this should be

ifdef $(3)_OVERRIDE_SRCDIR)
  $(2)_OVERRIDE_SRCDIR ?= $$($(3)_OVERRIDE_SRCDIR)
endif

i.e. don't set the override if it has been explicitly set to empty. Note that
the ifdef is still needed, otherwise the target override will always be set.


 Regards,
 Arnout

> +
>  $(2)_BASE_NAME	=  $(1)-$$($(2)_VERSION)
>  $(2)_DL_DIR	=  $$(DL_DIR)/$$($(2)_BASE_NAME)
>  $(2)_DIR	=  $$(BUILD_DIR)/$$($(2)_BASE_NAME)
> 


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH] core/pkg-generic: host variants inherits target's override-srcdir
  2015-07-06 22:36 ` Arnout Vandecappelle
@ 2015-07-19 10:42   ` Yann E. MORIN
  2015-07-19 10:45     ` Thomas Petazzoni
  2015-07-19 20:40     ` Arnout Vandecappelle
  0 siblings, 2 replies; 5+ messages in thread
From: Yann E. MORIN @ 2015-07-19 10:42 UTC (permalink / raw)
  To: buildroot

On 2015-07-07 00:36 +0200, Arnout Vandecappelle spake thusly:
> On 07/05/15 13:56, Yann E. MORIN wrote:
> > When a package has both a target and a host variants, and there is an
> > override-srcdir set for the target variant, the host variant should
> > inherit the target's override-srcdir, unless explicitly set, like we do
> > for all other target-variant properties.
> > 
> > Reported-by: Mike <mikez@OpenPlayer.org>
> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> > ---
> >  package/pkg-generic.mk | 6 ++++++
> >  1 file changed, 6 insertions(+)
> > 
> > diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
> > index 9fe01b8..926d594 100644
> > --- a/package/pkg-generic.mk
> > +++ b/package/pkg-generic.mk
> > @@ -310,6 +310,12 @@ else
> >    $(2)_VERSION := $$(call sanitize,$$($(2)_VERSION))
> >  endif
> >  
> > +ifndef $(2)_OVERRIDE_SRCDIR
> > +  ifdef $(3)_OVERRIDE_SRCDIR
> > +    $(2)_OVERRIDE_SRCDIR = $$($(3)_OVERRIDE_SRCDIR)
> > +  endif
> > +endif
> 
>  IMHO this should be
> 
> ifdef $(3)_OVERRIDE_SRCDIR)
>   $(2)_OVERRIDE_SRCDIR ?= $$($(3)_OVERRIDE_SRCDIR)
> endif
> 
> i.e. don't set the override if it has been explicitly set to empty. Note that
> the ifdef is still needed, otherwise the target override will always be set.

Sorry, I don't understand what would go wrong...

Here are test-cases for a package that is both host and target, mpc:

    $ make menuconfig
        -> enable BR2_PACKAGE_MPC
        -> host-mpc is selected because it is part of the internal
           toolchain

Then create a local.mk:

1) with:

    $ cat local.mk
    MPC_OVERRIDE_SRCDIR = /path/to/somewhere

    $ make printvars |grep -E '^[^[:space:]]+_OVERRIDE_SRCDIR' |grep MPC
    HOST_MPC_OVERRIDE_SRCDIR=/path/to/somewhere ($(MPC_OVERRIDE_SRCDIR))
    MPC_OVERRIDE_SRCDIR=/path/to/somewhere (/path/to/somewhere)

    ==> OK

2) with:

    $ cat local.mk
    HOST_MPC_OVERRIDE_SRCDIR = /path/to/somewhere

    $ make printvars |grep -E '^[^[:space:]]+_OVERRIDE_SRCDIR' |grep MPC
    HOST_MPC_OVERRIDE_SRCDIR=/path/to/somewhere (/path/to/somewhere)

    ==> OK

3) with:

    $ cat local.mk
    MPC_OVERRIDE_SRCDIR = 
    HOST_MPC_OVERRIDE_SRCDIR = /path/to/somewhere

    $ make printvars |grep -E '^[^[:space:]]+_OVERRIDE_SRCDIR' |grep MPC
    HOST_MPC_OVERRIDE_SRCDIR=/path/to/somewhere (/path/to/somewhere)
    MPC_OVERRIDE_SRCDIR= ()

    ==> OK

4) with:

    $ cat local.mk
    MPC_OVERRIDE_SRCDIR = /path/to/somewhere
    HOST_MPC_OVERRIDE_SRCDIR = 

    $ make printvars |grep -E '^[^[:space:]]+_OVERRIDE_SRCDIR' |grep MPC
    HOST_MPC_OVERRIDE_SRCDIR=/path/to/somewhere ($(MPC_OVERRIDE_SRCDIR))
    MPC_OVERRIDE_SRCDIR=/path/to/somewhere (/path/to/somewhere)

    ==> KO

So, you're right, something's wrong, but it seems to me that the case
you described (my 3rd test-case) does work as expected, whereas the
other way around (test-case 4) indeed does not work. Sigh... :-/

I'll fix that, thanks!

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH] core/pkg-generic: host variants inherits target's override-srcdir
  2015-07-19 10:42   ` Yann E. MORIN
@ 2015-07-19 10:45     ` Thomas Petazzoni
  2015-07-19 20:40     ` Arnout Vandecappelle
  1 sibling, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2015-07-19 10:45 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Sun, 19 Jul 2015 12:42:06 +0200, Yann E. MORIN wrote:

> Then create a local.mk:
> 
> 1) with:
> 
>     $ cat local.mk
>     MPC_OVERRIDE_SRCDIR = /path/to/somewhere
> 
>     $ make printvars |grep -E '^[^[:space:]]+_OVERRIDE_SRCDIR' |grep MPC
>     HOST_MPC_OVERRIDE_SRCDIR=/path/to/somewhere ($(MPC_OVERRIDE_SRCDIR))
>     MPC_OVERRIDE_SRCDIR=/path/to/somewhere (/path/to/somewhere)
> 
>     ==> OK
> 
> 2) with:
> 
>     $ cat local.mk
>     HOST_MPC_OVERRIDE_SRCDIR = /path/to/somewhere
> 
>     $ make printvars |grep -E '^[^[:space:]]+_OVERRIDE_SRCDIR' |grep MPC
>     HOST_MPC_OVERRIDE_SRCDIR=/path/to/somewhere (/path/to/somewhere)
> 
>     ==> OK
> 
> 3) with:
> 
>     $ cat local.mk
>     MPC_OVERRIDE_SRCDIR = 
>     HOST_MPC_OVERRIDE_SRCDIR = /path/to/somewhere
> 
>     $ make printvars |grep -E '^[^[:space:]]+_OVERRIDE_SRCDIR' |grep MPC
>     HOST_MPC_OVERRIDE_SRCDIR=/path/to/somewhere (/path/to/somewhere)
>     MPC_OVERRIDE_SRCDIR= ()
> 
>     ==> OK
> 
> 4) with:
> 
>     $ cat local.mk
>     MPC_OVERRIDE_SRCDIR = /path/to/somewhere
>     HOST_MPC_OVERRIDE_SRCDIR = 
> 
>     $ make printvars |grep -E '^[^[:space:]]+_OVERRIDE_SRCDIR' |grep MPC
>     HOST_MPC_OVERRIDE_SRCDIR=/path/to/somewhere ($(MPC_OVERRIDE_SRCDIR))
>     MPC_OVERRIDE_SRCDIR=/path/to/somewhere (/path/to/somewhere)
> 
>     ==> KO

We need test cases in the test infrastructure! :-)

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH] core/pkg-generic: host variants inherits target's override-srcdir
  2015-07-19 10:42   ` Yann E. MORIN
  2015-07-19 10:45     ` Thomas Petazzoni
@ 2015-07-19 20:40     ` Arnout Vandecappelle
  1 sibling, 0 replies; 5+ messages in thread
From: Arnout Vandecappelle @ 2015-07-19 20:40 UTC (permalink / raw)
  To: buildroot

On 07/19/15 12:42, Yann E. MORIN wrote:
> On 2015-07-07 00:36 +0200, Arnout Vandecappelle spake thusly:
>> On 07/05/15 13:56, Yann E. MORIN wrote:
>>> When a package has both a target and a host variants, and there is an
>>> override-srcdir set for the target variant, the host variant should
>>> inherit the target's override-srcdir, unless explicitly set, like we do
>>> for all other target-variant properties.
>>>
>>> Reported-by: Mike <mikez@OpenPlayer.org>
>>> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
>>> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
>>> ---
>>>  package/pkg-generic.mk | 6 ++++++
>>>  1 file changed, 6 insertions(+)
>>>
>>> diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
>>> index 9fe01b8..926d594 100644
>>> --- a/package/pkg-generic.mk
>>> +++ b/package/pkg-generic.mk
>>> @@ -310,6 +310,12 @@ else
>>>    $(2)_VERSION := $$(call sanitize,$$($(2)_VERSION))
>>>  endif
>>>  
>>> +ifndef $(2)_OVERRIDE_SRCDIR
>>> +  ifdef $(3)_OVERRIDE_SRCDIR
>>> +    $(2)_OVERRIDE_SRCDIR = $$($(3)_OVERRIDE_SRCDIR)
>>> +  endif
>>> +endif
>>
>>  IMHO this should be
>>
>> ifdef $(3)_OVERRIDE_SRCDIR)
>>   $(2)_OVERRIDE_SRCDIR ?= $$($(3)_OVERRIDE_SRCDIR)
>> endif
>>
>> i.e. don't set the override if it has been explicitly set to empty. Note that
>> the ifdef is still needed, otherwise the target override will always be set.

[snip]

> 4) with:
> 
>     $ cat local.mk
>     MPC_OVERRIDE_SRCDIR = /path/to/somewhere
>     HOST_MPC_OVERRIDE_SRCDIR = 
> 
>     $ make printvars |grep -E '^[^[:space:]]+_OVERRIDE_SRCDIR' |grep MPC
>     HOST_MPC_OVERRIDE_SRCDIR=/path/to/somewhere ($(MPC_OVERRIDE_SRCDIR))
>     MPC_OVERRIDE_SRCDIR=/path/to/somewhere (/path/to/somewhere)
> 
>     ==> KO
> 
> So, you're right, something's wrong, but it seems to me that the case
> you described (my 3rd test-case) does work as expected, whereas the
> other way around (test-case 4) indeed does not work. Sigh... :-/

 It's actually the fourth case I wanted to describe, I just didn't want to spend
so much text on it :-P

 Regards,
 Arnout

> 
> I'll fix that, thanks!
> 
> Regards,
> Yann E. MORIN.
> 


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-07-19 20:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-05 11:56 [Buildroot] [PATCH] core/pkg-generic: host variants inherits target's override-srcdir Yann E. MORIN
2015-07-06 22:36 ` Arnout Vandecappelle
2015-07-19 10:42   ` Yann E. MORIN
2015-07-19 10:45     ` Thomas Petazzoni
2015-07-19 20:40     ` Arnout Vandecappelle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox