How do I use and update Gnulib?
Gnulib provides replacement implementations of functions that are not available on all (Unix-like) operating systems. In order to sync with the latest Gnulib code, do something like:
$ git clone git://git.savannah.gnu.org/gnulib.git
$ cd gnulib
$ GNULIB_HEAD=$(git rev-parse --short HEAD)
$ cd ..
$ git clone git@github.com:nagios-plugins/nagios-plugins.git
$ cd nagios-plugins
$ ../gnulib/gnulib-tool --update
$ find gl -name '*~' -o -name '.gitignore' | xargs rm
$ git status
$ git add gl
$ git commit -m "Sync with latest Gnulib code ($GNULIB_HEAD)"
In order to make a given function available via Gnulib (on systems which don't
provide that function), the corresponding module must be imported
using gnulib-tool
, e.g. (in order to add the strcase
module):
$ ../gnulib/gnulib-tool --no-vc-files --import strcase
$ find gl -name '*~' | xargs rm
$ git status
$ git add gl
$ git commit -m 'Add Gnulib module "strcase"'