70 lines
2.1 KiB
Bash
Executable File
70 lines
2.1 KiB
Bash
Executable File
#!/bin/sh
|
|
# SPDX-License-Identifier: 0BSD
|
|
|
|
#############################################################################
|
|
#
|
|
# Updates xz-man.pot and the *.po files, and generates translated man pages.
|
|
# These are done using the program po4a. If po4a is missing, it is still
|
|
# possible to build the package without translated man pages.
|
|
#
|
|
#############################################################################
|
|
#
|
|
# Author: Lasse Collin
|
|
#
|
|
#############################################################################
|
|
|
|
if type po4a > /dev/null 2>&1; then
|
|
:
|
|
else
|
|
echo "po4a/update-po: The program 'po4a' was not found." >&2
|
|
echo "po4a/update-po: Translated man pages were not generated." >&2
|
|
exit 1
|
|
fi
|
|
|
|
if test ! -f po4a.conf; then
|
|
cd `dirname "$0"` || exit 1
|
|
if test ! -f po4a.conf; then
|
|
echo "po4a/update-po: Error: Cannot find po4a.conf." >&2
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
PACKAGE_VERSION=`cd .. && sh build-aux/version.sh` || exit 1
|
|
|
|
# Put the author info from the .po files into the header comment of
|
|
# the generated man pages.
|
|
for FILE in *.po
|
|
do
|
|
printf '%s\n.\\"\n' \
|
|
'PO4A-HEADER: position=^\.\\" Author; mode=after; beginboundary=^\.\\"$' \
|
|
> "$FILE.authors"
|
|
sed '
|
|
/^[^#]/,$d
|
|
/: 0BSD$/d
|
|
/BSD Zero Clause License/d
|
|
/distributed under the same license/d
|
|
/in the public domain/d
|
|
/^#$/d
|
|
s/^#/.\\"/
|
|
' "$FILE" >> "$FILE.authors"
|
|
done
|
|
|
|
# Using --force to get up-to-date version numbers in the output files
|
|
# when nothing else has changed. This makes it slower but it's fine
|
|
# as long as this isn't run every time when "make" is run at the
|
|
# top level directory. (po4a isn't super-fast even without --force).
|
|
set -x
|
|
po4a --force --verbose \
|
|
--package-name="XZ Utils" \
|
|
--package-version="$PACKAGE_VERSION" \
|
|
--copyright-holder="The XZ Utils authors and contributors" \
|
|
po4a.conf
|
|
|
|
# Add the customized POT header which contains the SPDX license
|
|
# identifier and spells out the license name instead of saying
|
|
# "the same license as the XZ Utils package".
|
|
mv xz-man.pot xz-man.pot.tmp
|
|
cat ../po/xz.pot-header > xz-man.pot
|
|
sed '1,/^#$/d' xz-man.pot.tmp >> xz-man.pot
|
|
rm xz-man.pot.tmp
|