diff mbox series

[v2,1/2] package/pkg-kconfig.mk new <pkg>-show-fragment target

Message ID 20230130104308.483243-1-marcus.folkesson@gmail.com
State Rejected
Headers show
Series [v2,1/2] package/pkg-kconfig.mk new <pkg>-show-fragment target | expand

Commit Message

Marcus Folkesson Jan. 30, 2023, 10:43 a.m. UTC
This patch introduce the new target to simplify the generation of
configuration fragments as the output could be directly copied into a
fragment file as-is.

It is *heavily* based on the <pkg>-diff-config target, but serves a
different purpose.

Output from linux-diff-config:
-CONFIG_GCC_PLUGIN_ARM_SSP_PER_TASK y
-CONFIG_GCC_PLUGIN_CYC_COMPLEXITY n
-CONFIG_GCC_PLUGIN_LATENT_ENTROPY n
-CONFIG_GCC_PLUGIN_RANDSTRUCT n
-CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF n
-CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL n
-CONFIG_GCC_PLUGIN_STRUCTLEAK_USER n
-CONFIG_STACKPROTECTOR_PER_TASK y
CONFIG_CRYPTO_DH n -> y
CONFIG_CRYPTO_KPP m -> y
CONFIG_GCC_PLUGINS y -> n
CONFIG_KEY_DH_OPERATIONS n -> y
CONFIG_PKCS8_PRIVATE_KEY_PARSER n -> y
CONFIG_VIDEO_IMX274 n -> m

Output from linux-show-fragment:
CONFIG_CRYPTO_DH=y
CONFIG_CRYPTO_KPP=y
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_PKCS8_PRIVATE_KEY_PARSER=y
CONFIG_VIDEO_IMX274=m

Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
---
 package/pkg-kconfig.mk | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

Comments

Marcus Folkesson Feb. 14, 2023, 6:38 a.m. UTC | #1
Ping

Den mån 30 jan. 2023 kl 11:43 skrev Marcus Folkesson <
marcus.folkesson@gmail.com>:

> This patch introduce the new target to simplify the generation of
> configuration fragments as the output could be directly copied into a
> fragment file as-is.
>
> It is *heavily* based on the <pkg>-diff-config target, but serves a
> different purpose.
>
> Output from linux-diff-config:
> -CONFIG_GCC_PLUGIN_ARM_SSP_PER_TASK y
> -CONFIG_GCC_PLUGIN_CYC_COMPLEXITY n
> -CONFIG_GCC_PLUGIN_LATENT_ENTROPY n
> -CONFIG_GCC_PLUGIN_RANDSTRUCT n
> -CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF n
> -CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL n
> -CONFIG_GCC_PLUGIN_STRUCTLEAK_USER n
> -CONFIG_STACKPROTECTOR_PER_TASK y
> CONFIG_CRYPTO_DH n -> y
> CONFIG_CRYPTO_KPP m -> y
> CONFIG_GCC_PLUGINS y -> n
> CONFIG_KEY_DH_OPERATIONS n -> y
> CONFIG_PKCS8_PRIVATE_KEY_PARSER n -> y
> CONFIG_VIDEO_IMX274 n -> m
>
> Output from linux-show-fragment:
> CONFIG_CRYPTO_DH=y
> CONFIG_CRYPTO_KPP=y
> CONFIG_KEY_DH_OPERATIONS=y
> CONFIG_PKCS8_PRIVATE_KEY_PARSER=y
> CONFIG_VIDEO_IMX274=m
>
> Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
> ---
>  package/pkg-kconfig.mk | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
>
> diff --git a/package/pkg-kconfig.mk b/package/pkg-kconfig.mk
> index f4f35bf96a..ee96525c47 100644
> --- a/package/pkg-kconfig.mk
> +++ b/package/pkg-kconfig.mk
> @@ -309,12 +309,26 @@ $(1)-diff-config: $(1)-check-configuration-done
>         $$(Q)cp -a $$($(2)_DIR)/.config.dc.bak
> $$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG)
>         $$(Q)rm -f $$($(2)_DIR)/.config.dc.bak
>
> +# Target to output differences between the configuration obtained via the
> +# defconfig + fragments (if any) and the current configuration.
> +# Output format is suitable to be used as-is in fragment files.
> +# Note: it preserves the timestamp of the current configuration when
> moving it
> +# around.
> +$(1)-show-fragment: $(1)-check-configuration-done
> +       $$(Q)cp -a $$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG)
> $$($(2)_DIR)/.config.dc.bak
> +       $$(call
> kconfig-package-merge-config,$(2),$$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG),\
> +               $$($(2)_KCONFIG_FRAGMENT_FILES))
> +       $$(Q)utils/diffconfig -m $$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG) \
> +                $$($(2)_DIR)/.config.dc.bak
> +       $$(Q)cp -a $$($(2)_DIR)/.config.dc.bak
> $$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG)
> +       $$(Q)rm -f $$($(2)_DIR)/.config.dc.bak
>
>  endif # package enabled
>
>  .PHONY: \
>         $(1)-diff-config \
>         $(1)-check-configuration-done \
> +       $(1)-show-fragment \
>         $$($(2)_DIR)/.kconfig_editor_% \
>         $$(addprefix $(1)-,$$($(2)_KCONFIG_EDITORS))
>
> --
> 2.38.1
>
>
Marcus Folkesson March 9, 2023, 6:58 a.m. UTC | #2
Ping.

Med vänliga hälsningar / Best regards
Marcus Folkesson


