Hello folks,

 I've had some problems with blank chars in file names during stage-qa.

Problems like that:

====> Running Q/A tests (stage-qa)
sed:
/home/barba/Sources/freebsd-working/ports/games/lincity-ng/work/stage/usr/local/share/lincity-ng/music/01:
No such file or directory
sed: -: No such file or directory
sed: pronobozo: No such file or directory
sed: -: No such file or directory
sed: lincity.ogg: No such file or directory
sed:
/home/barba/Sources/freebsd-working/ports/games/lincity-ng/work/stage/usr/local/share/lincity-ng/music/03:
No such file or directory
sed: -: No such file or directory
sed: Robert: No such file or directory
sed: van: No such file or directory
sed: Herk: No such file or directory
sed: -: No such file or directory
sed: Architectural: No such file or directory
sed: Contemplations.ogg: No such file or directory
sed:
/home/barba/Sources/freebsd-working/ports/games/lincity-ng/work/stage/usr/local/share/lincity-ng/music/02:
No such file or directory
sed: -: No such file or directory
sed: Robert: No such file or directory
sed: van: No such file or directory
sed: Herk: No such file or directory
sed: -: No such file or directory
sed: City: No such file or directory
sed: Blues.ogg: No such file or directory


I've fixed this with the attached patch. What do you think?


Danilo.
Index: Scripts/qa.sh
===================================================================
--- Scripts/qa.sh	(revision 332574)
+++ Scripts/qa.sh	(working copy)
@@ -17,8 +17,8 @@
 
 shebang() {
 	rc=0
-	for f in `find ${STAGEDIR} -type f`; do
-		interp=$(sed -n -e '1s/^#![[:space:]]*\([^[:space:]]*\).*/\1/p;2q' $f)
+	find ${STAGEDIR} -type f | while read f; do
+		interp=$(sed -n -e '1s/^#![[:space:]]*\([^[:space:]]*\).*/\1/p;2q' "$f")
 		case "$interp" in
 		"") ;;
 		/usr/bin/env) ;;
@@ -37,8 +37,8 @@
 
 symlinks() {
 	rc=0
-	for l in `find ${STAGEDIR} -type l`; do
-		link=$(readlink ${l})
+	find ${STAGEDIR} -type l | while read l; do
+		link=$(readlink "${l}")
 		case "${link}" in
 		${STAGEDIR}*) err "Bad symlinks ${l} pointing inside the stage directory"
 			rc=1
@@ -50,9 +50,9 @@
 paths() {
 	rc=0
 	dirs="${STAGEDIR} ${WRKDIR}"
-	for f in `find ${STAGEDIR} -type f`;do
+	find ${STAGEDIR} -type f | while read f; do
 		for d in ${dirs}; do
-			if grep -q ${d} ${f} ; then
+			if grep -q ${d} "${f}" ; then
 				err "${f} is referring to ${d}"
 				rc=1
 			fi
@@ -64,8 +64,8 @@
 stripped() {
 	[ -x /usr/bin/file ] || return # this is fatal
 	[ -n "${STRIP}" ] || return 0
-	for f in `find ${STAGEDIR} -type f`; do
-		output=`/usr/bin/file ${f}`
+	find ${STAGEDIR} -type f | while read f; do
+		output=`/usr/bin/file "${f}"`
 		case "${output}" in
 		*:*\ ELF\ *,\ not\ stripped*) warn "${f} is not stripped consider using \${STRIP_CMD}";;
 		esac

_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

Reply via email to