ports/59058: [PATCH] bsd.port.mk: cleanup

Oliver Eikemeier eikemeier at fillmore-labs.com
Sat Nov 8 16:20:09 UTC 2003


>Number:         59058
>Category:       ports
>Synopsis:       [PATCH] bsd.port.mk: cleanup
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sat Nov 08 08:20:06 PST 2003
>Closed-Date:
>Last-Modified:
>Originator:     Oliver Eikemeier
>Release:        FreeBSD 4.9-PRERELEASE i386
>Organization:
Fillmore Labs - http://www.fillmore-labs.com/
>Environment:
System: FreeBSD nuuk.fillmore-labs.com 4.9-PRERELEASE

>Description:

* new macros for paste, pax, printf, sort & unzip (use i.e. by openoffice)
* ${ECHO} => ${ECHO_CMD}
* eliminate all verbatim uses of awk, cat, echo, file, test & tr
  (perhaps we should do some ${ECHO_CMD} => ${ECHO_MSG})
* eliminate // in packing list for manpages specified in MLINKS
* fix `make -s install' and `make -s deinstall'
* supersedes PR 56600
* activate the size recording checked in at
  http://www.freebsd.org/cgi/cvsweb.cgi/ports/Mk/bsd.port.mk#rev1.291
  (only if USE_SIZE is defined)
* try to re-get distfiles only if it makes sense
* be more specific looking for files in distinfo
  (fetch accepted "afile" and "file" if only "afile" was in distinfo)
* converted some (but not all) spaces to tabs
* do some `cd ${.CURDIR}' before `make', just in case

>How-To-Repeat:

Some examples are in PR 56600

>Fix:

--- bsd.port.mk-cleanup.patch begins here ---
--- bsd.port.mk.orig	8 Nov 2003 03:22:08 -0000
+++ bsd.port.mk	8 Nov 2003 15:35:48 -0000
@@ -867,12 +867,16 @@
 LS?=		/bin/ls
 MKDIR?=		/bin/mkdir -p
 MV?=		/bin/mv
+PASTE?=		/usr/bin/paste
+PAX?=		/bin/pax
+PRINTF?=	/usr/bin/printf
 REALPATH?=	/bin/realpath
 RM?=		/bin/rm
 RMDIR?=		/bin/rmdir
 SED?=		/usr/bin/sed
 SETENV?=	/usr/bin/env
 SH?=		/bin/sh
+SORT?=		/usr/bin/sort
 STRIP_CMD?=	/usr/bin/strip
 SU_CMD?=	/usr/bin/su root -c
 TAIL?=		/usr/bin/tail
@@ -880,6 +884,12 @@
 TR?=		/usr/bin/tr
 TRUE?=		true				# Shell builtin
 UNAME?=		/usr/bin/uname
+.if exists(/usr/bin/unzip)
+UNZIP_CMD?=	/usr/bin/unzip
+.else
+UNZIP_CMD?=	${LOCALBASE}/bin/unzip
+ZIPDEPENDS=	yes
+.endif
 WHICH?=		/usr/bin/which
 XARGS?=		/usr/bin/xargs
 YACC?=		/usr/bin/yacc
@@ -921,7 +931,7 @@
 
 # Get the object format.
 .if !defined(PORTOBJFORMAT)
-PORTOBJFORMAT!=	test -x /usr/bin/objformat && /usr/bin/objformat || echo aout
+PORTOBJFORMAT!=	${TEST} -x /usr/bin/objformat && /usr/bin/objformat || ${ECHO_CMD} aout
 .endif
 
 MASTERDIR?=	${.CURDIR}
@@ -1212,7 +1239,7 @@
 .if ${PATCHFILES:M*.bz2}x != x && defined(BZIP2DEPENDS)
 PATCH_DEPENDS+=		bzip2:${PORTSDIR}/archivers/bzip2
 .endif
-.if ${PATCHFILES:M*.zip}x != x
+.if ${PATCHFILES:M*.zip}x != x && defined(ZIPDEPENDS)
 PATCH_DEPENDS+=		unzip:${PORTSDIR}/archivers/unzip
 .endif
 .endif
@@ -1220,7 +1247,7 @@
 .if defined(USE_BZIP2) && defined(BZIP2DEPENDS)
 EXTRACT_DEPENDS+=	bzip2:${PORTSDIR}/archivers/bzip2
 .endif
-.if defined(USE_ZIP)
+.if defined(USE_ZIP) && defined(ZIPDEPENDS)
 EXTRACT_DEPENDS+=	unzip:${PORTSDIR}/archivers/unzip
 .endif
 .if defined(USE_GMAKE)
@@ -1746,7 +1773,7 @@
 FETCH_CMD?=		/usr/bin/fetch -ARr
 FETCH_REGET?=	1
 .endif
-#FETCH_BEFORE_ARGS+=	$${CKSIZE:+-S $$CKSIZE}
+FETCH_BEFORE_ARGS+=	$${CKSIZE:+-S $$CKSIZE}
 .else
 FETCH_CMD?=		/usr/bin/ftp
 FETCH_REGET?=	0
@@ -1808,7 +1835,7 @@
 
 # EXTRACT_SUFX is defined in .pre.mk section
 .if defined(USE_ZIP)
-EXTRACT_CMD?=			unzip
+EXTRACT_CMD?=			${UNZIP_CMD}
 EXTRACT_BEFORE_ARGS?=	-qo
 EXTRACT_AFTER_ARGS?=	-d ${WRKDIR}
 .else
