[mkinitcpio] Fails to add nested symlinks correctly.
With a recent update, mkinitcpio does not copy anymore the target file correctly if it encounters a symlink, resulting in a stale link be embedded into the initial ramdisk.
Specifically, if a symlink points to another symlink, the intermediate symlink, which is the target of the first symbolic link, is omitted:
If in the file system the link structure is
file_a -> file_b -> file_c
and file_a should be added to the image, only file_a and file_c are added but file_b is omitted.
This is contrary to the previous behaviour, and contrary to the manpage.
man mkinitcpio states:
(bold accentuation by myself)
However, I have a /lib/initcpio/install/dmcrypt_and_resume which contains, amongst others,
[...]
add_file /etc/suspend.conf
[...]
and on my system /etc/suspend.conf is a symbolic link pointing to /usr/local/etc/suspend.conf, which in turn points to /usr/local/platform/GPD_Pocket/etc/suspend.conf which is the actual file.
For many years, it has worked correctly, but now I find /etc/suspend.conf to be a dangling symlink in the image since the intermediate /usr/local/etc/suspend.conf is missing, while /usr/local/platform/GPD_Pocket/etc/suspend.conf is present.
I see this problem has appeared also for other files which are nested symlinks.
mkinitcpio's package version on my system is 33-1.
(Here is the corresponding report at bugs.archlinux.org: https://bugs.archlinux.org/task/76711)