Created attachment 151393 [details] patch to teach port respect $DESTDIR when checking for installation The author made a Makefile target in src/quvi-0.9/quvi/Makefile.in to check for header files installed by previous versions. But it did not prepend install dir prefix to path. Therefore when staging, instead of checking against work dir, it checks against canonical path in system and will find installed version. It will fail staging. patch attached. How to reproduce: # cd /usr/ports/multimedia/ilbquvi09 # make install clean # make ... ===> Staging for libquvi09-0.9.4_2 ===> libquvi09-0.9.4_2 depends on package: libquvi-scripts09>=0.9 - found ===> Generating temporary packing list if test -z 'strip'; then /usr/bin/make INSTALL_PROGRAM="/bin/sh /usr/ports/multimedia/libquvi09/work/libquvi-0.9.4/config.aux/install-sh -c -s" install_sh_PROGRAM ="/bin/sh /usr/ports/multimedia/libquvi09/work/libquvi-0.9.4/config.aux/install-sh -c -s" INSTALL_STRIP_FLAG=-s install; else /usr/bin/make INSTALL_PROGRAM="/bin /sh /usr/ports/multimedia/libquvi09/work/libquvi-0.9.4/config.aux/install-sh -c -s" install_sh_PROGRAM="/bin/sh /usr/ports/multimedia/libquvi09/work/libquvi-0.9.4/c onfig.aux/install-sh -c -s" INSTALL_STRIP_FLAG=-s "INSTALL_PROGRAM_ENV=STRIPPROG='strip'" install; fi Making install in po if test "libquvi" = "gettext-tools"; then /bin/mkdir -p /usr/ports/multimedia/libquvi09/work/stage/usr/local/share/gettext/po; for file in Makefile.in.in remove-po tcdate.sin quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot Makevars.template; do install -o root -g wheel -m 0644 ./$file /usr/ports/multimedia/libquvi09/work/stage/usr/local/share/gettext/po/$file; done; for file in Makevars; do rm -f /usr/ports/multimedia/libquvi09/work/stage/usr/l ocal/share/gettext/po/$file; done; else : ; fi Making install in src Making install in quvi-0.9 Making install in quvi ** Old headers found in /usr/local/include/quvi-0.9/quvi. You should ** remove the contents of this directory and type 'make ** install' again. *** Error code 1 Stop. make[7]: stopped in /usr/ports/multimedia/libquvi09/work/libquvi-0.9.4/src/quvi-0.9/quvi *** Error code 1 Stop. make[6]: stopped in /usr/ports/multimedia/libquvi09/work/libquvi-0.9.4/src/quvi-0.9/quvi /bin/mkdir -p '/usr/ports/multimedia/libquvi09/work/stage/usr/local/include/quvi-0.9' install -o root -g wheel -m 0644 quvi.h '/usr/ports/multimedia/libquvi09/work/stage/usr/local/include/quvi-0.9' *** Error code 1 Stop. make[5]: stopped in /usr/ports/multimedia/libquvi09/work/libquvi-0.9.4/src/quvi-0.9 Making install in api Making install in gcrypt Making install in misc Making install in lua Making install in curl Making install in net /bin/mkdir -p '/usr/ports/multimedia/libquvi09/work/stage/usr/local/lib' /bin/sh ../libtool --mode=install /usr/bin/install -c -o root -g wheel -s libquvi-0.9.la '/usr/ports/multimedia/libquvi09/work/stage/usr/local/lib' libtool: install: /usr/bin/install -c -o root -g wheel .libs/libquvi-0.9-0.9.4.so /usr/ports/multimedia/libquvi09/work/stage/usr/local/lib/libquvi-0.9-0.9.4.so libtool: install: strip --strip-unneeded /usr/ports/multimedia/libquvi09/work/stage/usr/local/lib/libquvi-0.9-0.9.4.so libtool: install: (cd /usr/ports/multimedia/libquvi09/work/stage/usr/local/lib && { ln -s -f libquvi-0.9-0.9.4.so libquvi-0.9.so || { rm -f libquvi-0.9.so && ln -s l ibquvi-0.9-0.9.4.so libquvi-0.9.so; }; }) libtool: install: /usr/bin/install -c -o root -g wheel .libs/libquvi-0.9.lai /usr/ports/multimedia/libquvi09/work/stage/usr/local/lib/libquvi-0.9.la libtool: install: warning: remember to run `libtool --finish /usr/local/lib' *** Error code 1 Stop. make[4]: stopped in /usr/ports/multimedia/libquvi09/work/libquvi-0.9.4/src Making install in examples Making install in lib Making install in doc Making install in man3 /bin/mkdir -p '/usr/ports/multimedia/libquvi09/work/stage/usr/local/man/man3' install -o root -g wheel -m 0644 'libquvi.3' '/usr/ports/multimedia/libquvi09/work/stage/usr/local/man/man3/libquvi09.3' Making install in man7 /bin/mkdir -p '/usr/ports/multimedia/libquvi09/work/stage/usr/local/man/man7' install -o root -g wheel -m 0644 'quvi-object.7' '/usr/ports/multimedia/libquvi09/work/stage/usr/local/man/man7/quvi-object09.7' Making install in dox Making install in tests Making install in lib /bin/mkdir -p '/usr/ports/multimedia/libquvi09/work/stage/usr/local/libdata/pkgconfig' install -o root -g wheel -m 0644 libquvi-0.9.pc '/usr/ports/multimedia/libquvi09/work/stage/usr/local/libdata/pkgconfig' *** Error code 1 Stop. make[3]: stopped in /usr/ports/multimedia/libquvi09/work/libquvi-0.9.4 *** Error code 1 Stop. make[2]: stopped in /usr/ports/multimedia/libquvi09/work/libquvi-0.9.4 *** Error code 1 Stop. make[1]: stopped in /usr/ports/multimedia/libquvi09 *** Error code 1 Stop. make: stopped in /usr/ports/multimedia/libquvi09
Auto-assigned to maintainer sunpoet@FreeBSD.org
BTW, the scenario mostly will happen when upgrading. I hit this because the port recently got version bumped.
Committed in r376565. Thanks!