#!/bin/sh # For ISO/IEC 8859 Character Encoding Information # see http://www.kostis.net/charsets/trans130/iso8859.htm COMMAND=$1 PTYPE=$2 LANGS=`echo "$3" | sed -e "s/,/ /g"` XLATE=$4 [[ -z "$PTYPE" ]] && [[ -z "$LANGS" ]] && [[ -z "$XLATE" ]] && { echo "%{error: ${0##*/}: Bad arguments}" exit 1 } function L10NGeneratePackageInfo() { cat << EOF %package $PACKAGE Summary: $LANGNAME language support for OpenOffice.org Group: Office Provides: OpenOffice.org-l10n = %{version}-%{release} Requires: OpenOffice.org = %{epoch}:%{version} Requires: locales-$LOCALECODE Requires: $FONTPACKAGES Requires: $SPELLPACKAGES EOF [[ -n "$OBSOLETES" ]] && cat << EOF Obsoletes: $OBSOLETES Provides: $OBSOLETES EOF cat << EOF %description $PACKAGE OpenOffice.org is an Open Source, community-developed, office suite. This package contains the localization of OpenOffice.org in $LANGNAME. It contains the user interface, the templates and the autotext features. Please note that not all of these are available for all possible language. You can switch user interface language using the standard locales system. EOF } function HELPGeneratePackageInfo() { cat << EOF %package $PACKAGE Summary: $LANGNAME help data for OpenOffice.org Group: Office Provides: OpenOffice.org-help = %{version}-%{release} Requires: OpenOffice.org = %{epoch}:%{version} Requires: locales-$LOCALECODE # It can work without the matching -l10n- package. e.g. having English # help and only Russian localization. #Requires: OpenOffice.org-l10n-$ISOCODE = %{version} EOF [[ -n "$OBSOLETES" ]] && cat << EOF Obsoletes: $OBSOLETES Provides: $OBSOLETES EOF cat << EOF %description $PACKAGE OpenOffice.org is an Open Source, community-developed, office suite. This package contains localized help files in $LANGNAME. EOF } function GeneratePackageFilelist() { # FIXME: we need the zh-TW form here cat << EOF %files $PACKAGE -f filelist$MAYBE_HELPFILES.${ISOCODE/_/-} %defattr(-,root,root) EOF } MAYBE_HELPFILES= [[ "$PTYPE" = "HELP" ]] && MAYBE_HELPFILES=".help" for RES in $LANGS; do ISOCODE=`perl $XLATE -i $RES || echo :` [[ "$ISOCODE" = ":" ]] && exit 1 ISOCODE="${ISOCODE/-/_}" LANGNAME=`perl $XLATE -l $RES || echo :` [[ "$LANGNAME" = ":" ]] && exit 1 PACKAGE="l10n-$ISOCODE" [[ "$PTYPE" = "HELP" ]] && PACKAGE="help-$ISOCODE" # only keep ISO language code (aka map zh-{CN,TW} to zh) LOCALECODE=`echo $ISOCODE | sed -e "s/\([a-z][a-z]\).*/\1/"` case $COMMAND in DESC) case "$ISOCODE" in en|pt|nl|fr|es|fi|it|da|sv|de|eu|et|pt-BR) # Bitstream Vera Sans (UI), Nimbus Roman No9 L (Text) FONTPACKAGES="fonts-ttf-vera, urw-fonts" OBSOLETES= ;; ar) # KacstBook (UI, Text) FONTPACKAGES="fonts-ttf-arabic" OBSOLETES= ;; el) # KerkisSans (UI), Kerkis (Text) FONTPACKAGES="fonts-type1-greek" OBSOLETES= ;; ja) # Kochi Gothic (UI), Kochi Mincho (Text) FONTPACKAGES="fonts-ttf-japanese >= 0.20020727-1mdk" OBSOLETES= ;; ko) # Baekmuk Gulim (UI), Baekmuk Dotum (Text) FONTPACKAGES="fonts-ttf-korean >= 2.1" OBSOLETES= ;; ru) # Nimbus Sans L (UI), Nimbus Roman No9 L (Text) # NOTE: make sure cyrillic glyphs are available FONTPACKAGES="urw-fonts >= 2.0-6mdk" OBSOLETES= ;; zh_CN) # AR PL KaitiM GB (UI), AR PL SungtiL GB (Text) FONTPACKAGES="fonts-ttf-gb2312" OBSOLETES="OpenOffice.org-${PACKAGE/_/-}" ;; zh_TW) # AR PL KaitiM Big5 (UI), AR PL Mingti2L Big5 (Text) FONTPACKAGES="fonts-ttf-big5" OBSOLETES="OpenOffice.org-${PACKAGE/_/-}" ;; th) # Norasi (UI, Text) FONTPACKAGES="fonts-ttf-thai" OBSOLETES= ;; *) # Luxi Sans (UI), Nimbus Roman No9 L (Text) FONTPACKAGES="urw-fonts" OBSOLETES= ;; esac # Refine selection of MySpell packages to install if [[ "$PTYPE" = "L10N" ]]; then SPELLPACKAGES="myspell-dictionary" case "$ISOCODE" in en|fr|de|es|it|nl|pt|pt_BR|sv|pl|ru|da|el|cs|ca|sk|et|hu|cy|sl|af|zu|ga|el|bg) SPELLPACKAGES="myspell-$ISOCODE" ;; esac case "$ISOCODE" in cs|da|de|en|es|fr|hu|it|nl|ru|sk|sl|sv|uk|et|pl|ga|el|bg|fi|pt) SPELLPACKAGES="$SPELLPACKAGES, myspell-hyph-$ISOCODE" ;; esac # case "$ISOCODE" in # bg|de|en|es|fr|it|pl) # SPELLPACKAGES="$SPELLPACKAGES, myspell-thes-$ISOCODE" # ;; # esac fi ${PTYPE}GeneratePackageInfo ;; FILES) GeneratePackageFilelist ;; esac done exit 0