| #!/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 |
| /The XZ Utils authors and contributors$/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 |