since the files are just copied over from ${D} to ${ROOT}, hard link information is lost ... from an ebuild: src_install() { dobin plis dohard /usr/bin/plis /usr/bin/pcon } emerge output: >>> /usr/bin/plis >>> /usr/bin/pcon actual files: root@vapier 0 pipes-1.15 # ls -ali /usr/bin/plis /usr/bin/pcon 592512 -rwxr-xr-x 1 root root 12344 Sep 22 13:12 /usr/bin/pcon 591086 -rwxr-xr-x 1 root root 12344 Sep 22 13:12 /usr/bin/plis
I think it's fixed now in portage-2.0.49-r16. Can you reproduce it?
still bugged in -r16 ... `emerge pipes` and then run `ls -ali /usr/bin/plis /usr/bin/pcon` if you want an ebuild to test on :p
This would be fairly complicated to achieve. I recommend recovering manually in postinst to get the real hardlinks back. This won't be resolved for a while.
CANTFIX as this cannot be fixed properly for the case of hardlinks between different dirs. It is possible for the mentioned case of a hardlink between files in one dir, however it's really not worth the effort, as we would have to scan the inode numbers of each file and check for duplicates, then instead of copying both files copy just one and create the hardlink for the other. And CONFIG_PROTECT doesn't make it easier ... IOW, unless this causes some _real_ problems I'd rather not do it.