bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: I fixed this once already [Was Re: [PATCH] bootstrap: obey --no-git.


From: Gary V. Vaughan
Subject: Re: I fixed this once already [Was Re: [PATCH] bootstrap: obey --no-git.]
Date: Mon, 15 Aug 2011 09:29:58 +0700

Hi Paul,

On 15 Aug 2011, at 04:19, Paul Eggert wrote:
> On 08/14/2011 01:38 PM, Gary V. Vaughan wrote:
>> Please tell me to stop bugging the list if you're tired of my
>> mentioning this from time to time. On the other hand, if you just
>> need more proof that this one is working as well as I say, I'll add
>> it on a topic branch to the gnulib using projects I have commit
>> rights to, and update the bootstrap.confs I wrote for them last
>> year provided someone will take a look afterwards, with the intention
>> of agreeing to supercede the existing bootstrap if everything works
>> as advertised.
> 
> I haven't had time to look at the complete rewrite, but I think
> this is a good way to proceed.  I don't recall which projects
> you were doing.

Great! Thank you :)

Here's what I have so far:

 * address@hidden:gvvaughan/GNU-bison.git in gary/bootstrap
   https://github.com/gvvaughan/GNU-bison/commits/gary/bootstrap

   The bison bootstrap is very straight-forward, so I just redid
   it with my new bootstrap script in the gary/bootstrap branch. I
   don't have a commit bit for bison, so I've put a mirror with
   my branch in it up on github, per the header to this bullet.

 * address@hidden:gvvaughan/GNU-coreutils.git in gary/bootstrap
   https://github.com/gvvaughan/GNU-coreutils/commits/gary/bootstrap

   I can't get the currently checked in bootstrap to finish running
   on current master, which makes porting it's contents into the
   new bootstrap.conf futile for me. Instead I've updated to the new
   bootstrap script on the original branch I made when I was writing
   it, and pushed a mirror to github here too. (Note that I was having
    problems compiling sort just after threads had been added around
   that time, but a `make -k' completes on my Mac OS 10.7 machine.)

   This one is interesting because it uses gettext and also has a
   fairly torturous bootstrap process.  I wasn't able to eliminate
   slurp entirely, but there is only something much much smaller and
   possible to understand remaining in bootstrap.conf.

 * address@hidden:gvvaughan/GNU-libtool.git in topic/use-gnulib
   https://github.com/gvvaughan/GNU-libtool/commits/topic/use-gnulib

   I'm not ready to push my working branches up to savannah yet, since
   I might want to rebase them locally first.  So I've put a mirror up
   in my github account for you to try out.

   This one is interesting, because Libtool uses a complicated bootstrap
   process, with several subprojects to autoconfiscate, and additional
   options to bootstrap itself added using the extension mechanisms alone.
   You'll notice in configure.ac that there's a good deal of mucking
   about with M4 macros around the values that bootstrap is still
   extracting quite successfully.

 * address@hidden:gvvaughan/GNU-m4.git in gary/bootstrap
   https://github.com/gvvaughan/GNU-m4/commits/gary/bootstrap

   Again, I've mirrored some private branches that are subject to
   rebasing before merging and committing back to the savannah repo
   so that you can see what is going on here. But, I have rebased this
   on onto the HEAD of branch-1.4, with the latest gnulib in a submodule.
   I haven't updated the other branches yet (branch-1.6 and master), but
   that will happen automatically once gnulib is presenting the new
   bootstrap script.

   M4 is interesting because it uses "the other" methodology of treating
   gnulib-cache.m4 as truth and checking it in, with bootstrap managing
   it rather than creating it.  And it uses git-version-gen to generate
   its version number on the fly, which bootstrap copes with quite easily.
   You can also try out the --skip-git and skip-po options here. The new
   bootstrap script started life because the current one has (had?) a
   few incongruencies that prevented it working in sympathy with how Eric
   and I manage M4 development.

 * git://git.savannah.gnu.org/zile.git in topic/sane-bootstrap
   http://git.savannah.gnu.org/cgit/zile.git/log/?h=topic/sane-bootstrap

   This branch (with my bootstrap script in it) has already been merged
   to master and lua branches, both of which demonstrate very different
   bootstraps (especially lua, which has no compiled code in it at all!).

 * It seems I also made a start at converting GNU tar to my new bootstrap,
   but I came unstuck when porting the copy_files function out of the
   existing bootstrap into a new bootstrap.conf.  I don't really have time
   to finish it now, but I hope the other projects above give you enough
   confidence to adopt the new script directly into gnulib for propagation
   into other projects, without me needing to finish the GNU tar conversion
   on my own first?

> I could also try it out with a smaller project
> that isn't near a release (diffutils comes to mind ...).

Please do, that would be awesome.  The documentation is in the tarball
attached earlier in the thread, I didn't bother to add another copy to
every repo above... although the script is well commented and easy to
understand even without the documentation.

Thanks again for taking the time to follow through on this.

Cheers,
-- 
Gary V. Vaughan (gary AT gnu DOT org)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]