diff --git a/mk/pkgformat/pkg/metadata.mk b/mk/pkgformat/pkg/metadata.mk index 1d2d4459f0ee..5e2f07a70db5 100644 --- a/mk/pkgformat/pkg/metadata.mk +++ b/mk/pkgformat/pkg/metadata.mk @@ -71,11 +71,20 @@ ${_BUILD_INFO_FILE}: ${_PLIST_NOKEYWORDS} dsolibs = dsolibs (dsolibs ? ":" : "") $$NF; \ } \ /RPATH/ { \ - nrpath = split($$NF ":${DESTDIR}${PREFIX}/lib${LIBARCHSUFFIX}:${SYSTEM_DEFAULT_RPATH}", rpath, ":"); \ + nrpath = split($$NF ":${SYSTEM_DEFAULT_RPATH}", rpath, ":"); \ nlibs = split(dsolibs, libs, ":"); \ for (l = 1; l <= nlibs; l++) { \ for (r = 1; r <= nrpath; r++) { \ sub(/\/$$/, "", rpath[r]); \ + sub(/\/\.$$/, "", rpath[r]); \ + libfile = "${DESTDIR}" rpath[r] "/" libs[l]; \ + if (!(libfile in libcache)) { \ + libcache[libfile] = system("test -f " libfile); \ + } \ + if (libcache[libfile] == 0) { \ + print libfile; \ + break; \ + } \ libfile = rpath[r] "/" libs[l]; \ if (!(libfile in libcache)) { \ libcache[libfile] = system("test -f " libfile); \