Den tis 14 feb. 2023 kl 07:38 skrev Marcus Folkesson <
marcus.folkesson@gmail.com>:

> Ping
>
> Den mån 30 jan. 2023 kl 11:43 skrev Marcus Folkesson <
> marcus.folkesson@gmail.com>:
>
>> This patch introduce the new target to simplify the generation of
>> configuration fragments as the output could be directly copied into a
>> fragment file as-is.
>>
>> It is *heavily* based on the <pkg>-diff-config target, but serves a
>> different purpose.
>>
>> Output from linux-diff-config:
>> -CONFIG_GCC_PLUGIN_ARM_SSP_PER_TASK y
>> -CONFIG_GCC_PLUGIN_CYC_COMPLEXITY n
>> -CONFIG_GCC_PLUGIN_LATENT_ENTROPY n
>> -CONFIG_GCC_PLUGIN_RANDSTRUCT n
>> -CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF n
>> -CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL n
>> -CONFIG_GCC_PLUGIN_STRUCTLEAK_USER n
>> -CONFIG_STACKPROTECTOR_PER_TASK y
>> CONFIG_CRYPTO_DH n -> y
>> CONFIG_CRYPTO_KPP m -> y
>> CONFIG_GCC_PLUGINS y -> n
>> CONFIG_KEY_DH_OPERATIONS n -> y
>> CONFIG_PKCS8_PRIVATE_KEY_PARSER n -> y
>> CONFIG_VIDEO_IMX274 n -> m
>>
>> Output from linux-show-fragment:
>> CONFIG_CRYPTO_DH=y
>> CONFIG_CRYPTO_KPP=y
>> CONFIG_KEY_DH_OPERATIONS=y
>> CONFIG_PKCS8_PRIVATE_KEY_PARSER=y
>> CONFIG_VIDEO_IMX274=m
>>
>> Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
>> ---
>>  package/pkg-kconfig.mk | 14 ++++++++++++++
>>  1 file changed, 14 insertions(+)
>>
>> diff --git a/package/pkg-kconfig.mk b/package/pkg-kconfig.mk
>> index f4f35bf96a..ee96525c47 100644
>> --- a/package/pkg-kconfig.mk
>> +++ b/package/pkg-kconfig.mk
>> @@ -309,12 +309,26 @@ $(1)-diff-config: $(1)-check-configuration-done
>>         $$(Q)cp -a $$($(2)_DIR)/.config.dc.bak
>> $$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG)
>>         $$(Q)rm -f $$($(2)_DIR)/.config.dc.bak
>>
>> +# Target to output differences between the configuration obtained via the
>> +# defconfig + fragments (if any) and the current configuration.
>> +# Output format is suitable to be used as-is in fragment files.
>> +# Note: it preserves the timestamp of the current configuration when
>> moving it
>> +# around.
>> +$(1)-show-fragment: $(1)-check-configuration-done
>> +       $$(Q)cp -a $$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG)
>> $$($(2)_DIR)/.config.dc.bak
>> +       $$(call
>> kconfig-package-merge-config,$(2),$$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG),\
>> +               $$($(2)_KCONFIG_FRAGMENT_FILES))
>> +       $$(Q)utils/diffconfig -m $$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG) \
>> +                $$($(2)_DIR)/.config.dc.bak
>> +       $$(Q)cp -a $$($(2)_DIR)/.config.dc.bak
>> $$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG)
>> +       $$(Q)rm -f $$($(2)_DIR)/.config.dc.bak
>>
>>  endif # package enabled
>>
>>  .PHONY: \
>>         $(1)-diff-config \
>>         $(1)-check-configuration-done \
>> +       $(1)-show-fragment \
>>         $$($(2)_DIR)/.kconfig_editor_% \
>>         $$(addprefix $(1)-,$$($(2)_KCONFIG_EDITORS))
>>
>> --
>> 2.38.1
>>
>>
diff mbox series

Patch

diff --git a/package/pkg-kconfig.mk b/package/pkg-kconfig.mk
index f4f35bf96a..ee96525c47 100644
--- a/package/pkg-kconfig.mk
+++ b/package/pkg-kconfig.mk
@@ -309,12 +309,26 @@  $(1)-diff-config: $(1)-check-configuration-done
 	$$(Q)cp -a $$($(2)_DIR)/.config.dc.bak $$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG)
 	$$(Q)rm -f $$($(2)_DIR)/.config.dc.bak
 
+# Target to output differences between the configuration obtained via the
+# defconfig + fragments (if any) and the current configuration.
+# Output format is suitable to be used as-is in fragment files.
+# Note: it preserves the timestamp of the current configuration when moving it
+# around.
+$(1)-show-fragment: $(1)-check-configuration-done
+	$$(Q)cp -a $$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG) $$($(2)_DIR)/.config.dc.bak
+	$$(call kconfig-package-merge-config,$(2),$$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG),\
+		$$($(2)_KCONFIG_FRAGMENT_FILES))
+	$$(Q)utils/diffconfig -m $$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG) \
+		 $$($(2)_DIR)/.config.dc.bak
+	$$(Q)cp -a $$($(2)_DIR)/.config.dc.bak $$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG)
+	$$(Q)rm -f $$($(2)_DIR)/.config.dc.bak
 
 endif # package enabled
 
 .PHONY: \
 	$(1)-diff-config \
 	$(1)-check-configuration-done \
+	$(1)-show-fragment \
 	$$($(2)_DIR)/.kconfig_editor_% \
 	$$(addprefix $(1)-,$$($(2)_KCONFIG_EDITORS))