2014-04-13 08:26:26

by Antonio Borneo

[permalink] [raw]
Subject: [PATCH] x86/platform: fix "make O=dir kvmconfig"

Running:
make O=dir x86_64_defconfig
make O=dir kvmconfig
the second command dirties the source tree with file ".config",
symlink "source" and objects in folder "scripts".

Fixed by adding paths in arch Makefile.

Signed-off-by: Antonio Borneo <[email protected]>
---
arch/x86/Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 602f57e..d1b7c37 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -250,8 +250,8 @@ archclean:
PHONY += kvmconfig
kvmconfig:
$(if $(wildcard $(objtree)/.config),, $(error You need an existing .config for this target))
- $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m -O $(objtree) $(objtree)/.config arch/x86/configs/kvm_guest.config
- $(Q)yes "" | $(MAKE) oldconfig
+ $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m -O $(objtree) $(objtree)/.config $(srctree)/arch/x86/configs/kvm_guest.config
+ $(Q)yes "" | $(MAKE) -f $(srctree)/Makefile oldconfig

define archhelp
echo '* bzImage - Compressed kernel image (arch/x86/boot/bzImage)'
--
1.9.2


2014-04-13 11:48:09

by Borislav Petkov

[permalink] [raw]
Subject: Re: [PATCH] x86/platform: fix "make O=dir kvmconfig"

On Sun, Apr 13, 2014 at 04:26:08PM +0800, Antonio Borneo wrote:
> Running:
> make O=dir x86_64_defconfig
> make O=dir kvmconfig
> the second command dirties the source tree with file ".config",
> symlink "source" and objects in folder "scripts".
>
> Fixed by adding paths in arch Makefile.
>
> Signed-off-by: Antonio Borneo <[email protected]>

Yes, without this patch and building into another dir with O=, kvmconfig
has more problems:

$ make O=/tmp/kernel kvmconfig
Using /tmp/kernel/.config as base
Merging arch/x86/configs/kvm_guest.config
sed: can't read arch/x86/configs/kvm_guest.config: No such file or directory
cat: arch/x86/configs/kvm_guest.config: No such file or directory
#
# merged configuration written to /tmp/kernel/.config (needs make)
#
HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
scripts/kconfig/conf --oldconfig Kconfig
#
# configuration written to .config

So, yes, we want it:

Acked-by: Borislav Petkov <[email protected]>

Thanks.

--
Regards/Gruss,
Boris.

Sent from a fat crate under my desk. Formatting is fine.
--

Subject: [tip:x86/urgent] x86/platform: Fix "make O=dir kvmconfig"

Commit-ID: f96364041ccda63ff4bed96fd06b267d8d841dc0
Gitweb: http://git.kernel.org/tip/f96364041ccda63ff4bed96fd06b267d8d841dc0
Author: Antonio Borneo <[email protected]>
AuthorDate: Sun, 13 Apr 2014 16:26:08 +0800
Committer: Ingo Molnar <[email protected]>
CommitDate: Mon, 14 Apr 2014 08:50:36 +0200

x86/platform: Fix "make O=dir kvmconfig"

Running:

make O=dir x86_64_defconfig
make O=dir kvmconfig

the second command dirties the source tree with file ".config",
symlink "source" and objects in folder "scripts".

Fixed by using properly prefixed paths in the arch Makefile.

Signed-off-by: Antonio Borneo <[email protected]>
Acked-by: Borislav Petkov <[email protected]>
Cc: Pekka Enberg <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
---
arch/x86/Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 3b9348a..0db8910 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -250,8 +250,8 @@ archclean:
PHONY += kvmconfig
kvmconfig:
$(if $(wildcard $(objtree)/.config),, $(error You need an existing .config for this target))
- $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m -O $(objtree) $(objtree)/.config arch/x86/configs/kvm_guest.config
- $(Q)yes "" | $(MAKE) oldconfig
+ $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m -O $(objtree) $(objtree)/.config $(srctree)/arch/x86/configs/kvm_guest.config
+ $(Q)yes "" | $(MAKE) -f $(srctree)/Makefile oldconfig

define archhelp
echo '* bzImage - Compressed kernel image (arch/x86/boot/bzImage)'