If you want to ensure you have the current versions of texinfo.tex,
config.{guess,sub}, and so on, yes, you should get them from gnulib (or
other upstreams, but we copy them into gnulib precisely to make it
simpler for people to get the current versions).
gnulib is what we (I) keep up to date with upstream changes, typically
within a day or two.
What I do for some of my projects where I don't have or want a whole
gnulib checkout hanging around is extract the build-aux directory from
its repository into a local directory (/home/ftp/dist in the code
below):
# git incantation from Ben Pfaff, bug-gnulib 17 Jan 2012 18:38:18.
auxtar=/tmp/build-aux.tar.gz
if git archive --remote=git.sv.gnu.org:/srv/git/gnulib.git \
refs/heads/master build-aux | gzip >$auxtar-new; then
(
cd /home/ftp/dist || exit 1
mv $auxtar $auxtar-old
mv $auxtar-new $auxtar || exit 1
rm -rf build-aux
tar xf $auxtar
)
fi
It would be possible to use the srclist-update script and srclist.txt
files (in gnulib/config, which is tiny, and rarely changes) to update
from there. I do that sometimes.
Another approach I've used in other cases is to compare the desired
build-aux files in a script run from cron, like the below. There are
some special cases in there that we need in TeX Live but I hope the idea
is clear enough.
No doubt other people have taken other approaches.
Hope this helps,
Karl
# config.guess/sub/etc. [...] mirrored from gnulib.
#
config_masterdir=/home/ftp/dist/build-aux
for gnuconf in ar-lib compile config.guess config.sub depcomp \
install-sh texinfo.tex; do
master_conffile=$config_masterdir/$gnuconf
local_conffile=../Build/source/build-aux/$gnuconf
#
if test ! -s $master_conffile; then
echo "$0: $master_conffile missing, skipping." >&2
continue
fi
#
if $diff $local_conffile $master_conffile >$temp.$gnuconf.diff; then
$verbose " $gnuconf ok."
rm -f $temp.$gnuconf.diff
else
# update needed, find all copies in source.
# Build/source/utils/asymptote/gc* is not checked in (since it's not
# unpacked in the original release), therefore we cannot commit to it.
alldev="`find ../Build/source -name $gnuconf | grep -v asymptote/gc`"
for f in $alldev; do
$chicken $cp $master_conffile $f
done
update_list="$update_list $alldev"
# in the case of config.guess, but nothing else, we also need it in
# the installer.
if test $gnuconf = config.guess; then
installer_config_guess=tlpkg/installer/$gnuconf
$chicken $cp $master_conffile $installer_config_guess
update_list="$update_list $installer_config_guess"
fi
fi
done