On pondělí 03 září 2007, Adrian Schröter wrote:
On Sunday 02 September 2007 18:00:21 wrote Marcus Rueckert:
On 2007-09-02 16:22:58 +0200, Stephan Kulow wrote:
Am Friday 24 August 2007 schrieb Vladimir Nadvornik:
On středa 16 květen 2007, Stephan Kulow wrote:
It's pretty simple: BuildRequire fdupes and then use "%fdupes $RPM_BUILD_ROOT" in your install section. This will check for duplicated files and make them hardlink. Just be careful that these duplicated files do not end up in different subpackages - I haven't tried what rpm does in that case.
There seems to be another problem. %fdupes can create hardlinks between files that would finally end on different partitions. See https://bugzilla.novell.com/show_bug.cgi?id=304167
Using something like %fdupes $RPM_BUILD_ROOT/usr %fdupes $RPM_BUILD_ROOT/srv ...
fixes the problem.
Do you think that the %fdupes macro should be changed to do this automatically?
I think it would be logical to make this automatic.
and it would be still broken. you can not assume that hardlinks between different directories will _always_ work. the only place where you can say "it wont break anything" are hardlinks in the same directory. anything else can be on a different partition. that said i think the best would be to patch fdupes and let it use hardlinks for any duplicates in the same directory, but symlinks for anything else.
IMHO the best approach is to identify hardlinks between directories with rpmlint and let the maintainer decide whether they are dangerous or not.
Does rpm fail to install the package or does it create a full copy of the file on the other partition ?
RPM fails, see the bugreport above. Vladimir --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org