diff options
| -rw-r--r-- | web/input/doc/faq/gnulib.md | 16 | 
1 files changed, 10 insertions, 6 deletions
| diff --git a/web/input/doc/faq/gnulib.md b/web/input/doc/faq/gnulib.md index 964940c..698e163 100644 --- a/web/input/doc/faq/gnulib.md +++ b/web/input/doc/faq/gnulib.md | |||
| @@ -6,28 +6,32 @@ parent: FAQ | |||
| 6 | 6 | ||
| 7 | [Gnulib][gnulib] provides replacement implementations of functions that are | 7 | [Gnulib][gnulib] provides replacement implementations of functions that are | 
| 8 | not available on all (Unix-like) operating systems. In order to sync with the | 8 | not available on all (Unix-like) operating systems. In order to sync with the | 
| 9 | latest Gnulib code, do something like: | 9 | latest Gnulib code, starting from the directory below your monitoring-plugins | 
| 10 | repository, do something like: | ||
| 10 | 11 | ||
| 11 | $ git clone git://git.savannah.gnu.org/gnulib.git | 12 | $ git clone git://git.savannah.gnu.org/gnulib.git | 
| 12 | $ cd gnulib | 13 | $ cd gnulib | 
| 13 | $ GNULIB_HEAD=$(git rev-parse --short HEAD) | 14 | $ GNULIB_HEAD=$(git rev-parse --short HEAD) | 
| 14 | $ cd .. | 15 | $ cd ../monitoring-plugins | 
| 15 | $ git clone git@github.com:monitoring-plugins/monitoring-plugins.git | ||
| 16 | $ cd monitoring-plugins | ||
| 17 | $ ../gnulib/gnulib-tool --update | 16 | $ ../gnulib/gnulib-tool --update | 
| 18 | $ find gl -name '*~' -o -name '.gitignore' | xargs rm | 17 | $ find gl -name '*~' -o -name '.gitignore' | xargs rm | 
| 19 | $ git status | 18 | $ git status | 
| 20 | $ git add gl | 19 | $ git add gl | 
| 21 | $ git commit -m "Sync with latest Gnulib code ($GNULIB_HEAD)" | 20 | $ git commit -m "Sync with the latest Gnulib code ($GNULIB_HEAD)" | 
| 22 | 21 | ||
| 23 | In order to make a given function available via Gnulib (on systems which don't | 22 | In order to make a given function available via Gnulib (on systems which don't | 
| 24 | provide that function), the [corresponding module][modules] must be imported | 23 | provide that function), the [corresponding module][modules] must be imported | 
| 25 | using `gnulib-tool`, e.g. (in order to add the `strcase` module): | 24 | using `gnulib-tool`, e.g. (in order to add the `strcase` module): | 
| 26 | 25 | ||
| 27 | $ ../gnulib/gnulib-tool --no-vc-files --import strcase | 26 | $ cd monitoring-plugins | 
| 27 | $ git log --oneline|grep 'Sync with the latest Gnulib code'|head | ||
| 28 | $ (cd ../gnulib; git checkout <REF>) # where REF is the most recent hash in the commit messages returned) | ||
| 29 | $ ../gnulib/gnulib-tool --no-vc-files --add strcase | ||
| 28 | $ find gl -name '*~' | xargs rm | 30 | $ find gl -name '*~' | xargs rm | 
| 29 | $ git status | 31 | $ git status | 
| 30 | $ git add gl | 32 | $ git add gl | 
| 33 | # At this point you build and add any auto-generated file in gl/ to .gitignore | ||
| 34 | $ git add .gitignore | ||
| 31 | $ git commit -m 'Add Gnulib module "strcase"' | 35 | $ git commit -m 'Add Gnulib module "strcase"' | 
| 32 | 36 | ||
| 33 | [gnulib]: http://www.gnu.org/software/gnulib/ "Gnulib" | 37 | [gnulib]: http://www.gnu.org/software/gnulib/ "Gnulib" | 
