Open smooge opened 2 years ago
@Vogtinator @DimStar77 Can you please help me if the cross-directory-hard-link
is a correct rpmlint error reported?
At least post usr-merge it's not really possible to have /usr/lib64
and /usr/bin
on different partitions.
In openSUSE packages, /usr/bin/uic-qt5
is a symlink so we avoided that issue by accident.
I don't think /usr/bin
being split onto a different partition than /usr/lib64
was ever considered a supported setup in any distro. So rpmlint seems to be slightly too eager here
I don't think
/usr/bin
being split onto a different partition than/usr/lib64
was ever considered a supported setup in any distro. So rpmlint seems to be slightly too eager here
I see, to be honest, the check only compares parent directory of 2 hardlinks:
Theoretically, it can only report when top-most directories are different. One more note, openSUSE
config has it disabled the check:
https://github.com/rpm-software-management/rpmlint/blob/497dfb3f85b92b9b465089d24c951ac9e024b4ef/configs/openSUSE/opensuse.toml#L30
I ran into a catch-22 issue with rpmlint-2.2.0 and hardlinking.
If in one case we hardlink between /usr/bin and /usr/lib64 we get errors like:
qt5-qtbase-devel.x86_64: E: hardlink-across-partition /usr/lib64/qt5/bin/uic /usr/bin/uic-qt5 Your package contains two files that are apparently hardlinked and that are likely on different partitions. Installation of such an RPM will fail due to RPM being unable to unpack the hardlink. Do not hardlink across the first two levels of a path, e.g. between /var/ftp and /var/www or /etc and /usr.
but if you don't then you get an error about %fdupes needing to be used and the packages should be hardlinked across directories.
It seems that this is a no-win situation.