@@ -1917,7 +1944,7 @@
 # Does the pkg_create tool support conflict checking?
 PKGINSTALLVER!= ${PKG_INFO} -P 2>/dev/null | ${SED} -e 's/.*: //'
 .if ${PKGINSTALLVER} < 20030417
-DISABLE_CONFLICTS=     YES
+DISABLE_CONFLICTS=	YES
 .endif
 .if !defined(PKG_ARGS)
 PKG_ARGS=		-v -c -${COMMENT:Q} -d ${DESCR} -f ${TMPPLIST} -p ${PREFIX} -P "`cd ${.CURDIR} && ${MAKE} package-depends | ${GREP} -v -E ${PKG_IGNORE_DEPENDS} | sort -u`" ${EXTRA_PKG_ARGS} $${_LATE_PKG_ARGS}
@@ -1928,7 +1955,7 @@
 PKG_ARGS+=		-o ${PKGORIGIN}
 .endif
 .if defined(CONFLICTS) && !defined(DISABLE_CONFLICTS)
-PKG_ARGS+=      -C "${CONFLICTS}"
+PKG_ARGS+=		-C "${CONFLICTS}"
 .endif
 .endif
 .if defined(PKG_NOCOMPRESS)
@@ -2266,7 +2293,7 @@
 .			if !target(master-sites-${_group})
 SORTED_MASTER_SITES_${_group}_CMD=	cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} master-sites-${_group}
 master-sites-${_group}:
-	@echo ${_MASTER_SITE_OVERRIDE} `echo '${_MASTER_SITES_${_group}}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}
+	@${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_MASTER_SITES_${_group}}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}
 .			endif
 .		endfor
 .	endif
@@ -2278,7 +2305,7 @@
 .			if !target(patch-sites-${_group})
 SORTED_PATCH_SITES_${_group}_CMD=	cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} patch-sites-${_group}
 patch-sites-${_group}:
-	@echo ${_MASTER_SITE_OVERRIDE} `echo '${_PATCH_SITES_${_group}}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}
+	@${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_PATCH_SITES_${_group}}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}
 .			endif
 .		endfor
 .	endif
@@ -2311,14 +2338,14 @@
 .endfor
 
 master-sites-ALL:
-	@echo ${_MASTER_SITE_OVERRIDE} `echo '${_MASTER_SITES_ALL}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}
+	@${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_MASTER_SITES_ALL}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}
 patch-sites-ALL:
-	@echo ${_MASTER_SITE_OVERRIDE} `echo '${_PATCH_SITES_ALL}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}
+	@${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_PATCH_SITES_ALL}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}
 # has similar effect to old targets, i.e., access only {MASTER,PATCH}_SITES, not working with the new _n variables
 master-sites-DEFAULT:
-	@echo ${_MASTER_SITE_OVERRIDE} `echo '${_MASTER_SITES_DEFAULT}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}
+	@${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_MASTER_SITES_DEFAULT}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}
 patch-sites-DEFAULT:
-	@echo ${_MASTER_SITE_OVERRIDE} `echo '${_PATCH_SITES_DEFAULT}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}
+	@${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} '${_PATCH_SITES_DEFAULT}' | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}
 
 # synonyms, mnemonics
 master-sites-all: master-sites-ALL
@@ -2341,7 +2368,7 @@
 			fi; \
 		done; \
 		if [ "$$ignore" = 0 ]; then \
-			echo "$$file"; \
+			${ECHO_CMD} "$$file"; \
 		fi; \
 	done
 .endif
@@ -2473,14 +2500,14 @@
 		else \
 			{ print "broken"; exit; } \
 	} \
-  }' | ${SED} -e 's \([^/ ][^ ]*\.\(.\)[^. ]*\) $${MAN\2PREFIX}/man/$$$$$$$${__lang}/man\2/\1${MANEXT}g' -e 's/ //g' -e 's/MANlPREFIX/MANLPREFIX/g' -e 's/MANnPREFIX/MANNPREFIX/g'
+  }' | ${SED} -e 's \([^/ ][^ ]*\.\(.\)[^. ]*\) $${MAN\2PREFIX}/$$$$$$$${__lang}/man\2/\1${MANEXT}g' -e 's/ //g' -e 's/MANlPREFIX/MANLPREFIX/g' -e 's/MANnPREFIX/MANNPREFIX/g'
 .if ${__pmlinks:Mbroken} == "broken"
 .BEGIN:
 	@${ECHO_CMD} "${PKGNAME}: Unable to parse MLINKS."
 	@${FALSE}
 .endif
 _MLINKS=	${_MLINKS_PREPEND}
