Date: Sun, 09 Nov 2003 03:42:42 +0100 From: Oliver Eikemeier <eikemeier@fillmore-labs.com> To: FreeBSD-gnats-submit@FreeBSD.org Cc: Joe Marcus Clarke <marcus@FreeBSD.org> Subject: ports/59070: [PATCH] bsd.port.mk: unexpected features of PORTDOCS Message-ID: <3FADA9A2.5070006@fillmore-labs.com> Resent-Message-ID: <200311090250.hA92oM0r021810@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 59070 >Category: ports >Synopsis: [PATCH] bsd.port.mk: unexpected features of PORTDOCS >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Nov 08 18:50:21 PST 2003 >Closed-Date: >Last-Modified: >Originator: Oliver Eikemeier >Release: FreeBSD 5.1-CURRENT i386 >Organization: Fillmore Labs - http://www.fillmore-labs.com >Environment: System: FreeBSD nuuk.fillmore-labs.com 5.1-CURRENT >Description: Two unpleasant facts about the new PORTDOCS macro: - it will add `@cwd /usr/local' to packing lists that didn't contain a `@cwd'. Normally, this does no harm, but results in problems if someone does `pkg_add -p /my/prefix pkg-name' This usage is not really supported, so this no real problem, but it is not pretty. - Every package that defines PORTDOCS gets `@unexec rmdir ${DOCSDIR} 2>/dev/null || true' added to the packing list. The documetation states to define PORTDOCS only if documentation is installed, but for example port net/ngrep does: PORTDOCS= BUGS CHANGES README README.pcre USAGE post-install: .if !defined(NOPORTDOCS) @${MKDIR} ${DOCSDIR} .for file in ${PORTDOCS} ${INSTALL_DATA} ${WRKSRC}/${file} ${DOCSDIR} .endfor .endif which looks like a legitimate usage. So I have to check if the directory exists before adding the rmdir. Both bugs cause no real harm, but its better to fix them nevertheless. >How-To-Repeat: >Fix: --- bsd.port.mk.patch begins here --- --- bsd.port.mk.orig Sun Nov 9 01:51:03 2003 +++ bsd.port.mk Sun Nov 9 02:25:24 2003 @@ -4504,14 +4504,17 @@ .if !target(add-plist-docs) add-plist-docs: .if defined(PORTDOCS) - @if [ "`${SED} -En -e '/^@cw?d[ ]*/s,,,p' ${TMPPLIST} | tail -n 1`" != "${PREFIX}" ]; then \ + @if ${EGREP} -qe '^@cw?d' ${TMPPLIST} && \ + [ "`${SED} -En -e '/^@cw?d[ ]*/s,,,p' ${TMPPLIST} | ${TAIL} -n 1`" != "${PREFIX}" ]; then \ ${ECHO_CMD} "@cwd ${PREFIX}" >> ${TMPPLIST}; \ fi @${FIND} -P ${PORTDOCS:S/^/${DOCSDIR}\//} -not -type d 2>/dev/null | \ ${SED} -ne 's,^${PREFIX}/,,p' >> ${TMPPLIST} @${FIND} -P -d ${PORTDOCS:S/^/${DOCSDIR}\//} -type d 2>/dev/null | \ ${SED} -ne 's,^${PREFIX}/,@dirrm ,p' >> ${TMPPLIST} - @${ECHO_CMD} "@unexec rmdir %D/${DOCSDIR:S,^${PREFIX}/,,} 2>/dev/null || true" >> ${TMPPLIST} + @if [ -d "${DOCSDIR}" ]; then \ + ${ECHO_CMD} "@unexec rmdir %D/${DOCSDIR:S,^${PREFIX}/,,} 2>/dev/null || true" >> ${TMPPLIST}; \ + fi .else @${DO_NADA} .endif --- bsd.port.mk.patch ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3FADA9A2.5070006>