When using BR2_ROOTFS_DEVICE_TABLE to change ownership of /etc, like so:
/etc r -1 root wheel - - - - -
makedevs fails due to trying to chown() a dangling symlink:
makedevs: chown failed for /src/myLinux/output/build/buildroot-fs/ext2/target/etc/mtab: No such file or directory
makedevs: line 25: recursive failed for /src/myLinux/output/build/buildroot-fs/ext2/target/etc: No such file or directory
make[2]: *** [fs/ext2/ext2.mk:63: /src/myLinux/output/images/rootfs.ext2] Error 1
make[1]: *** [Makefile:84: _all] Error 2
make[1]: Leaving directory '/src/myLinux/buildroot'
This patch changes chown() to lchown() in two cases in makedevs.c when
the argument can be a symlink, dangling or not.
In case the recursive operation includes a chmod() as well, explicitly
exclude symlinks that are dangling, because chmod() always operates on
the link target.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>