summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes 'josch' Schauer <josch@debian.org>2018-11-21 13:54:10 +0100
committerJohannes 'josch' Schauer <josch@debian.org>2018-11-21 15:01:33 +0100
commit3d1d339a76cb7563b7ee534919cda994a7639a68 (patch)
tree9049a621978f03e0d374cdabbb48e82fb3961ce0
parentbade2632973e48321dc0b2107e32cfa12e7c0580 (diff)
Orphan the package and include and use a copy of the ancient po4a-build scriptHEADdebian/2.2.10archive/debian/2.2.10master
-rw-r--r--Makefile4
-rw-r--r--debian/changelog7
-rw-r--r--debian/control3
-rwxr-xr-xpo4a-build419
4 files changed, 429 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index f77495e..6220863 100644
--- a/Makefile
+++ b/Makefile
@@ -7,7 +7,7 @@ all: docbuild
$(MAKE) -C po
docbuild:
- po4a-build
+ ./po4a-build
install:
$(MAKE) -C po install DESTDIR=../debian/multistrap
@@ -20,5 +20,5 @@ clean:
# adds the POT file to the source tarball
native-dist: Makefile
- po4a-build --pot-only
+ ./po4a-build --pot-only
$(MAKE) -C po pot
diff --git a/debian/changelog b/debian/changelog
index c39b780..37eb525 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+multistrap (2.2.10) unstable; urgency=medium
+
+ * Orphaning the package, See #914282
+ * Include and use a copy of the ancient po4a-build script. (Closes: #906386)
+
+ -- Johannes 'josch' Schauer <josch@debian.org> Wed, 21 Nov 2018 15:00:46 +0100
+
multistrap (2.2.9) unstable; urgency=medium
* Fix foreign-multiarch multistraps
diff --git a/debian/control b/debian/control
index dbbf836..8637dc2 100644
--- a/debian/control
+++ b/debian/control
@@ -1,8 +1,7 @@
Source: multistrap
Section: utils
Priority: optional
-Maintainer: Johannes Schauer <josch@debian.org>
-Uploaders: Wookey <wookey@debian.org>
+Maintainer: Debian QA Group <packages@qa.debian.org>
Build-Depends: debhelper (>= 10)
Build-Depends-Indep: intltool, po4a (>= 0.37.1), bash-completion
Standards-Version: 3.9.6
diff --git a/po4a-build b/po4a-build
new file mode 100755
index 0000000..0d28689
--- /dev/null
+++ b/po4a-build
@@ -0,0 +1,419 @@
+#!/bin/sh
+set -e
+
+# Copyright (C) 2006-2009 Neil Williams <codehelp@debian.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# pull in /usr/bin/gettext.sh
+. gettext.sh
+
+TEXTDOMAIN="po4a"
+export TEXTDOMAIN
+# this DIR might need to be configurable.
+TEXTDOMAINDIR="/usr/share/locale"
+export TEXTDOMAINDIR
+
+# DEFAULTS:
+# name and location of the config file
+# relative to the top level source directory of the translations
+# i.e. the directory containing ./po/
+CONFIG="po4a.config"
+# PODIR po directory for manpages/docs
+PODIR="po"
+# POTFILE path
+POTFILE=""
+# base directory for generated files, e.g. doc
+BASEDIR=""
+# the binary packages that will contain generated manpages
+BINARIES=""
+# the Docbook XML manpages for Section 3.
+XMLMAN3=""
+# the binary packages using DocBook XML & xsltproc
+XMLPACKAGES=""
+# the DocBook XML files for Section 1.
+XMLMAN1=""
+# the pattern to find the XML files
+XMLDIR=""
+# the pattern to find the .docbook files
+DOCBOOKDIR=""
+# the XSL file to use for Docbook XSL
+XSLFILE="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl"
+# the POD files for man1
+PODFILE=""
+# the POD files for man3/ - module names regenerated from the path.
+PODMODULES=""
+# POD files for section 7
+POD7FILES=""
+# POD files for section 5
+POD5FILES=""
+# the binary packages using POD
+PODPACKAGES=""
+# html output (subdirectory of BASEDIR)
+HTMLDIR=""
+# html DocBook file
+HTMLFILE=""
+# the XSL file to use for Docbook XSL
+HTMLXSL="http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl"
+# Minimal threshold for translation percentage to keep
+KEEP=
+
+# remember to add something to the clean:: rule in debian/rules
+# to remove each binary package sub-directory.
+# $(RM) -r doc/emdebian-rootfs doc/multistrap
+
+# below this point, no changes should be needed.
+
+# use a default po4a-build.cnf in the current directory.
+FILE="po4a-build.conf"
+
+wrap_langs () {
+ if [ -z "$LANGS" ]; then
+ echo "$1 $2" >> $CONFIG
+ else
+ echo "$1 $2 $3" >> $CONFIG
+ fi
+}
+
+usagehelp () {
+ # print out help message
+ eval_gettext "
+po4a-build - po4a frontend
+
+Syntax: po4a-build
+ po4a-build --pot-only
+
+Commands:
+-?|-h|--help|--version: print this help message and exit
+--pot-only: only create the POT file
+
+Options:
+-f|--file FILE: po4a-build.conf config file path
+
+"; echo
+}
+
+while [ -n "$1" ]; do
+case "$1" in
+ --help|-h|-\?|--version)
+ usagehelp
+ exit;
+ ;;
+ --pot-only)
+ POTONLY=1
+ shift
+ ;;
+ -f|--file)
+ shift
+ FILE=$1
+ shift
+ ;;
+ *)
+ com=$1
+ eval_gettext "Unrecognised command: \$com"; echo
+ exit;
+ ;;
+esac
+done
+
+if [ ! -f "$FILE" ]; then
+ # without config, there's nothing to do.
+ eval_gettext "Cannot find config file! '\$FILE'"; echo
+ exit 3
+else
+ . ./$FILE
+fi
+OURS=`pwd|tr -d '\n'`
+cd `dirname $FILE`
+
+if [ "$USE_INTERNAL_PO4A" = "yes" ]; then
+ TEXTDOMAINDIR=$OURS/blib/po
+fi
+
+# calculate the langs, automatically.
+LANGS=`ls $PODIR/*.po 2>/dev/null || true`
+if [ ! -z "$LANGS" ]; then
+ LANGS=`ls $PODIR/*.po | sed -e 's/.*\/\(.*\)\.po/\1 /' || true`
+fi
+if [ ! -z "$LANGS" ]; then
+ LANGS=`echo $LANGS|tr -d '\n'`
+ echo "[po4a_langs] $LANGS" > $CONFIG
+ else
+ echo > $CONFIG
+fi
+wrap_langs "[po4a_paths]" "$POTFILE" "\$lang:$PODIR/\$lang.po"
+
+if [ -n "$XMLDIR" ]; then
+ for file in $XMLDIR/*.xml; do
+ LOCAL=`basename $file`
+ wrap_langs "[type:docbook]" "$file" "\$lang:$XMLDIR/\$lang/$LOCAL"
+ done
+fi
+if [ -n "$DOCBOOKDIR" ]; then
+ for file in $DOCBOOKDIR; do
+ LOCAL=`basename $file`
+ wrap_langs "[type:docbook]" "$file" "\$lang:$BASEDIR/\$lang/$LOCAL"
+ done
+fi
+if [ -n "$PODFILE" ]; then
+ for file in $PODFILE; do
+ LOCAL=`basename $file`
+ wrap_langs "[type:pod]" "$file" "\$lang:$BASEDIR/pod/1/\$lang/$LOCAL"
+ done
+fi
+if [ -n "$POD5FILES" ]; then
+ for file in $POD5FILES; do
+ LOCAL=`basename $file`
+ wrap_langs "[type:pod]" "$file" "\$lang:$BASEDIR/pod/5/\$lang/$LOCAL"
+ done
+fi
+if [ -n "$POD7FILES" ]; then
+ for file in $POD7FILES; do
+ LOCAL=`basename $file`
+ wrap_langs "[type:pod]" "$file" "\$lang:$BASEDIR/pod/7/\$lang/$LOCAL"
+ done
+fi
+if [ -n "$PODMODULES" ]; then
+ for file in $PODMODULES; do
+ wrap_langs "[type:pod]" "$file" "\$lang:$BASEDIR/pod/3/\$lang/$file"
+ done
+fi
+
+if [ "$POTONLY" = "1" ]; then
+ # Allow internal builds within po4a
+ if [ "$USE_INTERNAL_PO4A" = "yes" ]; then
+ # test
+ eval_gettext "Internal po4a from \$OURS being used instead of /usr/bin/"; echo
+ PERL5LIB=$OURS/lib perl $OURS/po4a --no-translations $CONFIG
+ else
+ po4a --no-translations $CONFIG
+ fi
+ exit
+fi
+
+for d in $BINARIES; do
+ for l in $LANGS; do
+ mkdir -p $BASEDIR/$d/man/$l/man1/
+ if [ "$d" = "$XMLsMAN3" ]; then
+ mkdir -p $BASEDIR/$d/man/$l/man3/
+ fi
+ if [ -n "$PODMODULES" ]; then
+ mkdir -p $BASEDIR/$d/man/$l/man3/
+ fi
+ if [ -n "$HTMLDIR" ]; then
+ mkdir -p $BASEDIR/$d/$l/$HTMLDIR/
+ fi
+ if [ -n "$POD5FILES" ]; then
+ mkdir -p $BASEDIR/$d/man/$l/man5/
+ fi
+ if [ -n "$POD7FILES" ]; then
+ mkdir -p $BASEDIR/$d/man/$l/man7/
+ fi
+ done
+ mkdir -p $BASEDIR/$d/man/man1/
+ if [ "$d" = "$XMLMAN3" ]; then
+ mkdir -p $BASEDIR/$d/man/man3/
+ fi
+ mkdir -p $BASEDIR/pod/$l/
+ if [ -n "$PODMODULES" ]; then
+ mkdir -p $BASEDIR/$d/man/man3/
+ fi
+ if [ -n "$POD5FILES" ]; then
+ mkdir -p $BASEDIR/$d/man/man5/
+ fi
+ if [ -n "$POD7FILES" ]; then
+ mkdir -p $BASEDIR/$d/man/man7/
+ fi
+done
+
+# use -k to create all XML even if untranslated or the XSL breaks the build.
+if [ -n "$KEEP" ]; then
+ K="-k $KEEP"
+fi
+
+# Allow internal builds within po4a
+if [ "$USE_INTERNAL_PO4A" = "yes" ]; then
+ eval_gettext "Internal po4a from \$OURS being used instead of /usr/bin/"; echo
+ PERL5LIB=$OURS/lib perl $OURS/po4a $K $CONFIG
+else
+ po4a $K $CONFIG
+fi
+
+for d in $BINARIES; do
+ for P in $XMLPACKAGES; do
+ if [ $d = $P ]; then
+ for X in $XMLMAN1; do
+ # TRANSLATORS: $X contains the name of the manual page
+ eval_gettext "Processing untranslated files for \$X (1). . ."; echo
+ MANDIR=$BASEDIR/$P/man/man1/
+ XML_CATALOG_FILES="/etc/xml/catalog" \
+ xsltproc -o $MANDIR --nonet $XSLFILE $XMLDIR/$X
+ done
+ for X3 in $XMLMAN3; do
+ # TRANSLATORS: $X3 contains the name of the manual page
+ eval_gettext "Processing untranslated files for \$X3 (3). . ."; echo
+ MANDIR=$BASEDIR/$P/man/man3/
+ XML_CATALOG_FILES="/etc/xml/catalog" \
+ xsltproc -o $MANDIR --nonet $XSLFILE $XMLDIR/$X3
+ done
+ fi
+ done
+ for POD in $PODPACKAGES; do
+ if [ $d = "$POD" ]; then
+ for file in $PODFILE; do
+ LOCAL=`basename $file`
+ # TRANSLATORS: $file contains the basename of the POD file
+ eval_gettext "Processing untranslated files for \$file (1) . . ."; echo
+ pod2man -s 1 $file $BASEDIR/$POD/man/man1/$LOCAL.1
+ done
+ if [ -n "$PODMODULES" ]; then
+ for file in $PODMODULES; do
+ # a bit of sed magic to convert a path to a module name.
+ name=`echo $file| sed -e 's/^lib\///'|sed -e 's/\//::/g'|sed -e 's/\.pm$//'`
+ # TRANSLATORS: $name contains the Perl module name
+ eval_gettext "Processing untranslated files for \$name (3) . . ."; echo
+ pod2man -s 3 $file $BASEDIR/$POD/man/man3/$name.3
+ done
+ fi
+ if [ -n "$POD5FILES" ]; then
+ for file in $POD5FILES; do
+ LOCAL=`basename $file`
+ # TRANSLATORS: $file contains the basename of the POD file
+ eval_gettext "Processing untranslated files for \$file (5) . . ."; echo
+ # shorten names that already contain the 5.
+ SHORT=`echo $LOCAL|cut -d'5' -f1|sed -e 's/\.$//'`
+ if [ -n "$SHORT" ]; then
+ pod2man -s 5 $file $BASEDIR/$POD/man/man5/${SHORT}.5
+ else
+ pod2man -s 5 $file $BASEDIR/$POD/man/man5/${LOCAL}.5
+ fi
+ done
+ fi
+ if [ -n "$POD7FILES" ]; then
+ for file in $POD7FILES; do
+ LOCAL=`basename $file`
+ # TRANSLATORS: $file contains the basename of the POD file
+ eval_gettext "Processing untranslated files for \$file (7) . . ."; echo
+ # shorten names that already contain the 7.
+ SHORT=`echo $LOCAL|cut -d'7' -f1|sed -e 's/\.$//'`
+ if [ -n "$SHORT" ]; then
+ pod2man -s 7 $file $BASEDIR/$POD/man/man7/${SHORT}.7
+ else
+ pod2man -s 7 $file $BASEDIR/$POD/man/man7/${LOCAL}.7
+ fi
+ done
+ fi
+ fi
+ done
+ if [ -n "$HTMLDIR" ]; then
+ xsltproc -o $BASEDIR/$d/$HTMLDIR/ --nonet $HTMLXSL $XMLDIR/$HTMLFILE
+ fi
+ for l in $LANGS; do
+ for P in $XMLPACKAGES; do
+ if [ $d = "$P" ]; then
+ for X in $XMLMAN1; do
+ if [ -f $XMLDIR/$l/$X ]; then
+ # TRANSLATORS: $l contains language code, $X contains the name of the manual page
+ eval_gettext "Processing \$l translations for \$X (1). . ."; echo
+ MANDIR=$BASEDIR/$P/man/$l/man1/
+ XML_CATALOG_FILES="/etc/xml/catalog" \
+ xsltproc -o $MANDIR --nonet $XSLFILE $XMLDIR/$l/$X
+ fi
+ done
+ for X3 in $XMLMAN3; do
+ if [ -f $XMLDIR/$l/$X3 ]; then
+ # TRANSLATORS: $l contains language code, $X3 contains the name of the manual page
+ eval_gettext "Processing \$l translations for \$X3 (3). . ."; echo
+ MANDIR=$BASEDIR/$P/man/$l/man3/
+ XML_CATALOG_FILES="/etc/xml/catalog" \
+ xsltproc -o $MANDIR --nonet $XSLFILE $XMLDIR/$l/$X3
+ fi
+ done
+ fi
+ done
+ for POD in $PODPACKAGES; do
+ if [ $d = "$POD" ]; then
+ for file in $PODFILE; do
+ LOCAL=`basename $file`
+ if [ -f $BASEDIR/pod/1/$l/$LOCAL ]; then
+ # TRANSLATORS: $l contains language code, $file contains the basename of the POD file
+ eval_gettext "Processing \$l translations for \$file (1). . ."; echo
+ pod2man --utf8 -s 1 $BASEDIR/pod/1/$l/$LOCAL $BASEDIR/$POD/man/$l/man1/$LOCAL.1
+ fi
+ done
+ fi
+ if [ -n "$PODMODULES" ]; then
+ for file in $PODMODULES; do
+ # a bit of sed magic to convert a path to a module name.
+ name=`echo $file| sed -e 's/^lib\///'|sed -e 's/\//::/g'|sed -e 's/\.pm$//'`
+ if [ -f $BASEDIR/pod/3/$l/$file ]; then
+ # TRANSLATORS: $l contains language code, $name contains the Perl module name
+ eval_gettext "Processing \$l translations for \$name (3). . ."; echo
+ pod2man --utf8 -n $name -s 3 $BASEDIR/pod/3/$l/$file $BASEDIR/$POD/man/$l/man3/$name.3
+ fi
+ done
+ fi
+ if [ -n "$POD5FILES" ]; then
+ for file in $POD5FILES; do
+ LOCAL=`basename $file`
+ if [ -f $BASEDIR/pod/5/$l/$LOCAL ]; then
+ # TRANSLATORS: $l contains language code, $file contains the basename of the POD file
+ eval_gettext "Processing \$l translations for \$file (5). . ."; echo
+ # shorten names that already contain the 5.
+ SHORT=`echo $LOCAL|cut -d'5' -f1|sed -e 's/\.$//'`
+ if [ -n "$SHORT" ]; then
+ pod2man --utf8 -s 5 $BASEDIR/pod/5/$l/$LOCAL $BASEDIR/$POD/man/$l/man5/${SHORT}.5
+ else
+ pod2man --utf8 -s 5 $BASEDIR/pod/5/$l/$LOCAL $BASEDIR/$POD/man/$l/man5/$LOCAL.5
+ fi
+ fi
+ done
+ fi
+ if [ -n "$POD7FILES" ]; then
+ for file in $POD7FILES; do
+ LOCAL=`basename $file`
+ if [ -f $BASEDIR/pod/7/$l/$LOCAL ]; then
+ # TRANSLATORS: $l contains language code, $file contains the basename of the POD file
+ eval_gettext "Processing \$l translations for \$file (7). . ."; echo
+ # shorten names that already contain the 7.
+ SHORT=`echo $LOCAL|cut -d'7' -f1|sed -e 's/\.$//'`
+ if [ -n "$SHORT" ]; then
+ pod2man --utf8 -s 7 $BASEDIR/pod/7/$l/$LOCAL $BASEDIR/$POD/man/$l/man7/${SHORT}.7
+ else
+ pod2man --utf8 -s 7 $BASEDIR/pod/7/$l/$LOCAL $BASEDIR/$POD/man/$l/man7/$LOCAL.7
+ fi
+ fi
+ done
+ fi
+ done
+ if [ -n "$HTMLDIR" ]; then
+ mkdir -p $BASEDIR/$d/$HTMLDIR/$l/
+ xsltproc -o $BASEDIR/$d/$HTMLDIR/$l/ --nonet $HTMLXSL $XMLDIR/$l/$HTMLFILE
+ fi
+ done
+ if [ -n "$HTMLDIR" ]; then
+ for i in `ls $BASEDIR/$d/$HTMLDIR/*.html`; do
+ iconv -t utf-8 -f iso8859-1 $i > $BASEDIR/$HTMLDIR/tmp
+ sed < $BASEDIR/$HTMLDIR/tmp > $i -e 's:charset=ISO-8859-1:charset=UTF-8:'
+ done
+ fi
+ if [ -n "$HTMLDIR" ]; then
+ rm -f $BASEDIR/$HTMLDIR/tmp
+ fi
+done
+
+for l in $LANGS; do
+ rm -rf $XMLDIR/$l
+done
+rm -rf $BASEDIR/pod/