{incorrect,unsafe} use of UNZIP_CMD

Dag-Erling Smørgrav des at des.no
Tue Sep 8 09:52:59 UTC 2009


des at tim /usr/ports% find . -mindepth 3 -type f -name Makefile | xargs grep 'DEPEND.*UNZIP' /dev/null
./audio/libamrnb/Makefile:BUILD_DEPENDS=        ${UNZIP_CMD}:${PORTSDIR}/archivers/unzip
./audio/libamrwb/Makefile:BUILD_DEPENDS=        ${UNZIP_CMD}:${PORTSDIR}/archivers/unzip
./databases/pgtcl/Makefile:BUILD_DEPENDS=       ${UNZIP_CMD}:${PORTSDIR}/archivers/unzip
./emulators/xgs/Makefile:EXTRACT_DEPENDS=       ${UNZIP_CMD}:${PORTSDIR}/archivers/unzip
./games/pykawari/Makefile:EXTRACT_DEPENDS=${UNZIP_CMD}:${PORTSDIR}/archivers/unzip
./lang/f2c/Makefile:EXTRACT_DEPENDS=${UNZIP_CMD}:${PORTSDIR}/archivers/unzip

This will fail if the user redefines UNZIP_CMD to e.g. "unzip -v".

all of these should just set USE_ZIP:

des at tim /usr/ports% find . -mindepth 3 -type f -name Makefile | xargs egrep 'EXTRACT_DEPENDS.*(UNZIP|unzip)' /dev/null
./cad/leocad/Makefile:EXTRACT_DEPENDS=unzip:${PORTSDIR}/archivers/unzip
./deskutils/superkaramba-lwp/Makefile:EXTRACT_DEPENDS=  unzip:${PORTSDIR}/archivers/unzip
./devel/tavrasm/Makefile:EXTRACT_DEPENDS=unzip:${PORTSDIR}/archivers/unzip
./emulators/xgs/Makefile:EXTRACT_DEPENDS=       ${UNZIP_CMD}:${PORTSDIR}/archivers/unzip
./emulators/m2000/Makefile:EXTRACT_DEPENDS=unzip:${PORTSDIR}/archivers/unzip
./emulators/vmsbackup/Makefile:EXTRACT_DEPENDS=unzip:${PORTSDIR}/archivers/unzip
./games/cgoban2/Makefile:EXTRACT_DEPENDS=unzip:${PORTSDIR}/archivers/unzip
./games/openarena/Makefile:EXTRACT_DEPENDS=unzip:${PORTSDIR}/archivers/unzip
./games/pykawari/Makefile:EXTRACT_DEPENDS=${UNZIP_CMD}:${PORTSDIR}/archivers/unzip
./games/sdb/Makefile:EXTRACT_DEPENDS+=  unzip:${PORTSDIR}/archivers/unzip
./games/ezquake/Makefile:EXTRACT_DEPENDS=unzip:${PORTSDIR}/archivers/unzip \
./games/ufoai-data/Makefile:EXTRACT_DEPENDS=unzip:${PORTSDIR}/archivers/unzip
./games/quake-data/Makefile:EXTRACT_DEPENDS+=   unzip:${PORTSDIR}/archivers/unzip
./games/quake-extras/Makefile:EXTRACT_DEPENDS+= unzip:${PORTSDIR}/archivers/unzip
./games/tremor/Makefile:EXTRACT_DEPENDS=unzip:${PORTSDIR}/archivers/unzip
./games/doomlegacy/Makefile:EXTRACT_DEPENDS=unzip:${PORTSDIR}/archivers/unzip
./games/uhexen/Makefile:EXTRACT_DEPENDS=        unzip:${PORTSDIR}/archivers/unzip
./games/kmquake2/Makefile:EXTRACT_DEPENDS=unzip:${PORTSDIR}/archivers/unzip
./games/galaxyhack/Makefile:EXTRACT_DEPENDS+=   unzip:${PORTSDIR}/archivers/unzip
./hungarian/hunspell/Makefile:#EXTRACT_DEPENDS= unzip:${PORTSDIR}/archivers/unzip
./japanese/edict-utf-8/Makefile:EXTRACT_DEPENDS=        unzip:${PORTSDIR}/archivers/unzip
./japanese/tomoe/Makefile:EXTRACT_DEPENDS+=     unzip:${PORTSDIR}/archivers/unzip
./java/diablo-jdk15/Makefile:EXTRACT_DEPENDS+=  unzip:${PORTSDIR}/archivers/unzip
./java/diablo-jdk16/Makefile:EXTRACT_DEPENDS+=  unzip:${PORTSDIR}/archivers/unzip
./java/diablo-jre15/Makefile:EXTRACT_DEPENDS+=  unzip:${PORTSDIR}/archivers/unzip
./java/diablo-jre16/Makefile:EXTRACT_DEPENDS+=  unzip:${PORTSDIR}/archivers/unzip
./java/sun-wtk/Makefile:EXTRACT_DEPENDS+=       unzip:${PORTSDIR}/archivers/unzip
./lang/f2c/Makefile:EXTRACT_DEPENDS=${UNZIP_CMD}:${PORTSDIR}/archivers/unzip
./sysutils/memtest86/Makefile:EXTRACT_DEPENDS=  unzip:${PORTSDIR}/archivers/unzip
./textproc/fop/Makefile:EXTRACT_DEPENDS+=       unzip:${PORTSDIR}/archivers/unzip
./www/mambo/Makefile:EXTRACT_DEPENDS=   unzip:${PORTSDIR}/archivers/unzip

So should these:

des at tim /usr/ports% find . -mindepth 3 -type f -name Makefile | xargs egrep 'EXTRACT_CMD.*(UNZIP|unzip)' /dev/null
./deskutils/superkaramba-lwp/Makefile:EXTRACT_CMD=              ${UNZIP_CMD}
./games/pykawari/Makefile:EXTRACT_CMD=  ${UNZIP_CMD}
./misc/projectionlib/Makefile:EXTRACT_CMD=      unzip -a

java/jdk14 is just...  weird.  I won't paste the Makefile here.

DES
-- 
Dag-Erling Smørgrav - des at des.no


More information about the freebsd-ports mailing list