Date: Wed, 22 Nov 1995 04:53:15 -0800 From: asami@cs.berkeley.edu (Satoshi Asami) To: ports@freebsd.org Subject: Proposal 3 first cut -- depending on non-executables Message-ID: <199511221253.EAA04903@silvia.HIP.Berkeley.EDU>
next in thread | raw e-mail | index | archive | help
Please try the following patch (relative to -current). Now you should be able to depend on a non-executable in {FETCH,BUILD,RUN}_DEPENDS. Just specify the full pathname (you can use ${PREFIX} and such) instead of the command name. bsd.port.mk will detect the "/" at the beginning and use a "test -e" instead of "which -s". You can even depend on a directory name (although the message still says "file"). The side effect of this is that if you really depend on an executable which is in a non-standard place (thus you need a full pathname), and the file is there but without the execute permission, it will (erroneously) think everything's fine and the build will fail. But I don't think we have to worry about such a pathological case. ;) Satoshi ------- Index: bsd.port.mk =================================================================== RCS file: /usr/cvs/src/share/mk/bsd.port.mk,v retrieving revision 1.187 diff -u -r1.187 bsd.port.mk --- bsd.port.mk 1995/11/17 16:49:40 1.187 +++ bsd.port.mk 1995/11/22 12:41:31 @@ -1005,16 +1005,34 @@ @for i in ${DEPENDS_TMP}; do \ prog=`/bin/echo $$i | /usr/bin/sed -e 's/:.*//'`; \ dir=`/bin/echo $$i | /usr/bin/sed -e 's/.*://'`; \ - ${ECHO_MSG} "===> ${PKGNAME} depends on executable: $$prog ($$dir)"; \ + if expr "$$prog" : \\/ >/dev/null; then \ + ${ECHO_MSG} "===> ${PKGNAME} depends on file: $$prog ($$dir)"; \ + else \ + ${ECHO_MSG} "===> ${PKGNAME} depends on executable: $$prog ($$dir)"; \ + fi; \ done .else @for i in ${DEPENDS_TMP}; do \ prog=`/bin/echo $$i | /usr/bin/sed -e 's/:.*//'`; \ dir=`/bin/echo $$i | /usr/bin/sed -e 's/.*://'`; \ - if which -s "$$prog"; then \ - ${ECHO_MSG} "===> ${PKGNAME} depends on executable: $$prog - found"; \ + if expr "$$prog" : \\/ >/dev/null; then \ + if [ -e "$$prog" ]; then \ + ${ECHO_MSG} "===> ${PKGNAME} depends on file: $$prog - found"; \ + notfound=0; \ + else \ + ${ECHO_MSG} "===> ${PKGNAME} depends on file: $$prog - not found"; \ + notfound=1; \ + fi; \ else \ - ${ECHO_MSG} "===> ${PKGNAME} depends on executable: $$prog - not found"; \ + if which -s "$$prog"; then \ + ${ECHO_MSG} "===> ${PKGNAME} depends on executable: $$prog - found"; \ + notfound=0; \ + else \ + ${ECHO_MSG} "===> ${PKGNAME} depends on executable: $$prog - not found"; \ + notfound=1; \ + fi; \ + fi; \ + if [ $$notfound != 0 ]; then \ ${ECHO_MSG} "===> Verifying build for $$prog in $$dir"; \ if [ ! -d "$$dir" ]; then \ ${ECHO_MSG} ">> No directory for $$prog. Skipping.."; \
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199511221253.EAA04903>