Next: jsmn, Up: Updating External Code [Contents][Index]
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.