Hi all, I wrote a small script which simplifies the usage of translated package descriptions. Please see the comments in it for details.
Feel free to use and distribute it. PS: Please CC me, as I'm not subscribed to this list. #!/bin/sh # Copyright 2003 Jens Seidel <[EMAIL PROTECTED]> # License: GPL v2 or higher (at your opinion) # This script inserts (in most cases translated) package descriptions from the # first file into the second and writes the result to stdout. # This is more useful than # http://ddtp.debian.org/aptable de/unstable main # at the beginning of /etc/apt/sources.list, because APT doesn't try to fetch # files (which may be more up to date) from ddtp.debian.org/ but uses the local # ones. # Package files can be found in /var/lib/apt/lists/. # Application: Assume translated package files can be found in # ~/dists/de/woody/main/binary-i386/Packages: # # cd /var/lib/apt/lists # for i in $(ls *Packages); do # mv $i /tmp # change-pkg-description ~/dists/de/woody/main/binary-i386/Packages /tmp/$i > $i # done f=$1 if [ $# -ne 2 ]; then echo "$0 usage: $(basename $0) i18nfile packagefile" echo "This script replaces the package descriptions in packagefile with the" echo "corresponding strings from i18nfile (they must exist) and writes the" echo "output to stdout." echo "This is useful to translate package descriptions even if the versions of both" echo "files does not match." fi if [ $1 = $2 ]; then echo "Argumnts must be different." exit 1 fi gawk -F"\n" ' # start of text /^Description: / { copyText=1;lines=0 if (FILENAME!="'$f'") print description[package] } /^Package: / { copyText=0 } { if (copyText && FILENAME=="'$f'") text[++lines]=$0 } { if (!copyText && FILENAME!="'$f'") print $0 } /^Package: / { if (FILENAME=="'$f'" && lines>0) for (i=1;i<=lines;i++) description[package]=description[package] text[i] "\n" package=substr($0,10) } END { if (FILENAME=="'$f'") for (i=1;i<=lines-1;i++) description[package]=description[package] text[i] "\n" } ' $1 $2 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]