maint: Switch bootstrap to use a submodule

Upstream development on bootstrap now favors use of a git submodule,
rather than manually copying in files to the existing gl/ override
(although gl/ remains available for other gnulib overrides).  Update
to the newest gnulib, to pull in several fixes.

* .gitmodules: Add gl-mod/bootstrap as a submodule.
* gl-mod/bootstrap: New git submodule.
* bootstrap: Regenerate.
* m4/gnulib-cache.m4: Likewise.
* bootstrap.conf (gnulib_non_module_files): Drop.
(local_gl_path, gnulib_git_submodules): Update to use submodule instead.
* gl/*: Remove files that used to be hand-copied from bootstrap project.

(cherry picked from commit 46d77316726321c13e3197a1adee78a3dea952e8)
This commit is contained in:
Eric Blake 2025-04-04 11:14:19 -05:00
parent 1d9e8088a9
commit 32e8227a2b
5 changed files with 5490 additions and 217 deletions

5
.gitmodules vendored
View File

@ -1,3 +1,6 @@
[submodule "gnulib"]
path = gnulib
url = git://git.sv.gnu.org/gnulib.git
url = https://git.savannah.gnu.org/git/gnulib.git
[submodule "gl-mod/bootstrap"]
path = gl-mod/bootstrap
url = https://github.com/gnulib-modules/bootstrap.git

5601
bootstrap

File diff suppressed because it is too large Load Diff

89
bootstrap.conf Normal file
View File

@ -0,0 +1,89 @@
# bootstrap.conf (GNU M4) version 2025-04-04
# Written by Gary V. Vaughan, 2010
# Copyright (C) 2010, 2014, 2016-2017, 2020-2025 Free Software
# Foundation, Inc.
# This file is part of GNU M4.
#
# GNU M4 is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# GNU M4 is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
## -------------- ##
## Configuration. ##
## -------------- ##
# List of programs (and minimum versions) required to bootstrap, maintain
# and release M4.
buildreq='
help2man 1.29 https://www.gnu.org/s/help2man
makeinfo 7.0 https://www.gnu.org/s/texinfo
xz - http://tukaani.org/xz
'
# Owner of the copyright of this package.
copyright_holder='Free Software Foundation, Inc.'
# Instructions on how to install packages in $buildreq.
buildreq_readme=HACKING
# A file only visible in a vcs working directory.
checkout_only_file=HACKING
# Additional gnulib-tool options to use.
gnulib_tool_options=$gnulib_tool_options'
--no-libtool
'
# Favor the bootstrap from https://github.com/gnulib-modules/bootstrap
local_gl_path=gl-mod/bootstrap:gl
gnulib_git_submodules=gl-mod/bootstrap
# What ignore files to maintain.
vc_ignore=".cvsignore .gitignore"
## --------------- ##
## Hook functions. ##
## --------------- ##
# m4_install_texinfo_diff_driver
# ------------------------------
# Help git to do a better job of merging texinfo files.
m4_install_texinfo_diff_driver ()
{
$debug_cmd
$require_git
test true = "$GIT" || {
if $GIT config diff.texinfo.funcname >/dev/null ; then
:
else
func_echo "initializing git texinfo diff driver"
git config diff.texinfo.funcname '^@node[ \t][ \t]*\\([^,][^,]*\\)'
fi
}
}
func_add_hook func_prep m4_install_texinfo_diff_driver
# Local variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "# bootstrap.conf (GNU M4) version "
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "$"
# End:

1
gl-mod/bootstrap Submodule

@ -0,0 +1 @@
Subproject commit bfdcc277cd237fde115d3aa972add7608d348b90

View File

@ -1,5 +1,4 @@
# Copyright (C) 2002-2025, 2011-2014, 2016-2017, 2020-2025 Free Software
# Foundation, Inc.
# Copyright (C) 2002-2025 Free Software Foundation, Inc.
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -29,7 +28,8 @@
# Specification in the form of a command-line invocation:
# gnulib-tool --import \
# --local-dir=local \
# --local-dir=gl-mod/bootstrap \
# --local-dir=gl \
# --lib=libm4 \
# --source-base=lib \
# --m4-base=m4 \
@ -48,6 +48,7 @@
# avltree-oset \
# binary-io \
# bitrotate \
# bootstrap \
# clean-temp \
# cloexec \
# close-stream \
@ -68,6 +69,7 @@
# gendocs \
# getopt-gnu \
# git-version-gen \
# gitlog-to-changelog \
# gnu-web-doc-update \
# gnumakefile \
# gnupload \
@ -108,7 +110,7 @@
# xvasprintf-posix
# Specification in the form of a few gnulib-tool.m4 macro invocations:
gl_LOCAL_DIR([local])
gl_LOCAL_DIR([gl-mod/bootstrap:gl])
gl_MODULES([
announce-gen
assert
@ -116,6 +118,7 @@ gl_MODULES([
avltree-oset
binary-io
bitrotate
bootstrap
clean-temp
cloexec
close-stream