2008-01-17 13:56:53

by Michael Opdenacker

[permalink] [raw]
Subject: [PATCH] x86: clean arch/[i386|x86_64] in make mrproper

Applies to: 2.6.24-rc8-git1

For backward compatibility with earlier (< 2.6.24) kernels,
arch/i386/boot/bzImage or arch/x86_64/boot/bzImage
symbolic links to arch/x86/boot/bzImage
are created when you build an x86 kernel.
The arch/i386 or arch/x86_64 directories are then
created for this only purpose.

Issue: these generated directories and symbolic
links are *not cleaned up* when you run
"make mrproper" (and thus "make distclean").
This disturbs the production of patches,
because the source tree is left with generated files
and directories.

Proposed fix: add arch/i386 and arch/x86_84 to
the list of directories cleaned by "make mrproper"

Cleaner solution: stop creating these symbolic
links, but this could cause issues with scripts
still expecting bzImage in arch/i386/boot/bzImage
or in arch/x86_64/boot/bzImage.

What do you think? I can submit another patch for
the second option.

Michael.

Signed-off-by: Michael Opdenacker <[email protected]>
--- linux-2.6.24-rc8-git1/Makefile 2008-01-17 09:54:22.000000000 +0100
+++ linux-2.6.24-rc8-git1-mrproper-x86/Makefile 2008-01-17 10:49:19.000000000 +0100
@@ -1088,7 +1088,7 @@
.tmp_kallsyms* .tmp_version .tmp_vmlinux* .tmp_System.map

# Directories & files removed with 'make mrproper'
-MRPROPER_DIRS += include/config include2 usr/include
+MRPROPER_DIRS += include/config include2 usr/include arch/i386 arch/x86_64
MRPROPER_FILES += .config .config.old include/asm .version .old_version \
include/linux/autoconf.h include/linux/version.h \
include/linux/utsrelease.h \


--
Michael Opdenacker, Free Electrons
Free Embedded Linux Training Materials
on http://free-electrons.com/training
(More than 1500 pages!)


2008-01-18 08:11:23

by Michael Opdenacker

[permalink] [raw]
Subject: Re: [PATCH] x86: clean arch/[i386|x86_64] in make mrproper

On 01/17/2008 02:37 PM, Michael Opdenacker wrote:
>
> Proposed fix: add arch/i386 and arch/x86_84 to the list of
> directories cleaned by "make mrproper"
>
> Cleaner solution: stop creating these symbolic links, but this
> could cause issues with scripts still expecting bzImage in
> arch/i386/boot/bzImage or in arch/x86_64/boot/bzImage.
>
> What do you think? I can submit another patch for the second
> option.
>
> Michael.
>
> Signed-off-by: Michael Opdenacker <[email protected]> ---
> linux-2.6.24-rc8-git1/Makefile 2008-01-17 09:54:22.000000000
> +0100 +++ linux-2.6.24-rc8-git1-mrproper-x86/Makefile 2008-01-17
> 10:49:19.000000000 +0100 @@ -1088,7 +1088,7 @@ .tmp_kallsyms*
> .tmp_version .tmp_vmlinux* .tmp_System.map
>
> # Directories & files removed with 'make mrproper' -MRPROPER_DIRS
> += include/config include2 usr/include +MRPROPER_DIRS +=
> include/config include2 usr/include arch/i386 arch/x86_64
> MRPROPER_FILES += .config .config.old include/asm .version
> .old_version \ include/linux/autoconf.h include/linux/version.h
> \ include/linux/utsrelease.h \
>
The problem is still there in 2.6.24-rc8-git2. In my opinion, it's a
significant bug in the kernel build system that "make mrproper" and
"make distclean" don't remove all generated files. 2.6.24 shoudn't
ship with this bug.

What do you think?

Cheers,

Michael.


--
Michael Opdenacker, Free Electrons
Free Embedded Linux Training Materials
on http://free-electrons.com/training
(More than 1500 pages!)