Bug#868267: fai-client: fetch-basefile breaks for hostnames with hyphens
andrew bezella
abezella at archive.org
Thu Jul 27 00:04:29 CEST 2017
On Wed, 2017-07-26 at 17:34 -0400, Arcady Genkin wrote:
[...]
> # chroot /data/fai-nfsroots/xenial-x64 /bin/bash --version |head -1
> GNU bash, version 4.4.12(1)-release (x86_64-pc-linux-gnu)
ah! ok, apparently a change in bash's behavior between 4.3 and 4.4:
% bash --version | head -n1
GNU bash, version 4.4.7(1)-release (x86_64-pc-linux-gnu)
% export classes="vmops0.us.archive.org"
% bash /usr/lib/fai/fetch-basefile
/usr/lib/fai/fetch-basefile: line 59: found_vmops0.us.archive.org: bad substitution
No basefile matching a class name was found at [FAI_BASEFILEURL]
vs
% bash --version | head -n1
GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
% export classes="vmops0.us.archive.org"
% bash /usr/lib/fai/fetch-basefile
No basefile matching a class name was found at [FAI_BASEFILEURL]
in bash 4.4 it appears that either "." or "-" breaks the indirect
variable usage:
% bash --version | head -n1
GNU bash, version 4.4.7(1)-release (x86_64-pc-linux-gnu)
% export classes="vmops0.us.archive.org"
% bash /usr/lib/fai/fetch-basefile
/usr/lib/fai/fetch-basefile: line 59: found_vmops0.us.archive.org: bad substitution
No basefile matching a class name was found at [FAI_BASEFILEURL]
% export classes="vm-ops0"
% bash /usr/lib/fai/fetch-basefile
/usr/lib/fai/fetch-basefile: line 59: found_vm-ops0: bad substitution
No basefile matching a class name was found at [FAI_BASEFILEURL]
% export classes="vmops0"
No basefile matching a class name was found at [FAI_BASEFILEURL]
possibly related to the announcement at https://lists.gnu.org/archive/h
tml/bug-bash/2015-07/msg00027.html which mentions a couple changes to
indirect variable expansion. unsure if the above is intentional or
collateral damage. "_" does appear to be ok.
--
andrew bezella <abezella at archive.org>
internet archive
More information about the linux-fai
mailing list