* [Buildroot] [PATCH] package/pkg-generic: fix reconfigure for kconfig packages
@ 2019-11-24 23:10 Angelo Compagnucci
2019-11-25 17:32 ` Thomas Petazzoni
0 siblings, 1 reply; 4+ messages in thread
From: Angelo Compagnucci @ 2019-11-24 23:10 UTC (permalink / raw)
To: buildroot
Kconfig based packages are not really reconfigured if the .config file is not
regenerated in the reconfigure target.
Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
---
package/pkg-generic.mk | 2 ++
1 file changed, 2 insertions(+)
diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index 7d6fa08418..d7a678412e 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -693,6 +693,7 @@ $(2)_TARGET_EXTRACT = $$($(2)_DIR)/.stamp_extracted
$(2)_TARGET_SOURCE = $$($(2)_DIR)/.stamp_downloaded
$(2)_TARGET_ACTUAL_SOURCE = $$($(2)_DIR)/.stamp_actual_downloaded
$(2)_TARGET_DIRCLEAN = $$($(2)_DIR)/.stamp_dircleaned
+$(2)_TARGET_DOTCONFIG = $$($(2)_DIR)/.stamp_dotconfig
# default extract command
$(2)_EXTRACT_CMDS ?= \
@@ -904,6 +905,7 @@ $(1)-rebuild: $(1)-clean-for-rebuild $(1)
$(1)-clean-for-reconfigure: $(1)-clean-for-rebuild
rm -f $$($(2)_TARGET_CONFIGURE)
+ rm -f $$($(2)_TARGET_DOTCONFIG)
$(1)-reconfigure: $(1)-clean-for-reconfigure $(1)
--
2.17.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH] package/pkg-generic: fix reconfigure for kconfig packages
2019-11-24 23:10 [Buildroot] [PATCH] package/pkg-generic: fix reconfigure for kconfig packages Angelo Compagnucci
@ 2019-11-25 17:32 ` Thomas Petazzoni
2019-11-26 22:54 ` Arnout Vandecappelle
0 siblings, 1 reply; 4+ messages in thread
From: Thomas Petazzoni @ 2019-11-25 17:32 UTC (permalink / raw)
To: buildroot
On Mon, 25 Nov 2019 00:10:02 +0100
Angelo Compagnucci <angelo.compagnucci@gmail.com> wrote:
> Kconfig based packages are not really reconfigured if the .config file is not
> regenerated in the reconfigure target.
>
> Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com>
> ---
> package/pkg-generic.mk | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
> index 7d6fa08418..d7a678412e 100644
> --- a/package/pkg-generic.mk
> +++ b/package/pkg-generic.mk
> @@ -693,6 +693,7 @@ $(2)_TARGET_EXTRACT = $$($(2)_DIR)/.stamp_extracted
> $(2)_TARGET_SOURCE = $$($(2)_DIR)/.stamp_downloaded
> $(2)_TARGET_ACTUAL_SOURCE = $$($(2)_DIR)/.stamp_actual_downloaded
> $(2)_TARGET_DIRCLEAN = $$($(2)_DIR)/.stamp_dircleaned
> +$(2)_TARGET_DOTCONFIG = $$($(2)_DIR)/.stamp_dotconfig
>
> # default extract command
> $(2)_EXTRACT_CMDS ?= \
> @@ -904,6 +905,7 @@ $(1)-rebuild: $(1)-clean-for-rebuild $(1)
>
> $(1)-clean-for-reconfigure: $(1)-clean-for-rebuild
> rm -f $$($(2)_TARGET_CONFIGURE)
> + rm -f $$($(2)_TARGET_DOTCONFIG)
I think this shouldn't be done in pkg-generic.mk, and instead be kept
in pkg-kconfig.mk, which already has some logic to handle reconfigure,
just it doesn't do what you want. I came up with:
diff --git a/package/pkg-kconfig.mk b/package/pkg-kconfig.mk
index 86d7c14fdb..f1931b87c6 100644
--- a/package/pkg-kconfig.mk
+++ b/package/pkg-kconfig.mk
@@ -175,7 +175,7 @@ $$($(2)_TARGET_CONFIGURE): $$($(2)_DIR)/.stamp_kconfig_fixup_done
$(1)-clean-for-reconfigure: $(1)-clean-kconfig-for-reconfigure
$(1)-clean-kconfig-for-reconfigure:
- rm -f $$($(2)_DIR)/.stamp_kconfig_fixup_done
+ rm -f $$($(2)_DIR)/$$($(2)_KCONFIG_STAMP_DOTCONFIG)
# Only enable the foo-*config targets when the package is actually enabled.
# Note: the variable $(2)_KCONFIG_VAR is not related to the kconfig
However, there seems to be some disagreement on IRC where
"foo-reconfigure" on a kconfig package implies that the configuration
of the package is completely regenerated, therefore losing any local
change that may have been done using "foo-menuconfig". We need to sort
out this disagreement before we can merge a patch like this.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH] package/pkg-generic: fix reconfigure for kconfig packages
2019-11-25 17:32 ` Thomas Petazzoni
@ 2019-11-26 22:54 ` Arnout Vandecappelle
2019-11-27 7:54 ` Angelo Compagnucci
0 siblings, 1 reply; 4+ messages in thread
From: Arnout Vandecappelle @ 2019-11-26 22:54 UTC (permalink / raw)
To: buildroot
On 25/11/2019 18:32, Thomas Petazzoni wrote:
> However, there seems to be some disagreement on IRC where
> "foo-reconfigure" on a kconfig package implies that the configuration
> of the package is completely regenerated, therefore losing any local
> change that may have been done using "foo-menuconfig". We need to sort
> out this disagreement before we can merge a patch like this.
The word "reconfigure" by itself could mean either option: run 'olddefconfig'
on the current .config (which is what is done now), or recreate the .config from
its inputs (which is what this patch makes it do).
I think the latter is a *lot* more useful than the former. The current
situation is only useful if you're either modifying the .config directly
(without foo-menuconfig), or if you're modifying the Kconfig files in an
OVERRIDE_SRCDIR. Modifying the .config directly is clearly not something we need
to support. Modifying Kconfig files in OVERRIDE_SRCDIR is something we should
support, but even then it makes a lot of sense to reconstruct the .config from
the inputs rather than trying to reuse the locally modified .config.
Bottom line: I think it's a good change (if done in pkg-kconfig like Thomas
proposed).
It'll need to be mentioned in the release notes however.
Regards,
Arnout
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Buildroot] [PATCH] package/pkg-generic: fix reconfigure for kconfig packages
2019-11-26 22:54 ` Arnout Vandecappelle
@ 2019-11-27 7:54 ` Angelo Compagnucci
0 siblings, 0 replies; 4+ messages in thread
From: Angelo Compagnucci @ 2019-11-27 7:54 UTC (permalink / raw)
To: buildroot
On Tue, Nov 26, 2019 at 11:54 PM Arnout Vandecappelle <arnout@mind.be> wrote:
>
>
>
> On 25/11/2019 18:32, Thomas Petazzoni wrote:
> > However, there seems to be some disagreement on IRC where
> > "foo-reconfigure" on a kconfig package implies that the configuration
> > of the package is completely regenerated, therefore losing any local
> > change that may have been done using "foo-menuconfig". We need to sort
> > out this disagreement before we can merge a patch like this.
>
> The word "reconfigure" by itself could mean either option: run 'olddefconfig'
> on the current .config (which is what is done now), or recreate the .config from
> its inputs (which is what this patch makes it do).
>
> I think the latter is a *lot* more useful than the former. The current
> situation is only useful if you're either modifying the .config directly
> (without foo-menuconfig), or if you're modifying the Kconfig files in an
> OVERRIDE_SRCDIR. Modifying the .config directly is clearly not something we need
> to support. Modifying Kconfig files in OVERRIDE_SRCDIR is something we should
> support, but even then it makes a lot of sense to reconstruct the .config from
> the inputs rather than trying to reuse the locally modified .config.
>
> Bottom line: I think it's a good change (if done in pkg-kconfig like Thomas
> proposed).
FIY: https://patchwork.ozlabs.org/patch/1201052/
The latest iteration of the patch!
Thanks!
>
> It'll need to be mentioned in the release notes however.
>
> Regards,
> Arnout
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-11-27 7:54 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-11-24 23:10 [Buildroot] [PATCH] package/pkg-generic: fix reconfigure for kconfig packages Angelo Compagnucci
2019-11-25 17:32 ` Thomas Petazzoni
2019-11-26 22:54 ` Arnout Vandecappelle
2019-11-27 7:54 ` Angelo Compagnucci
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox