[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 11/11] build: Don't assume that mkbuildtree is executable
On Tue, Apr 11, 2006 at 09:26:29AM +0100, Keir Fraser wrote: > > On 11 Apr 2006, at 02:23, Horms wrote: > > >>>I couldn't decide btween chmoding mkbuildtree, which changes > >>>the tree, and running sh mkbuildtree, which assumes its a shell > >>>script. I settled on the latter. > >> > >>The scripts need bash and sh may not be bash? > > > >Would you like me to look through the scripts for bashisms, > >and perhaps change sh to bash, or just go with the chmod u+x approach? > > I think all the scripts currently specify /bin/bash. You could define > SHELL or SH in Config.mk, default to /bin/bash, and use that variable > in place of 'sh'. Understood, if they are indeed all using /bin/bash at the moment. It seems as well to just specify bash. It can be made more flexible if the need arises. Here is an updated patch. -- Horms # HG changeset patch # User Horms <horms@xxxxxxxxxxxx> # Node ID f69f52013d13de62aa66bebfbab511ccebbfe222 # Parent 491d06219ffdc9e9b99a483fe948970b75d52e06 build: Don't assume that mkbuildtree is executable In some cases, say for instance for some bizzare reason the tree was checked out of CVS, which doens't neccessarily store file permissions, mkbuildtree may not be executable. I couldn't decide btween chmoding mkbuildtree, which changes the tree, and running sh mkbuildtree, which assumes its a shell script. I settled on the latter. Amendum: All the scripts currently specify /bin/bash, so use bash rather than sh which was in the original version of this patch. Signed-Off-By: Horms <horms@xxxxxxxxxxxx> diff -r 491d06219ffd -r f69f52013d13 buildconfigs/Rules.mk --- a/buildconfigs/Rules.mk Thu Mar 30 15:16:40 2006 +0900 +++ b/buildconfigs/Rules.mk Thu Mar 30 15:21:11 2006 +0900 @@ -121,14 +121,14 @@ linux-2.6-xen.patch: ref-linux-$(LINUX_V linux-2.6-xen.patch: ref-linux-$(LINUX_VER)/.valid-ref rm -rf tmp-$@ cp -al $(<D) tmp-$@ - ( cd linux-2.6-xen-sparse && ./mkbuildtree ../tmp-$@ ) + ( cd linux-2.6-xen-sparse && bash ./mkbuildtree ../tmp-$@ ) diff -Nurp $(<D) tmp-$@ > $@ || true rm -rf tmp-$@ %-xen.patch: ref-%/.valid-ref rm -rf tmp-$@ cp -al $(<D) tmp-$@ - ( cd $*-xen-sparse && ./mkbuildtree ../tmp-$@ ) + ( cd $*-xen-sparse && bash ./mkbuildtree ../tmp-$@ ) diff -Nurp $(<D) tmp-$@ > $@ || true rm -rf tmp-$@ diff -r 491d06219ffd -r f69f52013d13 buildconfigs/mk.linux-2.6-xen --- a/buildconfigs/mk.linux-2.6-xen Thu Mar 30 15:16:40 2006 +0900 +++ b/buildconfigs/mk.linux-2.6-xen Thu Mar 30 15:21:11 2006 +0900 @@ -23,8 +23,8 @@ build: $(LINUX_DIR)/include/linux/autoco rm -rf $(LINUX_DIR) cp -al $(<D) $(LINUX_DIR) # Apply arch-xen patches - ( cd linux-$(LINUX_SERIES)-xen-sparse ; \ - LINUX_ARCH=$(LINUX_ARCH) ./mkbuildtree ../$(LINUX_DIR) ) + ( cd linux-$(LINUX_SERIES)-xen-sparse && \ + LINUX_ARCH=$(LINUX_ARCH) bash ./mkbuildtree ../$(LINUX_DIR) ) # Re-use config from install dir if one exits else use default config CONFIG_VERSION=$$(sed -ne 's/^EXTRAVERSION = //p' $(LINUX_DIR)/Makefile); \ [ -r $(DESTDIR)/boot/config-$(LINUX_VER)$$CONFIG_VERSION-$(EXTRAVERSION) ] && \ diff -r 491d06219ffd -r f69f52013d13 linux-2.6-xen-sparse/mkbuildtree --- a/linux-2.6-xen-sparse/mkbuildtree Thu Mar 30 15:16:40 2006 +0900 +++ b/linux-2.6-xen-sparse/mkbuildtree Thu Mar 30 15:21:11 2006 +0900 @@ -90,8 +90,8 @@ RS=$DESTPATH RS=$DESTPATH # Arch-specific pre-processing -if [ -x arch/${LINUX_ARCH}/xen-mkbuildtree-pre ]; then - arch/${LINUX_ARCH}/xen-mkbuildtree-pre +if [ -e arch/${LINUX_ARCH}/xen-mkbuildtree-pre ]; then + bash arch/${LINUX_ARCH}/xen-mkbuildtree-pre fi # Remove old copies of files and directories at the destination @@ -115,6 +115,6 @@ relative_lndir ../../../${RS}/../xen/inc # Arch-specific post-processing cd ${AD} -if [ -x arch/${LINUX_ARCH}/xen-mkbuildtree-post ]; then - arch/${LINUX_ARCH}/xen-mkbuildtree-post +if [ -e arch/${LINUX_ARCH}/xen-mkbuildtree-post ]; then + bash arch/${LINUX_ARCH}/xen-mkbuildtree-post fi diff -r 491d06219ffd -r f69f52013d13 tools/debugger/gdb/gdbbuild --- a/tools/debugger/gdb/gdbbuild Thu Mar 30 15:16:40 2006 +0900 +++ b/tools/debugger/gdb/gdbbuild Thu Mar 30 15:21:11 2006 +0900 @@ -7,7 +7,7 @@ tar xjf gdb-6.2.1.tar.bz2 tar xjf gdb-6.2.1.tar.bz2 cd gdb-6.2.1-xen-sparse -./mkbuildtree ../gdb-6.2.1 +bash ./mkbuildtree ../gdb-6.2.1 cd .. mkdir gdb-6.2.1-linux-i386-xen diff -r 491d06219ffd -r f69f52013d13 tools/misc/xen-clone --- a/tools/misc/xen-clone Thu Mar 30 15:16:40 2006 +0900 +++ b/tools/misc/xen-clone Thu Mar 30 15:21:11 2006 +0900 @@ -113,7 +113,7 @@ else # Turn linux into xenolinux then build it cd xenolinux-${LINUX_VER}-sparse - ./mkbuildtree ../../linux-${LINUX_VER} + bash ./mkbuildtree ../../linux-${LINUX_VER} cd ../.. mv linux-${LINUX_VER} xenolinux-${LINUX_VER} cd xenolinux-${LINUX_VER} _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |