blob: 3b814814d446286cca9acec508972c1bc47b7c9c [file] [log] [blame]
# 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
}