浏览代码

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 17 年之前
父节点
当前提交
9e5ec86152
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      scripts/gen_initramfs_list.sh

+ 1 - 1
scripts/gen_initramfs_list.sh

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