Convert <, > and & into &lt;, &gt; and &amp; in port names, COMMENT and

DESCR files when building README.html .
Don't use control characters in sed statement.

Problems reported by "Chris G. Demetriou" <cgd@pa.dec.com> in NetBSD PR
pkg/4341.
This commit is contained in:
fenner 1997-11-06 02:20:27 +00:00
parent 6d7462730b
commit f9dc192e1f

View File

@ -1,5 +1,5 @@
# from: @(#)bsd.subdir.mk 5.9 (Berkeley) 2/1/91 # from: @(#)bsd.subdir.mk 5.9 (Berkeley) 2/1/91
# $Id: bsd.port.subdir.mk,v 1.19 1997/03/09 23:10:56 wosch Exp $ # $Id: bsd.port.subdir.mk,v 1.20 1997/08/22 11:16:15 asami Exp $
# #
# The include file <bsd.port.subdir.mk> contains the default targets # The include file <bsd.port.subdir.mk> contains the default targets
# for building ports subdirectories. # for building ports subdirectories.
@ -119,27 +119,34 @@ README= ${TEMPLATES}/README.top
README= ${TEMPLATES}/README.category README= ${TEMPLATES}/README.category
.endif .endif
HTMLIFY= sed -e 's/&/\&amp;/g' -e 's/>/\&gt;/g' -e 's/</\&lt;/g'
README.html: README.html:
@echo "===> Creating README.html" @echo "===> Creating README.html"
@> $@.tmp @> $@.tmp
.for entry in ${SUBDIR} .for entry in ${SUBDIR}
.if defined(PORTSTOP) .if defined(PORTSTOP)
@echo -n '<a href="'${entry}/README.html'">${entry}</a>: ' >> $@.tmp @echo -n '<a href="'${entry}/README.html'">'"`echo ${entry} | ${HTMLIFY}`"'</a>: ' >> $@.tmp
.else .else
@echo -n '<a href="'${entry}/README.html'">'"`cd ${entry}; make package-name`</a>: " >> $@.tmp @echo -n '<a href="'${entry}/README.html'">'"`cd ${entry}; make package-name | ${HTMLIFY}`</a>: " >> $@.tmp
.endif .endif
.if exists(${entry}/pkg/COMMENT) .if exists(${entry}/pkg/COMMENT)
@cat ${entry}/pkg/COMMENT >> $@.tmp @${HTMLIFY} ${entry}/pkg/COMMENT >> $@.tmp
.else .else
@echo "(no description)" >> $@.tmp @echo "(no description)" >> $@.tmp
.endif .endif
.endfor .endfor
@sort -t '>' +1 -2 $@.tmp > $@.tmp2 @sort -t '>' +1 -2 $@.tmp > $@.tmp2
.if exists(${.CURDIR}/pkg/DESCR)
@${HTMLIFY} ${.CURDIR}/pkg/DESCR > $@.tmp3
.else
@> $@.tmp3
.endif
@cat ${README} | \ @cat ${README} | \
sed -e 's%%CATEGORY%%'`echo ${.CURDIR} | sed -e 's.*/\([^/]*\)$$\1'`'g' \ sed -e 's/%%CATEGORY%%/'"`basename ${.CURDIR}`"'/g' \
-e '/%%DESCR%%/r${.CURDIR}/pkg/DESCR' \ -e '/%%DESCR%%/r$@.tmp3' \
-e '/%%DESCR%%/d' \ -e '/%%DESCR%%/d' \
-e '/%%SUBDIR%%/r$@.tmp2' \ -e '/%%SUBDIR%%/r$@.tmp2' \
-e '/%%SUBDIR%%/d' \ -e '/%%SUBDIR%%/d' \
> $@ > $@
@rm -f $@.tmp $@.tmp2 @rm -f $@.tmp $@.tmp2 $@.tmp3