Index: Mk/bsd.pkgng.mk =================================================================== --- Mk/bsd.pkgng.mk (revision 338838) +++ Mk/bsd.pkgng.mk (working copy) @@ -41,7 +41,7 @@ @${ECHO_CMD} "version: ${PKGVERSION}" >> ${MANIFESTF} @${ECHO_CMD} "origin: ${PKGORIGIN}" >> ${MANIFESTF} @${ECHO_CMD} "comment: |" >> ${MANIFESTF} - @${ECHO_CMD} " "${COMMENT:Q} >> ${MANIFESTF} + @${ECHO_CMD} " "${COMMENT} | awk -f ${SCRIPTSDIR}/pkgencode.awk >> ${MANIFESTF} @${ECHO_CMD} "maintainer: ${MAINTAINER}" >> ${MANIFESTF} @${ECHO_CMD} "prefix: ${PREFIX}" >> ${MANIFESTF} #.if defined(NO_ARCH) Index: Mk/Scripts/pkgencode.awk =================================================================== --- Mk/Scripts/pkgencode.awk (revision 0) +++ Mk/Scripts/pkgencode.awk (working copy) @@ -0,0 +1,23 @@ +# $FreeBSD$ + +BEGIN { + for (i = 0; i <= 255; i++) + ord[sprintf("%c", i)] = i + for (i = 0; i < 128; i++) { + if (i != 37) + ascii = sprintf("%s%c", ascii, i) + } +} +function encode(str, c, len, res) { + len = length(str) + res = "" + for (i = 1; i <= len; i++) { + c = substr(str, i, 1); + if (index(ascii, c) != 0) + res = res c + else + res = res "%" sprintf("%02X", ord[c]) + } + return res +} +{ print encode($0); }