Hello community,

here is the log from the commit of package myspell-dictionaries.12212 for 
openSUSE:Leap:15.1:Update checked in at 2020-04-05 08:57:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.1:Update/myspell-dictionaries.12212 (Old)
 and      
/work/SRC/openSUSE:Leap:15.1:Update/.myspell-dictionaries.12212.new.3248 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "myspell-dictionaries.12212"

Sun Apr  5 08:57:06 2020 rev:1 rq:791285 version:20191219

Changes:
--------
New Changes file:

--- /dev/null   2020-04-01 01:12:57.297512941 +0200
+++ 
/work/SRC/openSUSE:Leap:15.1:Update/.myspell-dictionaries.12212.new.3248/myspell-dictionaries.changes
       2020-04-05 08:57:10.567259106 +0200
@@ -0,0 +1,696 @@
+-------------------------------------------------------------------
+Thu Dec 19 09:37:24 UTC 2019 - [email protected]
+
+- version update to 20191219
+  * Updated the English dictionaries: GB+US+CA+AU
+  * tdf#128341 use python3
+  * Bring shipped Spanish dictionary up to version 2.5
+- modified sources
+  % update.sh 
+    . gd_GB does not have dictionaries in gd_GB/dictionaries
+      anymore, thus removing exception
+    . check for /usr/bin/th_gen_idx.pl existence sooner
+    . no Group: tag
+
+-------------------------------------------------------------------
+Wed Oct 16 12:14:40 UTC 2019 - Tomáš Chvátal <[email protected]>
+
+- Update to 20191016:
+  * Updated Slovenian thesaurus
+  * Update the da_DK dictionary
+  * Remove abbreviations from Thai hunspell dictionary
+  * Updated the English dictionaries: GB
+  * Fix logo management for "ca"
+
+-------------------------------------------------------------------
+Tue Apr 23 11:28:30 UTC 2019 - Tomáš Chvátal <[email protected]>
+
+- Update to 20190423:
+  * Serbian dictionary updated
+  * Update af_ZA hunspell
+  * Update Spanish dictionary
+  * Update Slovenian dictionary
+  * Update Breton dictionary
+  * Update Galician dictionary
+
+-------------------------------------------------------------------
+Thu Oct 25 14:16:21 UTC 2018 - Tomáš Chvátal <[email protected]>
+
+- Update to 20181025:
+  * Turkish dictionary added
+  * Updated French dictionary
+
+-------------------------------------------------------------------
+Wed Jul  4 10:35:31 UTC 2018 - [email protected]
+
+- Update to 20180704 bsc#1102294 bsc#1099508:
+  * Indonesian hyphenation added
+  * English updates
+  * Croatian updates
+  * Bulgarian files converted to UTF8 in order to avoid bugs
+
+-------------------------------------------------------------------
+Tue Apr  3 10:26:06 UTC 2018 - [email protected]
+
+- Update to 20180403:
+  * Various updates around
+  * Indonesian spelling dictionary and thesaurus added
+
+-------------------------------------------------------------------
+Mon Dec 18 10:04:29 UTC 2017 - [email protected]
+
+- git state 20171218
+  * hungarian, spanish
+- update.sh: save git log before removing .git; run spec-cleaner
+  if present
+
+-------------------------------------------------------------------
+Thu Nov  2 10:48:35 UTC 2017 - [email protected]
+
+- Version update to git state 20171102:
+  * Albanian dictionary
+  * Udates all around the place
+    Spanish/English/Swedish/...
+
+-------------------------------------------------------------------
+Thu May 11 12:19:08 UTC 2017 - [email protected]
+
+- Update to git state 20170511:
+  * Add Tibetian dictionary
+- Update update.sh script to not bother < 12.3 releases
+
+-------------------------------------------------------------------
+Fri Dec  9 15:54:44 UTC 2016 - [email protected]
+
+- add FLAG UTF-8 to es_ANY.aff [bsc#1014742]
+  + myspell-dictionaries-es-FLAG-UTF-8.patch
+
+-------------------------------------------------------------------
+Mon Oct 31 14:15:19 UTC 2016 - [email protected]
+
+- Update to git state 20161031:
+  * Various language updates
+  * Notably Swedish and pt_PT
+
+-------------------------------------------------------------------
+Wed May 11 10:15:02 UTC 2016 - [email protected]
+
+- Version update to git state 20160511:
+  * Notably croatian and czech rules updates
+
+-------------------------------------------------------------------
+Wed Feb  3 10:33:34 UTC 2016 - [email protected]
+
+- git state 20160203 to incorporate the previous change
+
+-------------------------------------------------------------------
+Wed Feb  3 10:21:41 UTC 2016 - [email protected]
+
+- Fix description of the package bnc#718113
+
+-------------------------------------------------------------------
+Thu Dec 17 12:22:19 UTC 2015 - [email protected]
+
+- git state 20151217
+
+-------------------------------------------------------------------
+Thu Aug 27 11:46:36 UTC 2015 - [email protected]
+
+- Fixup es generating in update script
+
+-------------------------------------------------------------------
+Thu Aug 27 11:21:23 UTC 2015 - [email protected]
+
+- Slightly whitespace the spec.in file
+
+-------------------------------------------------------------------
+Thu Aug 27 10:34:23 UTC 2015 - [email protected]
+
+- Update to git state 20150827 reflecting LO 5.0
+
+-------------------------------------------------------------------
+Thu Apr 23 09:28:23 UTC 2015 - [email protected]
+
+- fix build for 11sp3
+
+-------------------------------------------------------------------
+Mon Apr 20 10:51:32 UTC 2015 - [email protected]
+
+- remove Obsoletes: bits from myspell-dictionaries rpm which we
+  provide in language sub-subpackages
+
+-------------------------------------------------------------------
+Tue Apr  7 12:03:58 UTC 2015 - [email protected]
+
+- git state 20150407, fixes [bnc#806250]
+
+-------------------------------------------------------------------
+Fri Jan 30 09:24:32 UTC 2015 - [email protected]
+
+- git state 20150130
+- fixed [bnc#914911]:
+  * gl: fixed dangling symlinks when gl_ES not installed
+  * de: _frami dropped from dictionaries name,
+        removed hyph_de.dic, th_de_v2.dat, th_de_v2.idx links from
+        myspell-de main language package (dangling when no 
+        variant is installed)
+  * en: introduced dependenciencies between language subpackages 
+        to not have dangling symlinks:
+        - all variants depends on en_US variant
+        - all except en_PH depends on en_GB
+        - en_MW, en_NA and en_ZW variants depends on en_ZA
+  * ca: ca-valencia.{dic,aff} regular files moved to 
+        myspell-ca_ES_valencia
+
+-------------------------------------------------------------------
+Fri Dec 19 08:32:12 UTC 2014 - [email protected]
+
+- update to 20141215
+- package split according to locale [bnc#907966]
+
+-------------------------------------------------------------------
+Thu Sep 11 09:43:48 UTC 2014 - [email protected]
+
+- package lightproof files [bnc#890735]
+- package all doc files
+- update to 20140911
+
+-------------------------------------------------------------------
+Tue May 20 14:15:52 UTC 2014 - [email protected]
+
+- Remove unzip buildrequire and add xz one.
+
+-------------------------------------------------------------------
+Tue May 13 09:05:03 UTC 2014 - [email protected]
+
+- always end thesaurus files with _v2
+
+-------------------------------------------------------------------
+Mon May 12 09:05:03 UTC 2014 - [email protected]
+
+- improve thesaurus link names
+
+-------------------------------------------------------------------
+Wed May  7 09:24:10 UTC 2014 - [email protected]
+
+- updated to 20140507
+  * fdo#73544 update catalan linguistic components
++++ 499 more lines (skipped)
++++ between /dev/null
++++ and 
/work/SRC/openSUSE:Leap:15.1:Update/.myspell-dictionaries.12212.new.3248/myspell-dictionaries.changes

New:
----
  dictionaries.tar.xz
  myspell-dictionaries.changes
  myspell-dictionaries.spec
  myspell-dictionaries.spec.in
  update.sh

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ myspell-dictionaries.spec ++++++
++++ 5432 lines (skipped)

++++++ myspell-dictionaries.spec.in ++++++
#
# spec file for package myspell-dictionaries.spec
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


###################################################################
## @DO_NOT_EDIT_COMMENT@
## Generate: sh update.sh
###################################################################
Name:           myspell-dictionaries
Version:        @VERSION@
Release:        0
Summary:        A Source Package for Dictionaries Used by MySpell
License:        AGPL-3.0-only AND BSD-2-Clause AND BSD-3-Clause AND 
BSD-4-Clause AND CC-BY-SA-1.0 AND CC-BY-SA-3.0 AND GFDL-1.1-only AND 
GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND GPL-3.0-or-later AND 
LGPL-2.0-only AND LGPL-2.1-only AND LGPL-2.1-or-later AND LGPL-3.0-only AND 
LGPL-3.0-or-later AND MPL-1.1
URL:            https://cgit.freedesktop.org/libreoffice/dictionaries/
Source0:        dictionaries.tar.xz
Source1:        update.sh
Source2:        myspell-dictionaries.spec.in
BuildRequires:  dos2unix
BuildRequires:  xz
Obsoletes:      myspell-african
Obsoletes:      myspell-albanian
Obsoletes:      myspell-armenian
Obsoletes:      myspell-assamese
Obsoletes:      myspell-asturian
Obsoletes:      myspell-chichewa
Obsoletes:      myspell-coptic
Obsoletes:      myspell-esperanto
Obsoletes:      myspell-faroese
Obsoletes:      myspell-friulian
Obsoletes:      myspell-gaelic-scots
Obsoletes:      myspell-haitian
Obsoletes:      myspell-indonese
Obsoletes:      myspell-irish
Obsoletes:      myspell-kazakh
Obsoletes:      myspell-khmer
Obsoletes:      myspell-kichwa
Obsoletes:      myspell-kikuyu
Obsoletes:      myspell-kinyarwanda
Obsoletes:      myspell-korean
Obsoletes:      myspell-kurdish
Obsoletes:      myspell-latin
Obsoletes:      myspell-lower-sorbian
Obsoletes:      myspell-macedonian
Obsoletes:      myspell-maithili
Obsoletes:      myspell-malagasy
Obsoletes:      myspell-malay
Obsoletes:      myspell-malayalam
Obsoletes:      myspell-maory
Obsoletes:      myspell-marathi
Obsoletes:      myspell-ndebele
Obsoletes:      myspell-new-zealand
Obsoletes:      myspell-persian
Obsoletes:      myspell-setswana
Obsoletes:      myspell-sotho-northern
Obsoletes:      myspell-swati
Obsoletes:      myspell-swedish-finland
Obsoletes:      myspell-tagalog
Obsoletes:      myspell-tsonga
Obsoletes:      myspell-venda
Obsoletes:      myspell-welsh
Obsoletes:      myspell-xhosa
Obsoletes:      myspell-yiddish
Obsoletes:      libreoffice-thesaurus-bg
Obsoletes:      libreoffice-thesaurus-ca
Obsoletes:      libreoffice-thesaurus-cs
Obsoletes:      libreoffice-thesaurus-da
Obsoletes:      libreoffice-thesaurus-de
Obsoletes:      libreoffice-thesaurus-de-AT
Obsoletes:      libreoffice-thesaurus-de-CH
Obsoletes:      libreoffice-thesaurus-el
Obsoletes:      libreoffice-thesaurus-en-AU
Obsoletes:      libreoffice-thesaurus-en-GB
Obsoletes:      libreoffice-thesaurus-en-US
Obsoletes:      libreoffice-thesaurus-es
Obsoletes:      libreoffice-thesaurus-es-AR
Obsoletes:      libreoffice-thesaurus-es-VE
Obsoletes:      libreoffice-thesaurus-fr
Obsoletes:      libreoffice-thesaurus-ga
Obsoletes:      libreoffice-thesaurus-hu
Obsoletes:      libreoffice-thesaurus-it
Obsoletes:      libreoffice-thesaurus-nb
Obsoletes:      libreoffice-thesaurus-ne
Obsoletes:      libreoffice-thesaurus-pl
Obsoletes:      libreoffice-thesaurus-pt
Obsoletes:      libreoffice-thesaurus-ro
Obsoletes:      libreoffice-thesaurus-ru
Obsoletes:      libreoffice-thesaurus-sk
Obsoletes:      libreoffice-thesaurus-sl
Obsoletes:      libreoffice-thesaurus-sv
Obsoletes:      libreoffice-hyphen

%description
This source package contains dictionaries for MySpell.

The MySpell spell-checker is used by the Libreoffice office suite,
the Mozilla Composer, and the Mozilla Mail message composition window.

@METADATA@

%prep
%setup -q -n dictionaries

%build

%install
@INSTALL@

%files
@FILES@

%changelog
++++++ update.sh ++++++
#!/bin/bash
# DOWNLOAD='no' when testing this script or spec.in
DOWNLOAD='yes'
GIT_DIR='dictionaries'
VERBOSE='yes'

DATADIR="/usr/share"
DOCDIR="/usr/share/doc/packages"
DIC_DIR="hunspell"
HYPH_DIR="hyphen"
TH_DIR="mythes"
COMPAT_DIR="myspell"
LO_DIR="%{_libdir}/libreoffice"
LODATA_DIR="$LO_DIR/share"
LOEXT_DIR="$LODATA_DIR/extensions"

declare -A provides_map=(
["myspell-af_ZA"]="myspell-african"
["myspell-ar"]="myspell-arabic"
["myspell-be_BY"]="myspell-belarusian"
["myspell-bg_BG"]="myspell-bulgarian libreoffice-thesaurus-bg"
["myspell-bn_BD"]="myspell-bengali"
["myspell-br_FR"]="myspell-breton"
["myspell-ca"]="myspell-catalan libreoffice-thesaurus-ca"
["myspell-ca_ES_valencia"]="myspell-valencian"
["myspell-cs_CZ"]="myspell-czech libreoffice-thesaurus-cs"
["myspell-da_DK"]="myspell-danish libreoffice-thesaurus-da"
["myspell-de_DE"]="myspell-german"
["myspell-de_AT"]="myspell-austrian"
["myspell-de_CH"]="myspell-nswiss"
["myspell-el_GR"]="myspell-greek libreoffice-thesaurus-el"
["myspell-en_US"]="myspell-american libreoffice-thesaurus-US"
["myspell-en_GB"]="myspell-british libreoffice-thesaurus-en-GB"
["myspell-en_ZA"]="myspell-south-african-english"
["myspell-en_AU"]="myspell-australian libreoffice-thesaurus-en-AU"
["myspell-en_NZ"]="myspell-new-zaeland"
["myspell-en_CA"]="myspell-canadian"
["myspell-es_UY"]="myspell-spanish-uruguayan"
["myspell-es_HN"]="myspell-spanish-honduran"
["myspell-es_GT"]="myspell-spanish-guatemalan"
["myspell-es_CO"]="myspell-spanish-colombian"
["myspell-es_CL"]="myspell-spanish-chilean"
["myspell-es_VE"]="myspell-spanish-venezuelan"
["myspell-es_CR"]="myspell-spanish-costa-rican"
["myspell-es_BO"]="myspell-spanish-bolivian"
["myspell-es_MX"]="myspell-mexican"
["myspell-es_SV"]="myspell-spanish-salvadorean"
["myspell-es_PA"]="myspell-spanish-panamanian"
["myspell-es_PE"]="myspell-spanish-peruvian"
["myspell-es_EC"]="myspell-spanish-ecuadorian"
["myspell-es_DO"]="myspell-spanish-dominican"
["myspell-es_PR"]="myspell-spanish-puerto-rican"
["myspell-es_AR"]="myspell-spanish-argentine"
["myspell-es_NI"]="myspell-spanish-nicaraguan"
["myspell-es_PY"]="myspell-spanish-paraguayan"
["myspell-es_ES"]="myspell-spanish"
["myspell-et_EE"]="myspell-estonian"
["myspell-fr_FR"]="myspell-french libreoffice-thesaurus-fr"
["myspell-gd_GB"]="myspell-gaelic"
["myspell-gl"]="myspell-galician"
["myspell-gu_IN"]="myspell-gujarati"
["myspell-he_IL"]="myspell-hebrew"
["myspell-hi_IN"]="myspell-hindi"
["myspell-hr_HR"]="myspell-croatian"
["myspell-hu_HU"]="myspell-hungarian libreoffice-thesaurus-hu"
["myspell-is"]="myspell-icelandic"
["myspell-it_IT"]="myspell-italian libreoffice-thesaurus-it"
["myspell-lt_LT"]="myspell-lithuanian"
["myspell-lv_LV"]="myspell-latvian"
["myspell-nl_NL"]="myspell-dutch"
["myspell-nb_NO"]="myspell-norsk-bokmaal"
["myspell-nn_NO"]="myspell-norsk-nynorsk"
["myspell-oc_FR"]="myspell-occitan-lengadocian"
["myspell-pl_PL"]="myspell-polish libreoffice-thesaurus-pl"
["myspell-pt_BR"]="myspell-brazilian libreoffice-thesaurus-pt"
["myspell-pt_PT"]="myspell-portuguese"
["myspell-ro"]="myspell-romanian libreoffice-thesaurus-ro"
["myspell-ru_RU"]="myspell-russian libreoffice-thesaurus-ru"
["myspell-si_LK"]="myspell-sinhala"
["myspell-sk_SK"]="myspell-slovak libreoffice-thesaurus-sk"
["myspell-sl_SI"]="myspell-slovene libreoffice-thesaurus-sl"
["myspell-sr"]="myspell-serbian-latin myspell-serbian-cyrillic"
["myspell-sv_SE"]="myspell-swedish libreoffice-thesaurus-sv"
["myspell-sw_TZ"]="myspell-kiswahili"
["myspell-th_TH"]="myspell-thai"
["myspell-uk_UA"]="myspell-ukrainian"
["myspell-vi"]="myspell-vietnamese"
["myspell-zu_ZA"]="myspell-zulu"
)

declare -A recommends_map=(
["myspell-de"]="myspell-de_DE"
["myspell-en"]="myspell-en_US"
["myspell-es"]="myspell-es_ES"
["myspell-ro"]="myspell-ro_RO"
["myspell-no"]="myspell-nb_NO"
["myspell-vi"]="myspell-vi_VN"
)

# directories under $GIT_DIR, which holds dictionaries
function directories()
{
  ls $GIT_DIR/*/dictionaries.xcu | sed -e 's:dictionaries/::' -e 
's:/dictionaries.xcu::' | tr '\n' ' '
}

# create central mapping dir <-> locales <-> files
function locale_to_file_map()
{
  cd $GIT_DIR
  rm -f locale_to_file_map.txt
  for dir in $dirs; do
    cat $dir/dictionaries.xcu \
       | grep -v '<!--' \
       | grep -A1 'Locations\|Locales' \
       | grep -v '\-\-\|Locations\|Locales' \
       | sed s:%origin%:$dir:g \
       | sed 's:<it>: :g' \
       | sed 's:</it>: :g' \
       | sed 's:.*<value>\(.*\)</value>.*:\1:' \
       | while read files; do 
           read locs
           locs=`echo $locs | tr '-' '_'`
           echo $dir: $locs @ $files >> locale_to_file_map.txt
         done
  done
  # add idx files for every dat (where doesn't exist)
  # we will generate them
  sed -i '/\.idx/!s/\([^ ]*\)\.dat/\1.dat \1.idx/g' locale_to_file_map.txt
  cd ..
}

# for given dir: which locales provides
function dir_locales()
{
  dir=$1
  grep "^$dir:" $GIT_DIR/locale_to_file_map.txt | sed 's/.*: //' | sed 's/ 
@.*//' | tr ' ' '\n' | sort -u | tr '\n' ' '
}

# for given dir: which dictionary relevant files (dic, aff, th*, hyph*) provides
function dir_files()
{
  dir=$1
  grep "$dir:" $GIT_DIR/locale_to_file_map.txt  | sed 's:.*@ ::' | tr ' ' '\n' 
| sort -u | tr '\n' ' '
}

# for given dictionary file: which locales provides
function file_locales()
{
  file=$1
  # there should be only one occurence of a file in locale_to_file_map.txt
  grep $file $GIT_DIR/locale_to_file_map.txt | sed -e 's/.*: //' -e 's/@.*//'
}

# for given dir: description of the dictionary
function description()
{
  dir=$1
  grep  '<name lang="en.*">' dictionaries/$dir/description.xml | sed -e 
's:.*<name lang="en.*">::' -e 's:</name>.*::' | tr '\n' ' ' | sed 's:[ \t]*$::'
}

# all thesaurus dat files
function dat_files()
{
  grep '\.dat' $GIT_DIR/locale_to_file_map.txt | sed 's:.* \([^ 
]\+\.dat\).*:\1:'
}

# for dat file return corresponding idx file name
function idx_file()
{
  dat_file=$1
  grep "$dat_file" $GIT_DIR/locale_to_file_map.txt | sed 's:.* \([^ 
]\+\.idx\).*:\1:'
}

# arch package?
function have_lightproof()
{
  dir=$1
  [ -f $GIT_DIR/$dir/Lightproof.py ]
}

# figure out install path for given file name
function install_path()
{
  filename=$1

  install_dir=""
  # *.dic, *.aff
  if [[ $filename =~ \.dic$ ]] || [[ $filename =~ \.aff$ ]]; then
    if [[ $filename =~ ^hyph ]]; then
      install_dir="$DATADIR/$HYPH_DIR"
    else
      install_dir="$DATADIR/$DIC_DIR"
    fi
  fi
  # th*.dat, th*.idx
  if [[ $filename =~ th.*\.dat ]] || [[ $filename =~ th.*\.idx ]]; then
    install_dir="$DATADIR/$TH_DIR"
  fi

  echo "$install_dir/$filename"
}

function install_regular()
{
  src=$1
  dst=$2
  sed -i "s#@INSTALL@#cp -P $src %{buildroot}$dst\n@INSTALL@#" 
myspell-dictionaries.spec
}

function install_regular_recursive()
{
  src=$1
  dst=$2
  sed -i "s#@INSTALL@#cp -rP $src %{buildroot}$dst\n@INSTALL@#" 
myspell-dictionaries.spec
}

function install_link()
{
  targ=$1
  name=$2
  sed -i "s#@INSTALL@#ln -s $targ %{buildroot}$name\n@INSTALL@#" 
myspell-dictionaries.spec
}

function install_dir()
{
  dirname=$1
  sed -i "s#@INSTALL@#mkdir -p %{buildroot}$dirname\n@INSTALL@#" 
myspell-dictionaries.spec
}

function add_files()
{
  filelist=$1

  sed -i "s#@FILES@#%defattr(-,root,root,-)\n@FILES@#" myspell-dictionaries.spec
  for f in $filelist; do
    f=$(echo $f | sed 's:%dir_:%dir :')
    sed -i "s#@FILES@#$f\n@FILES@#" myspell-dictionaries.spec
  done
}

function package_files()
{
  pname=$1
  filelist=$2

  sed -i "s#@FILES@#%files -n $pname\n@FILES@#" myspell-dictionaries.spec
  add_files "$filelist"
  sed -i "s#@FILES@#\n@FILES@#" myspell-dictionaries.spec
}

function package_metadata()
{
  locale=$1
  dir=$2
  requires=$3

  desc=$(description $dir)
  sum="MySpell $locale Dictionary"
  sed -i "s#@METADATA@#%package -n myspell-$locale\n@METADATA@#" 
myspell-dictionaries.spec
  sed -i "s#@METADATA@#Summary:        $sum\n@METADATA@#" 
myspell-dictionaries.spec
  sed -i "s#@METADATA@#Requires:       myspell-dictionaries\n@METADATA@#" 
myspell-dictionaries.spec
  sed -i "s#@METADATA@#Provides:       myspell-dictionary\n@METADATA@#" 
myspell-dictionaries.spec
  sed -i "s#@METADATA@#Provides:       
locale(libreoffice:$locale)\n@METADATA@#" myspell-dictionaries.spec
  sed -i "s#@METADATA@#Provides:       
locale(seamonkey-spellchecker:$locale)\n@METADATA@#" myspell-dictionaries.spec
  for p in ${provides_map["myspell-$locale"]}; do
    sed -i "s#@METADATA@#Provides:       $p\n@METADATA@#" 
myspell-dictionaries.spec
  done
  if [ "$locale" != "$dir" ]; then
    # require main language subpackage; note that e. g. myspell-te_IN is main 
language package
    # and myspell-te is language subpackage; drawback of splitting
    sed -i "s#@METADATA@#Requires:       myspell-$dir\n@METADATA@#" 
myspell-dictionaries.spec
  fi
  for req in $requires; do
    sed -i "s#@METADATA@#Requires:       myspell-$req\n@METADATA@#" 
myspell-dictionaries.spec
  done
  for p in ${recommends_map["myspell-$locale"]}; do
    sed -i "s#@METADATA@#Recommends:       $p\n@METADATA@#" 
myspell-dictionaries.spec
  done
  sed -i "s#@METADATA@#BuildArch:      noarch\n@METADATA@#" 
myspell-dictionaries.spec
  if have_lightproof $dir; then
    sed -i "s#@METADATA@#Recommends:     myspell-lightproof-$dir\n@METADATA@#" 
myspell-dictionaries.spec
  fi
  sed -i "s#@METADATA@#\n@METADATA@#" myspell-dictionaries.spec
  sed -i "s#@METADATA@#%description -n myspell-$locale\n@METADATA@#" 
myspell-dictionaries.spec
  sed -i "s#@METADATA@#$desc.\n@METADATA@#" myspell-dictionaries.spec
  sed -i "s#@METADATA@#\n@METADATA@#" myspell-dictionaries.spec
}

function lightproof_package_metadata()
{
  dir=$1

  sed -i "s#@METADATA@#%package -n myspell-lightproof-$dir\n@METADATA@#" 
myspell-dictionaries.spec
  sed -i "s#@METADATA@#Summary:        Lightproof for $dir\n@METADATA@#" 
myspell-dictionaries.spec
  sed -i "s#@METADATA@#Requires:       myspell-$dir\n@METADATA@#" 
myspell-dictionaries.spec
  sed -i "s#@METADATA@#\n@METADATA@#" myspell-dictionaries.spec
  sed -i "s#@METADATA@#\n@METADATA@#" myspell-dictionaries.spec
  sed -i "s#@METADATA@#%description -n myspell-lightproof-$dir\n@METADATA@#" 
myspell-dictionaries.spec
  sed -i "s#@METADATA@#Lightproof grammar checker information for 
$dir.\n@METADATA@#" myspell-dictionaries.spec
  sed -i "s#@METADATA@#\n@METADATA@#" myspell-dictionaries.spec
}

function finish_spec()
{
  sed -i "s:@METADATA@::" myspell-dictionaries.spec
  sed -i "s:@INSTALL@::" myspell-dictionaries.spec
  sed -i "s:@FILES@::" myspell-dictionaries.spec
  [ -x /usr/bin/spec-cleaner ] && spec-cleaner -i myspell-dictionaries.spec
}

#
# prerequisites
#

if [ ! -x /usr/bin/th_gen_idx.pl ]; then
  echo "ERROR: /usr/bin/th_gen_idx.pl not found"
  echo "Install mythes-devel package."
  exit 1
fi

#
# prepare 'dictionaries' directory
#

# download present git version, remove .git, unify layout
if [ $DOWNLOAD == "yes" ]; then 
  echo '--- Download current git version'
  rm -rf $GIT_DIR
  git clone --depth 30 git://anongit.freedesktop.org/libreoffice/$GIT_DIR
  pushd $GIT_DIR
  git log > ../REMOVE_GIT_LOG
  popd
  rm -rf $GIT_DIR/.git
  # exceptions >>>>>>>>>>>>>>>>>>>>>
  pushd $GIT_DIR
    for dir in ca; do
      pushd $dir
        cp --force dictionaries/* .
        sed -i 's:dictionaries/::' dictionaries.xcu
      popd
    done
    # bug 914911 comment 10 ---
    # - gl: consistent file naming
    pushd gl
      for ext in aff dic; do
        mv gl_ES.$ext gl.$ext
        sed -i "s:gl_ES.$ext:gl.$ext:" dictionaries.xcu
      done
    popd
    # - de: remove _frami from filenames
    pushd de
      for var in AT CH DE; do
        for ext in aff dic; do
          mv de_${var}_frami.$ext de_${var}.$ext
          sed -i "s:de_${var}_frami.$ext:de_${var}.$ext:" dictionaries.xcu
        done
      done
      # remove hyph_de.dic, th_de_v2.dat, th_de_v2.idx links to
      # hyph_de_DE.dic, th_de_DE_v2.dat, th_de_DE_v2.idx
      sed -i 's:>de :>:' dictionaries.xcu
    popd
    # -ca: rename ca-valencia.{aff,dic} to ca_ES_valencia.{aff,dic}
    pushd ca
      for ext in aff dic; do
        mv ca-valencia.$ext ca_ES_valencia.$ext
        sed -i "s:ca-valencia.$ext:ca_ES_valencia.$ext:" dictionaries.xcu
      done
    popd
    # -------------------------
  popd
  # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  date=`date +%Y%m%d`
elif [ ! -e $GIT_DIR ]; then
  echo "ERROR: DOWNLOAD=$DOWNLOAD and '$GIT_DIR' does not exist"
  echo "Run quilt setup or so."
  exit 1
else
  echo "--- Do not download, using '$GIT_DIR'"
  date=`rpmspec -q --qf "%{VERSION}\n" *.spec | head -n 1`
fi

# create dir <-> locales <-> files mapping
# in $GIT_DIR/locale_to_file_map.txt
dirs=$(directories)
[ "$VERBOSE" == "yes" ] && echo directiories: $dirs
locale_to_file_map

# create *.idx files from *.dat files
echo '--- Creating idx files'
for datf in $(dat_files); do
  idxf=$(idx_file $datf)
  [ "$VERBOSE" == "yes" ] && echo "th_gen_idx.pl < $GIT_DIR/$datf > 
$GIT_DIR/$idxf"
  th_gen_idx.pl < $GIT_DIR/$datf > $GIT_DIR/$idxf
  if [ $? -ne 0 ]; then
    echo "ERROR: failed th_gen_idx.pl -o $GIT_DIR/$idxf < $GIT_DIR/$datf"
    exit 1
  fi
done

#
# generate myspell-dictionaries.spec
#
echo '--- Generating spec file'

cp myspell-dictionaries.spec.in myspell-dictionaries.spec

sed -i "s:@DO_NOT_EDIT_COMMENT@:DO NOT EDIT THIS SPEC FILE:" 
myspell-dictionaries.spec
sed -i "s:@VERSION@:$date:" myspell-dictionaries.spec

# install main directories
dir_filelist=""
for d in $DATADIR/$DIC_DIR $DATADIR/$HYPH_DIR $DATADIR/$TH_DIR \
         $DATADIR/$COMPAT_DIR $LO_DIR $LODATA_DIR $LOEXT_DIR; do
  [ "$VERBOSE" == "yes" ] && echo "installing $DATADIR/$d"
  install_dir $d
  dir_filelist="$dir_filelist %dir_$d"
done
echo $dir_filelist
add_files "$dir_filelist"

# install dictionary files
for dir in $dirs; do
  files=$(dir_files $dir)
  # clear and declare filelist associative array
  unset filelist
  declare -A filelist
  declare -A requires

  [ "$VERBOSE" == "yes" ] && echo "DICTIONARY: $dir ($files)"
  for file in $files; do
    file_into_main_package=1
    fname=`basename $file`
    locales=$(file_locales $file)
    reg_file_locale=""
    [ "$VERBOSE" == "yes" ] && echo " $file: $locales"
    for locale in $locales; do
      # work around which is bug imho in dictionaries.xcu. 
      # It references file that doesn't exist.
      if [ ! -e "$GIT_DIR/$dir/$fname" ]; then
        [ "$VERBOSE" == "yes" ] && echo "WARNING: $GIT_DIR/$dir/$fname doesn't 
exist"
        continue;
      fi

      prefix=""
      version=""
      if [[ $fname == th* ]]; then
        # nice collision with th_ for thesaurus
        if [ "$fname" != "th_TH.aff" ] && [ "$fname" != "th_TH.dic" ]; then
          prefix="th_"
          # it seems suffix have to be _v2, even if target is named _v3 :)
          version='_v2'
        fi
      fi
      if [[ $fname == hyph* ]]; then
        prefix="hyph_"
      fi
      ext=`echo $fname | sed 's:.*\.::'`
      linkname=$prefix$locale$version.$ext

      [ "$VERBOSE" == "yes" ] && echo -n "  link: $linkname -> $fname .. "

      # regular file for this locale/extension exists yet, 
      # do not create symlink
      if [ -f $GIT_DIR/$dir/$linkname ]; then
        [ "$VERBOSE" == "yes" ] && 
          echo "regular file exists yet, not creating link"
        # should file go to language sub-subpackage?
        # if not, it will be installed later (search for ***)
        if [ "$locale" != "$dir" ]; then
          file_into_main_package=0
          # bug 914911 comment 10
          # the assumption is, that locale for regular file
          # is listed first in <value></value> @ dictionaries.xcu
          reg_file_locale="$locale"
          ipath=$(install_path $linkname)
          [ "$VERBOSE" == "yes" ] && 
            echo " install: $ipath (myspell-dictionaries-$locale)"
          install_regular $dir/$linkname $ipath
          filelist[$locale]="${filelist[$locale]} $ipath"
          compat_link="$DATADIR/$COMPAT_DIR/$linkname"
          [ "$VERBOSE" == "yes" ] && 
            echo " compat link install: $compat_link -> $ipath"
          install_link $ipath $compat_link
          filelist[$locale]="${filelist[$locale]} $compat_link"
        fi
        continue;
      fi

      # regular file $linkname does not exist yet, create symlink
      [ "$VERBOSE" == "yes" ] && echo "created"
      lipath=$(install_path $linkname)
      ripath=$(install_path $fname)
      [ "$VERBOSE" == "yes" ] && 
        echo "  link install: $lipath -> $ripath (myspell-dictionaries-$locale)"
      install_link $ripath $lipath
      # bug 914911 comment 10
      # the assumption is, that locale for regular file
      # is listed first in <value></value> @ dictionaries.xcu
      if [ ! -z "$reg_file_locale" ]; then
        if ! [[ ${requires[$locale]} =~ $reg_file_locale ]]; then
          [ "$VERBOSE" == "yes" ] && 
            echo "  => myspell-$locale depends on myspell-$reg_file_locale"
          requires[$locale]="${requires[$locale]} $reg_file_locale"
        fi
      fi
      filelist[$locale]="${filelist[$locale]} $lipath"
      compat_link=$DATADIR/$COMPAT_DIR/$linkname
      [ "$VERBOSE" == "yes" ] && 
        echo "  compat link install: $compat_link -> $lipath"
      install_link $lipath "$compat_link"
      filelist[$locale]="${filelist[$locale]} $compat_link"
    done

    # regular file to the main language subpackage if it is not in 
    # some its sub-subpackages (search for ***)
    if [ $file_into_main_package -eq 1 ]; then
      ipath=$(install_path $fname)
      [ "$VERBOSE" == "yes" ] && 
        echo " install: $ipath (myspell-dictionaries-$dir)"
      install_regular $file $ipath
      filelist[$dir]="${filelist[$dir]} $ipath"
      compat_link="$DATADIR/$COMPAT_DIR/$fname"
      [ "$VERBOSE" == "yes" ] && 
        echo " compat link install: $compat_link -> $ipath"
      install_link $ipath $compat_link
      filelist[$dir]="${filelist[$dir]} $compat_link"
    fi
  done

  # install lightproof files
  if have_lightproof $dir; then
    lightproof_files=`find $GIT_DIR/$dir -maxdepth 1 -name 'pythonpath' -o 
-name 'dialog' -o -name 'Lightproof*' -o \
                                                     -name 'Linguistic.xcu' -o 
-name 'META-INF' -o -name 'icons' -o \
                                                     -name 'description.xml'`
    install_dir "$LOEXT_DIR/lightproof-$dir"
    lightproof_filelist="%dir_$LOEXT_DIR/lightproof-$dir"
    for f in $lightproof_files; do
      ipath="$LOEXT_DIR/lightproof-$dir/`basename $f`"
      install_regular_recursive $dir/`basename $f` $ipath
      lightproof_filelist="$lightproof_filelist $ipath"
    done
  fi

  # install doc files
  doc_files=`find $GIT_DIR/$dir -maxdepth 1 -type f | grep 
'.txt\|.xcu\|.xml\|.png\|.tex\|^[^.]*$' || true`
  install_dir "$DOCDIR/myspell-$dir"
  filelist[$dir]="${filelist[$dir]} %dir_$DOCDIR/myspell-$dir"
  for f in $doc_files; do
    ipath="$DOCDIR/myspell-$dir/`basename $f`"
    install_regular $dir/`basename $f` $ipath
    filelist[$dir]="${filelist[$dir]} $ipath"
  done

  # write rpm subpackage information
  for pkg in "${!filelist[@]}"; do
    package_metadata $pkg $dir "${requires[$pkg]}"
    package_files myspell-$pkg "${filelist[$pkg]}"
  done
  if have_lightproof $dir; then
    lightproof_package_metadata $dir
    package_files myspell-lightproof-$dir "$lightproof_filelist"
  fi
done

finish_spec

#
# creating source archive
#
if [ $DOWNLOAD == "yes" ]; then
  echo '--- Creating archive'
  tar cJf dictionaries.tar.xz dictionaries
  rm -r dictionaries
fi

echo --- Done

#
# advice at the end ..
#
echo
echo With osc diff, figure out if there is a new package. 
echo If yes, add its license in License: tag of both 
echo *.spec and *.spec.in
echo if this license is not there yet.
echo

Reply via email to