-.for lang in ${MANLANG}
+.for lang in ${MANLANG:S%^%man/%:S%^man/""$%man%}
 .for ___pmlinks in ${__pmlinks}
 .for __lang in ${lang}
 _MLINKS+=	${___pmlinks:S// /g}
@@ -2498,36 +2525,32 @@
 .endif
 .endfor
 
-.for lang in ${MANLANG}
+.for manlang in ${MANLANG:S%^%man/%:S%^man/""$%man%}
 
-.for sect in 1 2 3 4 5 6 7 8 9
+.for sect in 1 2 3 4 5 6 7 8 9 L N
 .if defined(MAN${sect})
-_MANPAGES+=	${MAN${sect}:S%^%${MAN${sect}PREFIX}/man/${lang}/man${sect}/%}
+_MANPAGES+=	${MAN${sect}:S%^%${MAN${sect}PREFIX}/${manlang}/man${sect:L}/%}
 .endif
 .endfor
 
-.if defined(MANL)
-_MANPAGES+=	${MANL:S%^%${MANLPREFIX}/man/${lang}/manl/%}
-.endif
-
-.if defined(MANN)
-_MANPAGES+=	${MANN:S%^%${MANNPREFIX}/man/${lang}/mann/%}
-.endif
-
 .endfor
 
 .if !defined(_MLINKS)
 _TMLINKS=
 .endif
 
-.if defined(_MANPAGES) && defined(NOMANCOMPRESS)
-__MANPAGES:=	${_MANPAGES:S^${PREFIX}/^^:S/""//:S^//^/^g}
-.elif defined(_MANPAGES)
-__MANPAGES:=	${_MANPAGES:S^${PREFIX}/^^:S/""//:S^//^/^g:S/$/.gz/}
+.if defined(_MANPAGES)
+
+.if defined(NOMANCOMPRESS)
+__MANPAGES:=	${_MANPAGES:S%^${PREFIX}/%%}
+.else
+__MANPAGES:=	${_MANPAGES:S%^${PREFIX}/%%:S%$%.gz%}
+.endif
+
+.if ${MANCOMPRESSED} == "yes"
+_MANPAGES:=	${_MANPAGES:S%$%.gz%}
 .endif
 
-.if defined(_MANPAGES) && ${MANCOMPRESSED} == "yes"
-_MANPAGES:=	${_MANPAGES:S/$/.gz/}
 .endif
 
 .if ${XFREE86_VERSION} == 3
@@ -2813,8 +2836,8 @@
 	@(cd ${_DISTDIR}; \
 	 ${_MASTER_SITES_ENV} ; \
 	 for _file in ${DISTFILES}; do \
-		file=`echo $$_file | ${SED} -E -e 's/:[^:]+$$//'` ; \
-		select=`echo $${_file#$${file}} | ${SED} -e 's/^://' -e 's/,/ /g'` ; \
+		file=`${ECHO_CMD} $$_file | ${SED} -E -e 's/:[^:]+$$//'` ; \
+		select=`${ECHO_CMD} $${_file#$${file}} | ${SED} -e 's/^://' -e 's/,/ /g'` ; \
 		force_fetch=false; \
 		filebasename=`${BASENAME} $$file`; \
 		for afile in ${FORCE_FETCH}; do \
@@ -2824,6 +2847,8 @@
 			fi; \
 		done; \
 		if [ ! -f $$file -a ! -f $$filebasename -o "$$force_fetch" = "true" ]; then \
+			DIR=${DIST_SUBDIR}; \
+			pattern="$${DIR:+$$DIR/}`${ECHO_CMD} $$file | ${SED} -e 's/\./\\\\./g'`"; \
 			if [ -L $$file -o -L $$filebasename ]; then \
 				${ECHO_MSG} ">> ${_DISTDIR}/$$file is a broken symlink."; \
 				${ECHO_MSG} ">> Perhaps a filesystem (most likely a CD) isn't mounted?"; \
@@ -2831,10 +2856,10 @@
 				exit 1; \
 			fi ; \
 			if [ -f ${MD5_FILE} -a "x${NO_CHECKSUM}" = "x" ]; then \
-				if ! ${GREP} -q "^MD5 (.*$$file)" ${MD5_FILE}; then \
-					${ECHO_MSG} ">> $$file is not in ${MD5_FILE}."; \
+				if ! ${GREP} -q "^MD5 ($$pattern)" ${MD5_FILE}; then \
+					${ECHO_MSG} ">> $${DIR:+$$DIR/}$$file is not in ${MD5_FILE}."; \
 					${ECHO_MSG} ">> Either ${MD5_FILE} is out of date, or"; \
-					${ECHO_MSG} ">> $$file is spelled incorrectly."; \
+					${ECHO_MSG} ">> $${DIR:+$$DIR/}$$file is spelled incorrectly."; \
 					exit 1; \
 				fi; \
 			fi; \
@@ -2852,7 +2877,7 @@
 					fi \
 				done; \
 				___MASTER_SITES_TMP= ; \
-				SORTED_MASTER_SITES_CMD_TMP="echo ${_MASTER_SITE_OVERRIDE} `echo $${__MASTER_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \
+				SORTED_MASTER_SITES_CMD_TMP="${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} $${__MASTER_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \
 			else \
 				SORTED_MASTER_SITES_CMD_TMP="${SORTED_MASTER_SITES_DEFAULT_CMD}" ; \
 			fi ; \
@@ -2878,8 +2903,8 @@
 	@(cd ${_DISTDIR}; \
 	 ${_PATCH_SITES_ENV} ; \
 	 for _file in ${PATCHFILES}; do \
-		file=`echo $$_file | ${SED} -E -e 's/:[^:]+$$//'` ; \
-		select=`echo $${_file#$${file}} | ${SED} -e 's/^://' -e 's/,/ /g'` ; \
+		file=`${ECHO_CMD} $$_file | ${SED} -E -e 's/:[^:]+$$//'` ; \
+		select=`${ECHO_CMD} $${_file#$${file}} | ${SED} -e 's/^://' -e 's/,/ /g'` ; \
 		force_fetch=false; \
 		filebasename=`${BASENAME} $$file`; \
 		for afile in ${FORCE_FETCH}; do \
@@ -2905,14 +2930,15 @@
 					fi \
 				done; \
 				___PATCH_SITES_TMP= ; \
-				SORTED_PATCH_SITES_CMD_TMP="echo ${_MASTER_SITE_OVERRIDE} `echo $${__PATCH_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \
+				SORTED_PATCH_SITES_CMD_TMP="${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} $${__PATCH_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \
 			else \
 				SORTED_PATCH_SITES_CMD_TMP="${SORTED_PATCH_SITES_DEFAULT_CMD}" ; \
 			fi ; \
 			for site in `eval $$SORTED_PATCH_SITES_CMD_TMP`; do \
 			    ${ECHO_MSG} ">> Attempting to fetch from $${site}."; \
 				DIR=${DIST_SUBDIR}; \
-				CKSIZE=`${GREP} "^SIZE ($${DIR:+$$DIR/}$$file)" ${MD5_FILE} | ${AWK} '{print $$4}'`; \
+				pattern="$${DIR:+$$DIR/}`${ECHO_CMD} $$file | ${SED} -e 's/\./\\\\./g'`"; \
+				CKSIZE=`${GREP} "^SIZE ($$pattern)" ${MD5_FILE} | ${AWK} '{print $$4}'`; \
 				case $${file} in \
 				*/*)	${MKDIR} $${file%/*}; \
 						args="-o $${file} $${site}$${file}";; \
@@ -2981,7 +3007,7 @@
 	done
 .endif
 	@if [ -d ${PATCHDIR} ]; then \
-		if [ "`echo ${PATCHDIR}/patch-*`" != "${PATCHDIR}/patch-*" ]; then \
+		if [ "`${ECHO_CMD} ${PATCHDIR}/patch-*`" != "${PATCHDIR}/patch-*" ]; then \
 			${ECHO_MSG} "===>  Applying ${OPSYS} patches for ${PKGNAME}" ; \
 			PATCHES_APPLIED="" ; \
 			for i in ${PATCHDIR}/patch-*; do \
@@ -3089,11 +3115,11 @@
 .for conflict in ${CONFLICTS}
 	@found="`${LS} -d ${PKG_DBDIR}/${conflict} 2>/dev/null || ${TRUE}`"; \
 	if [ X"$$found" != X"" ]; then \
-		${ECHO} "$$found" >> ${WRKDIR}/.CONFLICTS; \
+		${ECHO_CMD} "$$found" >> ${WRKDIR}/.CONFLICTS; \
 	fi
 .endfor
 	@if [ -s ${WRKDIR}/.CONFLICTS ]; then \
-		found=`cat ${WRKDIR}/.CONFLICTS | ${SED} -e s'|${PKG_DBDIR}/||g' | tr '\012' ' '`; \
+		found=`${CAT} ${WRKDIR}/.CONFLICTS | ${SED} -e s'|${PKG_DBDIR}/||g' | ${TR} '\012' ' '`; \
 		${ECHO_MSG} "===>  ${PKGNAME} conflicts with installed package(s): "; \
 		for entry in $$found; do \
 			${ECHO_MSG} "      $$entry"; \
@@ -3158,10 +3184,10 @@
 	fi; \
 	if ${PKG_CMD} ${PKG_ARGS} ${PKGFILE}; then \
 		if [ -d ${PACKAGES} ]; then \
-			eval ${MAKE} $${__softMAKEFLAGS} package-links; \
+			cd ${.CURDIR} && eval ${MAKE} $${__softMAKEFLAGS} package-links; \
 		fi; \
 	else \
-		eval ${MAKE} $${__softMAKEFLAGS} delete-package; \
+		cd ${.CURDIR} && eval ${MAKE} $${__softMAKEFLAGS} delete-package; \
 		exit 1; \
 	fi
 .endif
@@ -3331,73 +3357,73 @@
 				${WRKDIR}/.PLIST.objdump 2> /dev/null; \
 			if [ -s ${WRKDIR}/.PLIST.objdump ] ; then \
 				${EGREP} " $$stupid_functions_regexp" \
-					${WRKDIR}/.PLIST.objdump | awk '{print " " $$3}' | tr -d '\n' \
+					${WRKDIR}/.PLIST.objdump | ${AWK} '{print " " $$3}' | ${TR} -d '\n' \
 					> ${WRKDIR}/.PLIST.stupid; \
 				if [ -n "`${EGREP} ' (accept|recvfrom)$$' ${WRKDIR}/.PLIST.objdump`" ] ; then \
 					if [ -s ${WRKDIR}/.PLIST.stupid ]; then \
-						echo -n "${PREFIX}/$$i (USES POSSIBLY INSECURE FUNCTIONS:" >> ${WRKDIR}/.PLIST.network; \
-						cat ${WRKDIR}/.PLIST.stupid >> ${WRKDIR}/.PLIST.network; \
-						echo ")" >> ${WRKDIR}/.PLIST.network; \
+						${ECHO_CMD} -n "${PREFIX}/$$i (USES POSSIBLY INSECURE FUNCTIONS:" >> ${WRKDIR}/.PLIST.network; \
+						${CAT} ${WRKDIR}/.PLIST.stupid >> ${WRKDIR}/.PLIST.network; \
+						${ECHO_CMD} ")" >> ${WRKDIR}/.PLIST.network; \
 					else \
-						echo ${PREFIX}/$$i >> ${WRKDIR}/.PLIST.network; \
+						${ECHO_CMD} ${PREFIX}/$$i >> ${WRKDIR}/.PLIST.network; \
 					fi; \
 				fi; \
 			fi; \
-			if [ -n "`/usr/bin/find ${PREFIX}/$$i -prune \( -perm -4000 -o -perm -2000 \) \( -perm -0010 -o -perm -0001 \) 2>/dev/null`" ]; then \
+			if [ -n "`${FIND} ${PREFIX}/$$i -prune \( -perm -4000 -o -perm -2000 \) \( -perm -0010 -o -perm -0001 \) 2>/dev/null`" ]; then \
 				if [ -s ${WRKDIR}/.PLIST.stupid ]; then \
-					echo -n "${PREFIX}/$$i (USES POSSIBLY INSECURE FUNCTIONS:" >> ${WRKDIR}/.PLIST.setuid; \
-					cat ${WRKDIR}/.PLIST.stupid >> ${WRKDIR}/.PLIST.setuid; \
-					echo ")" >> ${WRKDIR}/.PLIST.setuid; \
+					${ECHO_CMD} -n "${PREFIX}/$$i (USES POSSIBLY INSECURE FUNCTIONS:" >> ${WRKDIR}/.PLIST.setuid; \
+					${CAT} ${WRKDIR}/.PLIST.stupid >> ${WRKDIR}/.PLIST.setuid; \
+					${ECHO_CMD} ")" >> ${WRKDIR}/.PLIST.setuid; \
 				else \
-					echo ${PREFIX}/$$i >> ${WRKDIR}/.PLIST.setuid; \
+					${ECHO_CMD} ${PREFIX}/$$i >> ${WRKDIR}/.PLIST.setuid; \
 				fi; \
 			fi; \
 		fi; \
 		if [ ! -L "${PREFIX}/$$i" ]; then \
-			if [ -n "`/usr/bin/find ${PREFIX}/$$i -prune -perm -0002 2>/dev/null`" ]; then \
-				 echo ${PREFIX}/$$i >> ${WRKDIR}/.PLIST.writable; \
+			if [ -n "`${FIND} ${PREFIX}/$$i -prune -perm -0002 2>/dev/null`" ]; then \
+				 ${ECHO_CMD} ${PREFIX}/$$i >> ${WRKDIR}/.PLIST.writable; \
 			fi; \
 		fi; \
 	done; \
 	${GREP} '^etc/rc.d/' ${TMPPLIST} > ${WRKDIR}/.PLIST.startup; \
 	if [ -s ${WRKDIR}/.PLIST.setuid -o -s ${WRKDIR}/.PLIST.network -o -s ${WRKDIR}/.PLIST.writable ]; then \
 		if [ -n "$$PORTS_AUDIT" ]; then \
-			echo "===>  SECURITY REPORT (PARANOID MODE): "; \
+			${ECHO_CMD} "===>  SECURITY REPORT (PARANOID MODE): "; \
 		else \
-			echo "===>  SECURITY REPORT: "; \
+			${ECHO_CMD} "===>  SECURITY REPORT: "; \
 		fi; \
 		if [ -s ${WRKDIR}/.PLIST.setuid ] ; then \
-			echo "      This port has installed the following binaries which execute with"; \
-			echo "      increased privileges."; \
+			${ECHO_CMD} "      This port has installed the following binaries which execute with"; \
+			${ECHO_CMD} "      increased privileges."; \
 			${CAT} ${WRKDIR}/.PLIST.setuid; \
-			echo; \
+			${ECHO_CMD}; \
 		fi; \
 		if [ -s ${WRKDIR}/.PLIST.network ] ; then \
-			echo "      This port has installed the following files which may act as network"; \
-			echo "      servers and may therefore pose a remote security risk to the system."; \
+			${ECHO_CMD} "      This port has installed the following files which may act as network"; \
+			${ECHO_CMD} "      servers and may therefore pose a remote security risk to the system."; \
 			${CAT} ${WRKDIR}/.PLIST.network; \
-			echo; \
+			${ECHO_CMD}; \
 			if [ -s ${WRKDIR}/.PLIST.startup ] ; then \
-				echo "      This port has installed the following startup scripts which may cause"; \
-				echo "      these network services to be started at boot time."; \
+				${ECHO_CMD} "      This port has installed the following startup scripts which may cause"; \
+				${ECHO_CMD} "      these network services to be started at boot time."; \
 				${SED} s,^,${PREFIX}/, < ${WRKDIR}/.PLIST.startup; \
-				echo; \
+				${ECHO_CMD}; \
 			fi; \
 		fi; \
 		if [ -s ${WRKDIR}/.PLIST.writable ] ; then \
-			echo "      This port has installed the following world-writable files/directories."; \
+			${ECHO_CMD} "      This port has installed the following world-writable files/directories."; \
 			${CAT} ${WRKDIR}/.PLIST.writable; \
-			echo; \
+			${ECHO_CMD}; \
 		fi; \
-		echo "      If there are vulnerabilities in these programs there may be a security"; \
-		echo "      risk to the system. FreeBSD makes no guarantee about the security of"; \
-		echo "      ports included in the Ports Collection. Please type 'make deinstall'"; \
-		echo "      to deinstall the port if this is a concern."; \
-	    if [ ! -z "`make www-site`" ]; then \
-			echo; \
-			echo "      For more information, and contact details about the security"; \
-			echo "      status of this software, see the following webpage: "; \
-			${MAKE} www-site; \
+		${ECHO_CMD} "      If there are vulnerabilities in these programs there may be a security"; \
+		${ECHO_CMD} "      risk to the system. FreeBSD makes no guarantee about the security of"; \
+		${ECHO_CMD} "      ports included in the Ports Collection. Please type 'make deinstall'"; \
+		${ECHO_CMD} "      to deinstall the port if this is a concern."; \
+	    if [ ! -z "`cd ${.CURDIR} && ${MAKE} www-site`" ]; then \
+			${ECHO_CMD}; \
+			${ECHO_CMD} "      For more information, and contact details about the security"; \
+			${ECHO_CMD} "      status of this software, see the following webpage: "; \
+			cd ${.CURDIR} && ${MAKE} www-site; \
 		fi; \
 	fi
 .endif
@@ -3464,10 +3490,10 @@
 .else
 ${${target:U}_COOKIE}: ${_${target:U}_DEP} ${_${target:U}_SEQ}
 .endif
-	@echo "===>  Switching to root credentials for '${target}' target"
+	@${ECHO_CMD} "===>  Switching to root credentials for '${target}' target"
 	@cd ${.CURDIR} && \
 		${SU_CMD} "${MAKE} ${__softMAKEFLAGS} ${_${target:U}_SUSEQ}"
-	@echo "===>  Returning to user credentials"
+	@${ECHO_CMD} "===>  Returning to user credentials"
 	@${TOUCH} ${TOUCH_FLAGS} ${.TARGET}
 .elif defined(USE_SUBMAKE)
 ${${target:U}_COOKIE}: ${_${target:U}_DEP}
@@ -3586,9 +3612,9 @@
 pretty-print-www-site:
 	@www_site=$$(cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} www-site); \
 	if [ -n "$${www_site}" ]; then \
-		${ECHO} -n " and/or visit the "; \
-		${ECHO} -n "<a href=\"$${www_site}\">web site</a>"; \
-		${ECHO} " for futher informations"; \
+		${ECHO_CMD} -n " and/or visit the "; \
+		${ECHO_CMD} -n "<a href=\"$${www_site}\">web site</a>"; \
+		${ECHO_CMD} " for futher informations"; \
 	fi
 .endif
 
@@ -3622,15 +3648,15 @@
 .if !target(deinstall)
 deinstall:
 .if ${UID} != 0 && !defined(INSTALL_AS_USER)
-	@echo "===>  Switching to root credentials for '${.TARGET}' target"
+	@${ECHO_CMD} "===>  Switching to root credentials for '${.TARGET}' target"
 	@cd ${.CURDIR} && \
 		${SU_CMD} "${MAKE} ${__softMAKEFLAGS} ${.TARGET}"
-	@echo "===>  Returning to user credentials"
+	@${ECHO_CMD} "===>  Returning to user credentials"
 .else
 	@${ECHO_MSG} "===>  Deinstalling for ${PKGORIGIN}"
 	@found_names=`${PKG_INFO} -q -O ${PKGORIGIN}`; \
 	for p in $${found_names}; do \
-			check_name=`${ECHO} $${p} | ${SED} -e 's/-[^-]*$$//'`; \
+			check_name=`${ECHO_CMD} $${p} | ${SED} -e 's/-[^-]*$$//'`; \
 			if [ "$${check_name}" = "${PKGBASE}" ]; then \
 					prfx=`${PKG_INFO} -q -p $${p} 2> /dev/null | ${HEAD} -n 1 | ${SED} -ne '1s|^@cwd ||p'`; \
 					if [ "x${PREFIX}" = "x$${prfx}" ]; then \
@@ -3655,10 +3681,10 @@
 .if !target(deinstall-all)
 deinstall-all:
 .if ${UID} != 0 && !defined(INSTALL_AS_USER)
-	@echo "===>  Switching to root credentials for '${.TARGET}' target"
+	@${ECHO_CMD} "===>  Switching to root credentials for '${.TARGET}' target"
 	@cd ${.CURDIR} && \
 		${SU_CMD} "${MAKE} ${__softMAKEFLAGS} ${.TARGET}"
-	@echo "===>  Returning to user credentials"
+	@${ECHO_CMD} "===>  Returning to user credentials"
 .else
 	@${ECHO_MSG} "===>  Deinstalling for ${PKGORIGIN}"
 	@deinstall_names=`${PKG_INFO} -q -O ${PKGORIGIN}`; \
@@ -3755,8 +3781,8 @@
 	@(cd ${_DISTDIR}; \
 	 ${_MASTER_SITES_ENV} ; \
 	 for _file in ${DISTFILES}; do \
-		file=`echo $$_file | ${SED} -E -e 's/:[^:]+$$//'` ; \
-		select=`echo $${_file#$${file}} | ${SED} -e 's/^://' -e 's/,/ /g'` ; \
+		file=`${ECHO_CMD} $$_file | ${SED} -E -e 's/:[^:]+$$//'` ; \
+		select=`${ECHO_CMD} $${_file#$${file}} | ${SED} -e 's/^://' -e 's/,/ /g'` ; \
 		if [ ! -f $$file -a ! -f `${BASENAME} $$file` ]; then \
 			if [ ! -z "$$select" ] ; then \
 				__MASTER_SITES_TMP= ; \
@@ -3767,7 +3793,7 @@
 					fi \
 				done; \
 				___MASTER_SITES_TMP= ; \
-				SORTED_MASTER_SITES_CMD_TMP="echo ${_MASTER_SITE_OVERRIDE} `echo $${__MASTER_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \
+				SORTED_MASTER_SITES_CMD_TMP="${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} $${__MASTER_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \
 			else \
 				SORTED_MASTER_SITES_CMD_TMP="${SORTED_MASTER_SITES_DEFAULT_CMD}" ; \
 			fi ; \
@@ -3780,15 +3806,15 @@
 				esac; \
 				${ECHO_CMD} -n ${SETENV} ${FETCH_ENV} ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${args} "${FETCH_AFTER_ARGS}" '|| ' ; \
 			done; \
-			${ECHO_CMD} "echo $${file} not fetched" ; \
+			${ECHO_CMD} "${ECHO_CMD} $${file} not fetched" ; \
 		fi \
 	done)
 .if defined(PATCHFILES)
 	@(cd ${_DISTDIR}; \
 	 ${_PATCH_SITES_ENV} ; \
 	 for _file in ${PATCHFILES}; do \
-		file=`echo $$_file | ${SED} -E -e 's/:[^:]+$$//'` ; \
-		select=`echo $${_file#$${file}} | ${SED} -e 's/^://' -e 's/,/ /g'` ; \
+		file=`${ECHO_CMD} $$_file | ${SED} -E -e 's/:[^:]+$$//'` ; \
+		select=`${ECHO_CMD} $${_file#$${file}} | ${SED} -e 's/^://' -e 's/,/ /g'` ; \
 		if [ ! -f $$file -a ! -f `${BASENAME} $$file` ]; then \
 			if [ ! -z "$$select" ] ; then \
 				__PATCH_SITES_TMP= ; \
@@ -3799,7 +3825,7 @@
 					fi \
 				done; \
 				___PATCH_SITES_TMP= ; \
-				SORTED_PATCH_SITES_CMD_TMP="echo ${_MASTER_SITE_OVERRIDE} `echo $${__PATCH_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \
+				SORTED_PATCH_SITES_CMD_TMP="${ECHO_CMD} ${_MASTER_SITE_OVERRIDE} `${ECHO_CMD} $${__PATCH_SITES_TMP} | ${AWK} '${MASTER_SORT_AWK:S|\\|\\\\|g}'` ${_MASTER_SITE_BACKUP}" ; \
 			else \
 				SORTED_PATCH_SITES_CMD_TMP="${SORTED_PATCH_SITES_DEFAULT_CMD}" ; \
 			fi ; \
@@ -3812,7 +3838,7 @@
 				esac; \
 				${ECHO_CMD} -n ${SETENV} ${FETCH_ENV} ${FETCH_CMD} ${FETCH_BEFORE_ARGS} $${args} "${FETCH_AFTER_ARGS}" '|| ' ; \
 			done; \
-			${ECHO_CMD} "echo $${file} not fetched" ; \
+			${ECHO_CMD} "${ECHO_CMD} $${file} not fetched" ; \
 		fi \
 	 done)
 .endif
@@ -3828,7 +3854,7 @@
 		DISTORIG=${DISTORIG} \
 		${SH} ${PORTSDIR}/Tools/scripts/update-patches`; \
 	case $$toedit in "");; \
-	*) ${ECHO} -n 'edit patches: '; read i; \
+	*) ${ECHO_CMD} -n 'edit patches: '; read i; \
 	cd ${PATCHDIR} && $${VISUAL:-$${EDIT:-/usr/bin/vi}} $$toedit;; esac
 
 # Checksumming utilities
@@ -3840,41 +3866,42 @@
 	@(cd ${DISTDIR}; \
 	 for file in ${_CKSUMFILES}; do \
 		${MD5} $$file >> ${MD5_FILE}; \
+		if [ -n "${USE_SIZE}" ]; then \
+			${ECHO_CMD} "SIZE ($$file) = "`${LS} -ALln $$file | ${AWK} '{print $$5}'` >> ${MD5_FILE}; \
+		fi \
 	 done)
 	@for file in ${_IGNOREFILES}; do \
 		${ECHO_CMD} "MD5 ($$file) = IGNORE" >> ${MD5_FILE}; \
 	done
 .endif
-# this line goes after the ${MD5} above
-#		echo "SIZE ($$file) = "`wc -c < $$file` >> ${MD5_FILE}; \
 
 
 .if !target(checksum)
 checksum: fetch
-	@if [ ! -f ${MD5_FILE} ]; then \
-		${ECHO_MSG} ">> No MD5 checksum file."; \
-	else \
+	@if [ -f ${MD5_FILE} ]; then \
 		(cd ${DISTDIR}; OK="true"; \
 		  for file in ${_CKSUMFILES}; do \
+			pattern="`${ECHO_CMD} $$file | ${SED} -e 's/\./\\\\./g'`"; \
 			CKSUM=`${MD5} < $$file`; \
-			CKSUM2=`${GREP} "^MD5 ($$file)" ${MD5_FILE} | ${AWK} '{print $$4}'`; \
-			if [ "$$CKSUM2" = "" ]; then \
+			CKSUM2=`${GREP} "^MD5 ($$pattern)" ${MD5_FILE} | ${AWK} '{print $$4}'`; \
+			if [ -z "$$CKSUM2" ]; then \
 				${ECHO_MSG} ">> No checksum recorded for $$file."; \
 				OK="false"; \
 			elif [ "$$CKSUM2" = "IGNORE" ]; then \
 				${ECHO_MSG} ">> Checksum for $$file is set to IGNORE in distinfo file even though"; \
 				${ECHO_MSG} "   the file is not in the "'$$'"{IGNOREFILES} list."; \
 				OK="false"; \
-			elif ${EXPR} "$$CKSUM2" : ".*$$CKSUM" > /dev/null; then \
+			elif [ "$$CKSUM2" = "$$CKSUM" ]; then \
 				${ECHO_MSG} ">> Checksum OK for $$file."; \
 			else \
 				${ECHO_MSG} ">> Checksum mismatch for $$file."; \
 				refetchlist="$$refetchlist$$file "; \
-				OK="false"; \
+				OK="retry"; \
 			fi; \
 		  done; \
 		  for file in ${_IGNOREFILES}; do \
-			CKSUM2=`${GREP} "($$file)" ${MD5_FILE} | ${AWK} '{print $$4}'`; \
+			pattern="`${ECHO_CMD} $$file | ${SED} -e 's/\./\\\\./g'`"; \
+			CKSUM2=`${GREP} "($$pattern)" ${MD5_FILE} | ${AWK} '{if(NR<2)print $$4}'`; \
 			if [ "$$CKSUM2" = "" ]; then \
 				${ECHO_MSG} ">> No checksum recorded for $$file, file is in "'$$'"{IGNOREFILES} list."; \
 				OK="false"; \
@@ -3884,7 +3911,7 @@
 				OK="false"; \
 			fi; \
 		  done; \
-		  if [ "$$OK" != "true" ] && [ ${FETCH_REGET} -gt 0 ]; then \
+		  if [ "$$OK" = "retry" ] && [ ${FETCH_REGET} -gt 0 ]; then \
 			  ${ECHO_MSG} "===>  Refetch for ${FETCH_REGET} more times files: $$refetchlist"; \
 			  if ( cd ${.CURDIR} && \
 			    ${MAKE} ${.MAKEFLAGS} FORCE_FETCH="$$refetchlist" FETCH_REGET="`expr ${FETCH_REGET} - 1`" fetch); then \
@@ -3904,6 +3931,8 @@
 		  if [ "$$OK" != "true" ]; then \
 			  exit 1; \
 		  fi); \
+	elif [ -n "${_CKSUMFILES:M*}" ]; then \
+		${ECHO_MSG} ">> No checksum file (${MD5_FILE})."; \
 	fi
 .endif
 
@@ -4410,7 +4439,7 @@
 	defined(FETCH_DEPENDS) || defined(BUILD_DEPENDS) || \
 	defined(LIB_DEPENDS) || defined(DEPENDS)
 	@${ECHO_CMD} -n 'This port requires package(s) "'
-	@${ECHO_CMD} -n `${GREP} '^${PKGNAME}|' ${PORTSDIR}/${INDEXFILE} | awk -F\| '{print $$8;}'`
+	@${ECHO_CMD} -n `${GREP} '^${PKGNAME}|' ${PORTSDIR}/${INDEXFILE} | ${AWK} -F\| '{print $$8;}'`
 	@${ECHO_CMD} '" to build.'
 .endif
 .endif
@@ -4419,7 +4448,7 @@
 pretty-print-run-depends-list:
 .if defined(RUN_DEPENDS) || defined(LIB_DEPENDS) || defined(DEPENDS)
 	@${ECHO_CMD} -n 'This port requires package(s) "'
-	@${ECHO_CMD} -n `${GREP} '^${PKGNAME}|' ${PORTSDIR}/${INDEXFILE} | awk -F\| '{print $$9;}'`
+	@${ECHO_CMD} -n `${GREP} '^${PKGNAME}|' ${PORTSDIR}/${INDEXFILE} | ${AWK} -F\| '{print $$9;}'`
 	@${ECHO_CMD} '" to run.'
 .endif
 .endif
@@ -4438,24 +4467,24 @@
 	done
 .for _PREFIX in ${PREFIX}
 .if ${_TMLINKS:M${_PREFIX}*}x != x
-	@for i in ${_TMLINKS:M${_PREFIX}*:S|^${_PREFIX}/||:S,//,/,g}; do \
+	@for i in ${_TMLINKS:M${_PREFIX}*:S|^${_PREFIX}/||}; do \
 		${ECHO_CMD} "$$i" >> ${TMPPLIST}; \
 	done
 .endif
 .if ${_TMLINKS:N${_PREFIX}*}x != x
 	@${ECHO_CMD} @cwd / >> ${TMPPLIST}
-	@for i in ${_TMLINKS:N${_PREFIX}*:S,^/,,}; do \
+	@for i in ${_TMLINKS:N${_PREFIX}*:S|^/||}; do \
 		${ECHO_CMD} "$$i" >> ${TMPPLIST}; \
 	done
 	@${ECHO_CMD} '@cwd ${PREFIX}' >> ${TMPPLIST}
 .endif
-	@for i in $$(${ECHO} ${__MANPAGES} ${_TMLINKS:M${_PREFIX}*:S|^${_PREFIX}/||:S,//,/,g} ' ' | ${SED} -E -e 's,man([1-9ln])/([^/ ]+) ,cat\1/\2 ,g'); do \
-		${ECHO} "@unexec rm -f %D/$${i%.gz} %D/$${i%.gz}.gz" >> ${TMPPLIST}; \
+	@for i in $$(${ECHO_CMD} ${__MANPAGES} ${_TMLINKS:M${_PREFIX}*:S|^${_PREFIX}/||} ' ' | ${SED} -E -e 's|man([1-9ln])/([^/ ]+) |cat\1/\2 |g'); do \
+		${ECHO_CMD} "@unexec rm -f %D/$${i%.gz} %D/$${i%.gz}.gz" >> ${TMPPLIST}; \
 	done
 .if ${XFREE86_HTML_MAN:L} == "yes"
 .for mansect in 1 2 3 4 5 6 7 8 9 L N
 .for man in ${MAN${mansect}}
-	@echo lib/X11/doc/html/${man}.html >> ${TMPPLIST}
+	@${ECHO_CMD} "lib/X11/doc/html/${man}.html" >> ${TMPPLIST}
 .endfor
 .endfor
 	@${ECHO_CMD} "@unexec %D/bin/mkhtmlindex %D/lib/X11/doc/html" >> ${TMPPLIST}
@@ -4527,7 +4556,7 @@
 	@_manpages='${_MANPAGES:S/'/'\''/g}' && [ "$${_manpages}" != "" ] && ( eval ${GZIP_CMD} $${_manpages} ) || ${TRUE}
 .endif
 .if defined(_MLINKS)
-	@set ${_MLINKS:S,"",,g:S,//,/,g}; \
+	@set ${_MLINKS}; \
 	while :; do \
 		[ $$# -eq 0 ] && break || ${TRUE}; \
 		${RM} -f $${2%.gz}; ${RM} -f $$2.gz; \
--- bsd.port.mk-cleanup.patch ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list