Subject: Re: bug#11029: bootstrap problems

From: Peter O'Gorman <[email-masked]>
Date: Fri, 16 Mar 2012 22:53:02 -0500

Hi Peter,

On 03/16/2012 04:30 PM, Peter Rosin wrote:
> Hi!
>
> I just bootstrapped a git-checkout, but I had to manually cludge
> around a couple of problems.  Namely:
>
> 1. gl/top/README-release.diff didn't apply ->  "rm gl/top/README-release.diff"

Please do this as git rm and commit.

> 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.

Peter