Explorar el Código

kbuild: fix spurious initramfs rebuild

When gen_initramfs_list is used to generate make dependencies, it
includes symbolic links, for which make tracks the link target. Any
change to that target will cause an initramfs rebuild, even if the
symlink points to something outside of the initramfs directory.

If the target happens to be /tmp, the rebuild occurs for each kernel
build, since gen_initramfs_list uses mktemp...

Proposed way to fix it is to omit symbolic links from generated
dependencies, but this has a small drawback: changing perm/owner on a
symlink will go unnoticed.

Signed-off-by: Maxime Bizon <mbizon@freebox.fr>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Maxime Bizon hace 16 años
padre
commit
9e5ec86152
Se han modificado 1 ficheros con 1 adiciones y 1 borrados
  1. 1 1
      scripts/gen_initramfs_list.sh

+ 1 - 1
scripts/gen_initramfs_list.sh

@@ -97,7 +97,7 @@ print_mtime() {
 }
 }
 
 
 list_parse() {
 list_parse() {
-	echo "$1 \\"
+	[ ! -L "$1" ] && echo "$1 \\" || :
 }
 }
 
 
 # for each file print a line in following format
 # for each file print a line in following format