Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] pkg-kconfig: .config target needs to take into account package dependencies
@ 2015-07-03 20:42 Arnout Vandecappelle
  2015-07-03 22:02 ` Yann E. MORIN
  0 siblings, 1 reply; 4+ messages in thread
From: Arnout Vandecappelle @ 2015-07-03 20:42 UTC (permalink / raw)
  To: buildroot

It is possible that the package's kconfig system needs one of its
dependencies to be built before. This is for example the case for the
linux-backports project, which needs a reference to the linux kernel
configuration.

Therefore, the dependencies of $$($(2)_TARGET_CONFIGURE) should be
copied as $(2)_DIR/.config's dependencies. The dependency on _PATCH was
already there (implicitly, through $$($(2)_KCONFIG_FILE)), only the
dependency on $$($(2)_DEPENDENCIES) should be added.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Petr Vorel <petr.vorel@gmail.com>
---
 package/pkg-kconfig.mk | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/package/pkg-kconfig.mk b/package/pkg-kconfig.mk
index c86c340..6018b25 100644
--- a/package/pkg-kconfig.mk
+++ b/package/pkg-kconfig.mk
@@ -57,6 +57,11 @@ $$($(2)_KCONFIG_FILE) $$($(2)_KCONFIG_FRAGMENT_FILES): | $(1)-patch
 		fi; \
 	done
 
+# Generating the .config file is part of the configure step of the package
+# infrastructure, so it should be ordered like it. IOW, it should take over
+# its dependencies.
+$$($(2)_DIR)/.config: | $$($(2)_FINAL_DEPENDENCIES)
+
 # The specified source configuration file and any additional configuration file
 # fragments are merged together to .config, after the package has been patched.
 # Since the file could be a defconfig file it needs to be expanded to a
-- 
2.1.4

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

* [Buildroot] [PATCH] pkg-kconfig: .config target needs to take into account package dependencies
  2015-07-03 20:42 [Buildroot] [PATCH] pkg-kconfig: .config target needs to take into account package dependencies Arnout Vandecappelle
@ 2015-07-03 22:02 ` Yann E. MORIN
  2015-07-05 13:30   ` Thomas Petazzoni
  0 siblings, 1 reply; 4+ messages in thread
From: Yann E. MORIN @ 2015-07-03 22:02 UTC (permalink / raw)
  To: buildroot

Arnout, All,

On 2015-07-03 22:42 +0200, Arnout Vandecappelle (Essensium/Mind) spake thusly:
> It is possible that the package's kconfig system needs one of its
> dependencies to be built before. This is for example the case for the
> linux-backports project, which needs a reference to the linux kernel
> configuration.
> 
> Therefore, the dependencies of $$($(2)_TARGET_CONFIGURE) should be
> copied as $(2)_DIR/.config's dependencies. The dependency on _PATCH was
> already there (implicitly, through $$($(2)_KCONFIG_FILE)), only the
> dependency on $$($(2)_DEPENDENCIES) should be added.
> 
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
> Cc: Petr Vorel <petr.vorel@gmail.com>
> ---
>  package/pkg-kconfig.mk | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/package/pkg-kconfig.mk b/package/pkg-kconfig.mk
> index c86c340..6018b25 100644
> --- a/package/pkg-kconfig.mk
> +++ b/package/pkg-kconfig.mk
> @@ -57,6 +57,11 @@ $$($(2)_KCONFIG_FILE) $$($(2)_KCONFIG_FRAGMENT_FILES): | $(1)-patch
>  		fi; \
>  	done
>  
> +# Generating the .config file is part of the configure step of the package
> +# infrastructure, so it should be ordered like it. IOW, it should take over
> +# its dependencies.
> +$$($(2)_DIR)/.config: | $$($(2)_FINAL_DEPENDENCIES)

OK, I see the point.

However, when Thomas DS. and I did the infra, we explicitly avoided this
dependency, for a simple reason: we did not want to have to build the
dependencies of a package just to 'menuconfig' it, like so:

    make menuconfig   <- enable kernel
    make linux-menuconfig

Currently, all we need@that moment is that linux be downloaded,
extracted and patched, then we can show the menuconfig.

With your proposed patch, it means all the Linux dependencies
(host-kmod, lzop...) will have to be built before we can show the
menuconfig. This was the situation we were in before we had the
kconfig-package infra, and it is *very* frustrating... :-(

I would like to avoid this as much as possible. Although I understand
the reason for linux-backports, can we find a better solution? I would
even be OK with an ad-hoc solution just for linux-backports...

Regards,
Yann E. MORIN.

>  # The specified source configuration file and any additional configuration file
>  # fragments are merged together to .config, after the package has been patched.
>  # Since the file could be a defconfig file it needs to be expanded to a
> -- 
> 2.1.4
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  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] 4+ messages in thread

* [Buildroot] [PATCH] pkg-kconfig: .config target needs to take into account package dependencies
  2015-07-03 22:02 ` Yann E. MORIN
