| # This file extends the init.sh (provided by gnulib). |
| |
| # Set environment variables for the tests. |
| . ../tests/init-env |
| |
| prepare_locale_ () |
| { |
| # Solaris 11.[0-3] doesn't strip the CODESET part from the locale name, |
| # when looking for a message catalog. E.g. when the locale is fr_FR.UTF-8, |
| # on Solaris 11.[0-3] it looks for |
| # <LOCALEDIR>/fr_FR.UTF-8/LC_MESSAGES/<domain>.mo |
| # <LOCALEDIR>/fr.UTF-8/LC_MESSAGES/<domain>.mo |
| # Similarly, on Solaris 11 OpenIndiana and Solaris 11 OmniOS it looks only for |
| # <LOCALEDIR>/fr_FR.UTF-8/LC_MESSAGES/<domain>.mo |
| # Reported at <https://www.illumos.org/issues/13423>. |
| # On Solaris 11.4 this is fixed: it looks for |
| # <LOCALEDIR>/fr_FR.UTF-8/LC_MESSAGES/<domain>.mo |
| # <LOCALEDIR>/fr.UTF-8/LC_MESSAGES/<domain>.mo |
| # <LOCALEDIR>/fr_FR/LC_MESSAGES/<domain>.mo |
| # <LOCALEDIR>/fr/LC_MESSAGES/<domain>.mo |
| # Create a directory link with CODESET, to work around this. |
| if test "$1" != "$2" && test "$GLIBC2" = no; then |
| case "$host_os" in |
| solaris2.11) |
| cp -R "$1" "$2" |
| ;; |
| esac |
| fi |
| } |
| |
| # func_filter_POT_Creation_Date inputfile outputfile |
| # creates outputfile from inputfile, filtering out any 'POT-Creation-Date' line. |
| func_filter_POT_Creation_Date () |
| { |
| # A simple "grep -v 'POT-Creation-Date'" does not work: |
| # - GNU grep 2.24 produces "Binary file (standard input) matches" in the |
| # output. The workaround is to use option '--text'. |
| # - Similarly, OpenBSD 4.0 produces "Binary file (standard input) matches" |
| # in the output, but here it can be worked around by giving the input |
| # through a pipe. |
| # - On native Windows, some 'grep' binaries produce CRLF line endings. Filter |
| # out the CRs a posteriori. |
| cat "$1" | LC_ALL=C grep --text -v 'POT-Creation-Date' > "$1".tmq 2>/dev/null \ |
| || cat "$1" | LC_ALL=C grep -v 'POT-Creation-Date' > "$1".tmq \ |
| || Exit 1 |
| LC_ALL=C tr -d '\r' < "$1".tmq > "$2" || Exit 1 |
| } |