Florian Festi <[EMAIL PROTECTED]> writes: > Finger printing actually doesn't work as soon as there are some symlinks > involved that are not installed yet. I attached 3 spec files that show that. > Install the README rpm that then install FOO and FOO-DOC at once. As you can > see /usr/share/README-1/README gets over writen without warning. > If README and FOO are already installed installing FOO-DOC raises an error as > expected. > > The packages contain: > README: /usr/share/README-1/README > FOO: /usr/share/FOO-1 -> README-1 > FOO-DOC: /usr/share/FOO-1/README > > The 2. part is also quite inefficient as it checks the same basename over and > over again for each pkg containing a file with the same basename (Good > candidates are README, Copying, ...).
on this subject, i've put a patch in Mandriva's rpm that simply stops checking conflicts through symlinks. IMO it is really bad design and a global check on the distro should be done instead (eg of error: "file /usr/share/FOO-1/README (FOO-DOC) below symlink /usr/share/FOO-1 (FOO)") rationale for the patch: # without it, "rpm -e" or "rpm -U" will need to stat(2) every dirnames # of files from the package (eg COPYING) in the db. This is quite costly # when not in cache (eg on a test here: >300 stats, and so 3 seconds # after a "echo 3 > /proc/sys/vm/drop_caches") patch is there: http://svn.mandriva.com/svn/packages/cooker/rpm/current/SOURCES/rpm-4.4.2.2-speedup-by-not-checking-same-files-with-different-paths-through-symlink.patch i already mentioned it here: http://www.mail-archive.com/rpm-maint@lists.rpm.org/msg00557.html about rpmdbFindFpList(), SuSE has a patch too afaik: http://www.mail-archive.com/rpm-maint@lists.rpm.org/msg00263.html _______________________________________________ Rpm-maint mailing list Rpm-maint@lists.rpm.org https://lists.rpm.org/mailman/listinfo/rpm-maint