@ 2015-07-05 13:30   ` Thomas Petazzoni
  2015-07-06 23:04     ` Arnout Vandecappelle
  0 siblings, 1 reply; 4+ messages in thread
From: Thomas Petazzoni @ 2015-07-05 13:30 UTC (permalink / raw)
  To: buildroot

Hello,

On Sat, 4 Jul 2015 00:02:37 +0200, Yann E. MORIN wrote:

> > +# Generating the .config file is part of the configure step of the package
> > +# infrastructure, so it should be ordered like it. IOW, it should take over
> > +# its dependencies.
> > +$$($(2)_DIR)/.config: | $$($(2)_FINAL_DEPENDENCIES)
> 
> OK, I see the point.
> 
> However, when Thomas DS. and I did the infra, we explicitly avoided this
> dependency, for a simple reason: we did not want to have to build the
> dependencies of a package just to 'menuconfig' it, like so:
> 
>     make menuconfig   <- enable kernel
>     make linux-menuconfig
> 
> Currently, all we need at that moment is that linux be downloaded,
> extracted and patched, then we can show the menuconfig.
> 
> With your proposed patch, it means all the Linux dependencies
> (host-kmod, lzop...) will have to be built before we can show the
> menuconfig. This was the situation we were in before we had the
> kconfig-package infra, and it is *very* frustrating... :-(

I agree that having to build all dependencies of linux just to run
"make linux-menuconfig" is a bit annoying. So finding a solution to
keep this behavior would be nice.

Best regards,

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

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

* [Buildroot] [PATCH] pkg-kconfig: .config target needs to take into account package dependencies
  2015-07-05 13:30   ` Thomas Petazzoni
@ 2015-07-06 23:04     ` Arnout Vandecappelle
  0 siblings, 0 replies; 4+ messages in thread
From: Arnout Vandecappelle @ 2015-07-06 23:04 UTC (permalink / raw)
  To: buildroot

On 07/05/15 15:30, Thomas Petazzoni wrote:
> Hello,
> 
> On Sat, 4 Jul 2015 00:02:37 +0200, Yann E. MORIN wrote:
> 
>>> +# Generating the .config file is part of the configure step of the package
>>> +# infrastructure, so it should be ordered like it. IOW, it should take over
>>> +# its dependencies.
>>> +$$($(2)_DIR)/.config: | $$($(2)_FINAL_DEPENDENCIES)
>>
>> OK, I see the point.
>>
>> However, when Thomas DS. and I did the infra, we explicitly avoided this
>> dependency, for a simple reason: we did not want to have to build the
>> dependencies of a package just to 'menuconfig' it, like so:
>>
>>     make menuconfig   <- enable kernel
>>     make linux-menuconfig
>>
>> Currently, all we need at that moment is that linux be downloaded,
>> extracted and patched, then we can show the menuconfig.
>>
>> With your proposed patch, it means all the Linux dependencies
>> (host-kmod, lzop...) will have to be built before we can show the
>> menuconfig. This was the situation we were in before we had the
>> kconfig-package infra, and it is *very* frustrating... :-(
> 
> I agree that having to build all dependencies of linux just to run
> "make linux-menuconfig" is a bit annoying. So finding a solution to
> keep this behavior would be nice.

 OK, fair enough, marked as rejected.

 This does warrant a comment in pkg-kconfig.mk to avoid rehashing this in the
future.

 Regards,
 Arnout


-- 
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] 4+ messages in thread

end of thread, other threads:[~2015-07-06 23:04 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-03 20:42 [Buildroot] [PATCH] pkg-kconfig: .config target needs to take into account package dependencies Arnout Vandecappelle
2015-07-03 22:02 ` Yann E. MORIN
2015-07-05 13:30   ` Thomas Petazzoni
2015-07-06 23:04     ` Arnout Vandecappelle

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