Problems with "spaces" in file names during stage-qa
Danilo E. Gondolfo
danilo at freebsd.org
Mon Nov 4 18:22:44 UTC 2013
On 11/03/13 20:56, Matthias Andree wrote:
> Am 03.11.2013 14:16, schrieb Danilo E. Gondolfo:
>> 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?
> Thanks for taking a stab at this.
>
> However, the patch goes only halfway. If we really want to proof it
> against blanks, we need to tweak IFS - and that would still not proof it
> against tabs or line feeds in filenames.
>
> As reference, I found David A. Wheeler's article most elucidating:
> <http://www.dwheeler.com/essays/filenames-in-shell.html>
>
> Would you like to take another, more robust, stab at the script?
Tweak IFS is smarter :D
It reduced my patch to this:
Index: qa.sh
===================================================================
--- qa.sh (revision 332718)
+++ qa.sh (working copy)
@@ -110,6 +110,7 @@
ret=0
cd ${STAGEDIR}
for check in ${checks}; do
+ IFS="$(printf '\n\t')"
${check} || ret=1
done
But the problem with other blanks remains... =/
More information about the freebsd-ports
mailing list