Hi José,

> In GNU poke we use the gendocs gnulib module.  We also customize our
> doc/gendocs_template, which is committed in our VCS.
> 
> This leads to the situation where each time we run `bootstrap', it
> copies the unmodified gendocs_template over to our tree, overwritting
> the customized version.
> 
> What would be the best way to fix this?  Is there a way to tell
> bootstrap that a particular file is customized/modified so please do not
> overwrite it?

Two solutions come to mind:

A) In bootstrap.conf, in the bootstrap_epilogue() function, add a statement
   that reverts the changes, assuming the developer is working from a git
   checkout:
     git diff doc/gendocs_template | patch -p1 -R

B) Prevent the changes in the first place, by using a modified module
   description of the 'gendocs' module. See the "Extending Gnulib" chapter
   [1] for the general mechanism.

   Concretely, probably what you need is:
     - Define gl_local_dir in bootstrap.conf:
         gl_local_dir='gnulib-local'
     - Add a file gnulib-local/modules/gendocs.diff
       which is a diff between the original gnulib/modules/gendocs
       and the one which you want (namely, which has the file
       'doc/gendocs_template' removed).
     - Commit this file in git.

Bruno

[1] https://www.gnu.org/software/gnulib/manual/html_node/Extending-Gnulib.html




Reply via email to