GNU bug report logs -
#11029
bootstrap problems
Previous Next
Reported by: Peter Rosin <peda <at> lysator.liu.se>
Date: Fri, 16 Mar 2012 22:02:01 UTC
Severity: normal
Done: Mike Frysinger <vapier <at> gentoo.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Peter O'Gorman skrev 2012-03-17 04:53:
> On 03/16/2012 04:30 PM, Peter Rosin wrote:
>> 2. Automake didn't like that ChangeLog was missing -> "touch ChangeLog"
>>
>
> I had a look at this, bootstrap is supposed to add a dummy ChangeLog for this, but does not, depending upon what bs_echo got set to.
>
> func_ifcontains has this:
> # The embedded echo is to squash whitespace before globbing.
> _G_wslist=`$bs_echo " "$1" "`
> _G_member=$2
> _G_yes_cmd=$3
> _G_no_cmd=${4-":"}
>
> case $_G_wslist in
> *" $_G_member "*)
>
> and is called like this:
> func_ifcontains '
> announce-gen
> do-release-commit-and-tag
> gendocs
> git-version-gen
> gitlog-to-changelog
> gnu-web-doc-update
> gnupload
> maintainer-makefile
> readme-release
> ' gitlog-to-changelog func_ensure_changelog
>
> If bs_echo is printf '%s\n' then the embedded newlines in $_G_wslist do not get eliminated by the `$bs_echo " "$1" "` and " gitlog-to-changelog " (with those spaces on both sides) is not in the string, so no ChangeLog is created.
>
> This function doesn't appear to be part of gnulib yet, and I'm not sure how best to fix it.
>
> Changing $bs_echo to 'echo' should work, so should using set foo $1; shift (after assigning $2,3 and 4) and then assigning _G_wslist=" $@ ".
>
> I'll look to see how we eliminate spaces and newlines elsewhere in libtool and use the same idiom.
Something like this also works:
diff --git a/bootstrap b/bootstrap
index 7b26d00..21d2268 100755
--- a/bootstrap
+++ b/bootstrap
@@ -1803,10 +1803,12 @@ func_ifcontains ()
_G_member=$2
_G_yes_cmd=$3
_G_no_cmd=${4-":"}
+ nl='
+'
case $_G_wslist in
- *" $_G_member "*)
- eval "$_G_yes_cmd"
+ *[\ $nl]$_G_member[\ $nl]*)
+ eval "$_G_yes_cmd"
_G_status=$?
;;
*)
It fixes the common case when bs_echo is printf '%s\n' at least. But it doesn't
fix the real bug of course (feeding multiple args to bs_echo).
Cheers,
Peter
This bug report was last modified 1 year and 187 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.