From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=46218 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PdOME-0002QY-Be for qemu-devel@nongnu.org; Thu, 13 Jan 2011 09:40:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PdOMC-0003Yl-40 for qemu-devel@nongnu.org; Thu, 13 Jan 2011 09:40:58 -0500 Received: from sj-iport-3.cisco.com ([171.71.176.72]:21691) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PdOMB-0003Y8-TZ for qemu-devel@nongnu.org; Thu, 13 Jan 2011 09:40:56 -0500 Message-ID: <4D2F0EF6.7050905@cisco.com> Date: Thu, 13 Jan 2011 07:40:54 -0700 From: David Ahern MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 1/8] fix 'no such file' error from make_device_config.sh References: <1294900477-23722-1-git-send-email-daahern@cisco.com> <1294900477-23722-2-git-send-email-daahern@cisco.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster Cc: qemu-devel@nongnu.org On 01/13/11 06:43, Markus Armbruster wrote: > David Ahern writes: > >> make_device_config currently emits an error: >> >> make config-all-devices.mak >> GEN x86_64-softmmu/config-devices.mak >> /home/dsa/kvm/releases/qemu.git/make_device_config.sh: line 21: /home/dsa/kvm/releases/qemu.git/default-configs/pci.mak : No such file or directory >> >> /bin/sh does not like the file redirection for tr so change it to cat. >> >> Signed-off-by: David Ahern >> --- >> make_device_config.sh | 2 +- >> 1 files changed, 1 insertions(+), 1 deletions(-) >> >> diff --git a/make_device_config.sh b/make_device_config.sh >> index 596fc5b..1ce4088 100644 >> --- a/make_device_config.sh >> +++ b/make_device_config.sh >> @@ -18,7 +18,7 @@ process_includes () { >> >> f=$src >> while [ -n "$f" ] ; do >> - f=`tr -d '\r' < $f | awk '/^include / {ORS=" "; print "'$src_dir'/" $2}'` >> + f=`cat $f | tr -d '\r' | awk '/^include / {ORS=" "; print "'$src_dir'/" $2}'` >> [ $? = 0 ] || exit 1 >> all_includes="$all_includes $f" >> done > > This sweeps the real error under the carpet: $f has a trailing space. > > What about: > > diff --git a/make_device_config.sh b/make_device_config.sh > index 596fc5b..711829c 100644 > --- a/make_device_config.sh > +++ b/make_device_config.sh > @@ -18,7 +18,7 @@ process_includes () { > > f=$src > while [ -n "$f" ] ; do > - f=`tr -d '\r' < $f | awk '/^include / {ORS=" "; print "'$src_dir'/" $2}'` > + f=`tr -d '\r' <"$f" | awk '/^include / {print "'$src_dir'/" $2}'` > [ $? = 0 ] || exit 1 > all_includes="$all_includes $f" > done That works too. Any idea why the '%/config-devices.mak' rule does not work for a build directory != src directory? e.g., src=/my/qemu.git, build=/tmp/build-qemu x86_64-softmmu/config-devices.mak is not created, so config-all-devices.mak is empty and the build blows up. David