grub-dev: Gnulib
5.1 Gnulib
==========
Gnulib is a source code library that provides basic functionality to
programs and libraries. Many software packages make use of Gnulib to
avoid reinventing the portability wheel.
GRUB imports Gnulib using its 'bootstrap' utility, identifying a
particular Git commit in 'bootstrap.conf'. To upgrade to a new Gnulib
commit, set 'GNULIB_REVISION' in 'bootstrap.conf' to the new commit ID,
then run './bootstrap' and whatever else you need to make sure it works.
Check for changes to Gnulib's 'NEWS' file between the old and new
commits; in some cases it will be necessary to adjust GRUB to match.
You may also need to update the patches in
'grub-core/lib/gnulib-patches/'.
To add a new Gnulib module or remove one that is no longer needed,
change 'gnulib_modules' in 'bootstrap.conf'. Again, run './bootstrap'
and whatever else you need to make sure it works.
Bootstrapping from an older distribution containing gettext version <
0.18.3, will require a patch similar to this to be applied first before
running the './bootstrap' utility:
diff --git a/bootstrap.conf b/bootstrap.conf
index 988dda0..a3193a9 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@ -67,7 +67,7 @ SKIP_PO=t
buildreq="\
autoconf 2.63
automake 1.11
-gettext 0.18.3
+gettext 0.17
git 1.5.5
tar -
"
diff --git a/configure.ac b/configure.ac
index 08b518f..99f5b36 100644
--- a/configure.ac
+++ b/configure.ac
@ -362,7 +362,7 @ AC_CHECK_PROG(HAVE_CXX, $CXX, yes, no)
AC_GNU_SOURCE
AM_GNU_GETTEXT([external])
-AM_GNU_GETTEXT_VERSION([0.18.3])
+AM_GNU_GETTEXT_VERSION([0.17])
AC_SYS_LARGEFILE
# Identify characteristics of the host architecture.
It will also be necessary to adjust the patches in
'po/gettext-patches/' to apply to an older version of gettext.