Sophie

Sophie

distrib > Mandriva > 10.2 > x86_64 > by-pkgid > 6636512f7ab99e63fc7eb86a6cbc03a6 > files > 224

OpenOffice.org-1.1.4-7.1.102mdk.src.rpm

#!/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