bash4 breaks firmware update scripts (buildVer.sh: file not found)
Dominik L. Borkowski
dom at vbi.vt.edu
Wed Mar 3 09:18:49 CST 2010
It seems that bash4 breaks most of the scripts used by SUU, and I was
wondering if anybody has suggestions on how to fix permanently.
* extract any firmware bin, for example NETW_FRMW_LX_R246418.BIN
* run spsetup.sh:
./spsetup.sh: line 124: source: buildVer.sh: file not found
./spsetup.sh: line 1471: source: PIEConfig.sh: file not found
./PV2XX: line 4: source: loadpath.sh: file not found
./PV2XX: line 5: source: MAKEDEV.sh: file not found
It seems that with bash 4, 'source' no longer searches current directory.
There are a couple of dirty hacks that seem to work:
1) change !/bin/sh to !/bin/bash in spsetup.sh
2) provide './' path for all the sourced scripts in spsetup.sh
typeset -r _BUILDVER="./buildVer.sh"
I'm not sure whether there is a better way, other than trying to downgrade to
bash3. Considering that eventually other distributions will move to bash4, I
was wondering if this ought to be fixed upstream.
Here's a relevant post regarding bash4 on their mailing list:
Unfortunately, setting $PATH to include '.' doesn't seem to work.
Dominik L. Borkowski - Senior Systems Administrator
Virginia Bioinformatics Institute - www.vbi.vt.edu
More information about the Linux-PowerEdge