Accepting request 231922 from LibreOffice:Factory

- myspell-de provides myspell-austrian, myspell-german and
  myspell-nswiss (removed subpackages from igerman98 source
  package)

- obsolete libreoffice-hyphen
- obsolete/provide libreoffice-thesaurus-*

- do not provide locale(OpenOffice_org:*) [bnc#806250#c21]

- subpackages Provides old names

- package reworked, using data and layout from
  http://cgit.freedesktop.org/libreoffice/dictionaries/
  [bnc#806250]

OBS-URL: https://build.opensuse.org/request/show/231922
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/myspell-dictionaries?expand=0&rev=36
This commit is contained in:
Stephan Kulow 2014-05-02 11:53:38 +00:00 committed by Git OBS Bridge
commit 83e132ce5b
120 changed files with 1314 additions and 5133 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:986174d219663ea5538501f843019f07484ce2a34987ad674bc3e41f340bf052
size 1454236

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:44788e04a543dd745c9c4c40da7941cf234d2728894c4c28266c3602b77bcf22
size 572168

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a3827dbd0554bb74e56d1f1a92bb5b4e91cc21dd64efc4817fb2f0948c4ad6d6
size 1215174

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:111a9aa442aa8e1db29e7c3dda6a839cd7a10aceb6e927057c964233147cbc5e
size 477

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c922b18f9d1d2c70b0b7833b03f8a76580cdb617961194b737f61b039695f56f
size 343579

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:45feab20738dfd3be29d62629ef792c61a86c05a27f89f84b491adf9413f3fa2
size 96501

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:75f8982d20505f7d2b47146726990674e73fda7b22fe3387171eca8faab7ac44
size 202531

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:75a15e048704893888b9cecd8b846824009ef3f1eea0c158740d14fca045da5b
size 442703

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0b82a55884604852cf6212d6600911efe1e8be1ca943050dcb127522004fbb3b
size 400331

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3efa8ac8102697cb86613a90d2e0a2b1913959345629bfd59d65fdd82f3af5d9
size 223345

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:11ca2c2de7741121b17fdd64ce0e626a7ff96a02e162c66cf46f24e0a739b7d9
size 535668

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b232dc4d92a865686b42f03bf5cbec0b4c7c41852b1b21f76be36434c8762699
size 119874

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:03ae43ed00643840e8776c5842489a6499b160d94a5bbb49bda679fbfd085a98
size 543652

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:55569b16d67e941f579ed3847e7409a6452de5d575b22e77776b05f8adccf26a
size 1668991

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:08e826197eded1027df4c3b81717e7d2f7135e22dd39747901d856e3d267809d
size 304573

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8a61f3d444d0591d91c90c367c101b8d7b59c54ceaa2fba8a74b4126a3eb3861
size 211161

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:934c9954bc03f50925549d146fe902a11e096c60b5e1a91f7bfc739fe1fa4aca
size 382747

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:66db3f343852b4bcd693fcdc5fe8d5ba7484be06815f977b9df430131eed7f68
size 1937425

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d063bb960d73e86d49c54f93a1c2b0dfeacb505a2196b0941e6281d9489b1be5
size 51058

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5315491a315a5380326458a228f7cda304eb3b14c3f61bf9792efc8061925462
size 1440618

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ec5678dab45c66941070be8dc8c149f6cd6b1ba1fd0c288bbe97430fa63989df
size 667825

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6970a7920cdcbae26d3b1b0fd0e0780707ee737f889d51b4d046f8e9033775d3
size 2578020

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f7857ca2281c6dbd1ef58c7951ef048b3b10624cb4593b134f48c10d8766f4a6
size 2574069

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8a4f5562c010476e8a2b1e3108a8c82603569e498c0dd70d641ce8bccf9de99e
size 2576774

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:90eaa1b6853633113813b5dd7b62fc956bc031ccf843fc033d9a11ef2e3858cf
size 5439195

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:270109435796a62115a1712a3c8996d70358bb063bbb0f113625fb0f129eaeb6
size 1194350

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:843badf87156c8f05f6b5435e1f2437a77fe179bf258ad436d47a6f806653ac3
size 913603

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:df075ca2ac3ec034703ff8f01b93c5a03bd71fcca71d94f97a4dca18d0e087ef
size 659879

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:caacdb1cb79ae1cbb5a5fc86301385d7d0bfbb665be8d58d2f2d76ed69121717
size 335938

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:014ee23d022f049c2f6ce3fc55a1c234e222ae3faed4cd20715f137d788a4f1c
size 2028925

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3dd8d2030a11b5661c19d678444722ba055da0878aa4ee8d4f1f7f6cbaa87ef7
size 1204927

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:344d518e772b7d7af2e3c9ca5371a8f82a870d2393ec8e7fc9d534a791e5feea
size 216948

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e99aab3e0c58500b1afef18b90d523643dccf3d9693cc0a4f9aa2a8c7b5b6d1b
size 304061

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:757b1a18b2f9295b47fef2c5d36603dfac362696f47470b4789161c43117d1c1
size 330443

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:62d2e397bbc782fc150563e3d17693fd7bbcac013f26c3eb530ff3704d443413
size 479902

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c1bd5bc224ecdda9f0c0f596ed9c58917ae67e1eb5c7da73ca34ec414cd7a0bd
size 83768

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:29964de24cf47a3b5db8e16afd66c6149ff159fce5de781d5d0e4038a0a3aa2f
size 1640819

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e78213eb5fbe137bc789f5f32a4c3d32d61aef8b5ed27bf607d77521b5500332
size 1369232

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:946c2a1b7e0b503930155f52f1fd6c1fba853aeaaef879873eaef9cc768c2c79
size 566174

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:09da9be038b6b54f55c60eefd579c1ab6f4bbf9e9525fbda99b6ee6780e0bf0e
size 1237183

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c69b97f4b626ddf5e7fa31f04ae635d66afb42f4f98405a9173d72e1076a242d
size 85439

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5b50d706625999fe7145b11b938a8087532b26abcac679e46982920d1867cc91
size 821992

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:245de0954ddb6ed410b9824de1fb57ebe658c9002d79bbd596277cd962bb4759
size 44444

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:eea6c1008b00209e47013861cb93f5882be1dd730ceaa5aa2b4ef4bd834f9e33
size 78367

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:247382ea015b5a44ff18c0ecf8db1c17e1d07063ef7feb951c38d584b267bf86
size 298349

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d16467289e5245f254f5298127c4964aeec70277b511c5af9593532866f420fc
size 1008317

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e034e2f9fbfcc58f4af91d0d0506261bd690811711d1776838f32acccd262779
size 1355636

3
dictionaries.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6f4e8dd76fa8e8d1e8352ef460960416765bc6989e7260fb169f9f3423659a3e
size 37328488

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8365c3146e38433dc3610f6e71a731cdf42eaf5c9e5c55db29212f398fd053ea
size 1396443

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:954a8ae485862c443233b64d97a4e7709e34de439e4471710ca8f98ea0965269
size 248142

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0df88c8e8f1967bc33f9714614d3c33294bf0e89e421afeea5c3cc8c7e751baf
size 249495

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:70665f70bed87a42113a606ceffd77ce35cfd72b9204352cc734e92bbcb192c2
size 323735

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ff3bf43d6d3b4c10c9f6f4c5904e295176bf57c4d547158ef8acaad011d332e2
size 4773034

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:86e310be3e02a55f406debfc72f7227dcfab7bacb15f38013adbad429e33f608
size 272266

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6c12984e0595ddd68b5b017acd3fb39cf4520272534e0abc95939225d7724a0f
size 316834

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8f6bdbd43e61304001dc0da3668c002f0d929dd0fc31fc7d29c998c78c5434c4
size 314788

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cc3f665c39c3275e463d89cfd341abf2fdcd0e125b218b5dcd22960b479d74cf
size 305968

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:be701fc87f89566e38760c78b226a746209e19a66494ac33d7935a5b080afd02
size 314481

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:39bb39fde40824bede8c8ebfa1cb477c5a931a8244afa028f9d07eacdeca70a4
size 315677

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c431ca6a317b44021c944858c7150d6afe96570ff20ee16e892cc68748731794
size 318415

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:238b1afda4fbfb7e8db77b90b469e90d36de69408257980b040ca7597c1ced9e
size 316203

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dae7142e5277838a690b440d90eb8ebf6ee8bf5211fb715ad2fc55cb2f3f77c0
size 316835

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:142cede7c736c7d4a96ad9833c59a611ae903c617877bd59607c9a675bc7866c
size 307775

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:02046773b00858b8b152099260318c7275187191062c14d63ea2c747c58b7485
size 316457

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c75a9ae4bce8a98616ef942a6074f39f87d247accf7601d1152d9b721cee7d49
size 316945

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5900bc021fc724bd27eab53311082a2be5b34af356a2dd02a832bf6b367d96ab
size 304984

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:60fde3ece0339587cc5d5feacf36116b94edafb489dd8f7c7fdf22e828664c6d
size 313971

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:47710266709a80a45a2b1b5a7af7618ea160a6cca75845e3706b69599e0a487b
size 316631

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:003d10b818552ac372f50373731cf040d9bac15eede15daca74b6060dbc2183c
size 315828

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fb9c928adfd554976d21260126f51865e1c2c9d09ce341d77c90f2718ef78543
size 317841

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:56574c2cb9fd6e71addd55a5167b4ff1519b45a8c06f5f92fc371c7312190cac
size 285895

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f7e4a8ccf7ee0c9cd3b3b57e011eea28e44a5cf537d31c2a623c687ef2b5c352
size 861930

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a25da9592a86989c7e4ecda9259f5b34a911aa03a7ae72acd12beb9a5baf0431
size 393371

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e9b530ade3e2712e3b2bce34f871a85ed771ed320ea65163f0053f8b74050162
size 7588199

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0926cda83770baf9c563eac5267faee9b15a681d8ab2e4e60edffba9c6c14ea2
size 495468

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:316924436ca730a956f9a9dc7337b0a09b99ae95212a5209ca621c4fa607de24
size 819441

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:646156048afd2c2a23545467c3d0525604188d5b40ebe9af10027f43497cee73
size 789713

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:dc2105430539d8126b04ce754d07f2ca059b084cdb8fc0e9642733684972adf6
size 433214

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9347a974c1c35e50f47aa0543df86037a05bf6938a3c1e8bc5a4742b82185f21
size 29065

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3aed6c3fe4e009b4a228d83366d4132030320e20215b939ea3f6f227dfe9c563
size 61013

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6883dc9f6518756d6bf85a3bacf26c2889d30d4225a9c91e2d17fd332d68b826
size 280482

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:da6e997cdeafb0cec3c9d8befc744df071e5c37ca2aac26ebdeeb11305bf8089
size 104502

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0ea77914ca5c5f5613283c9de83172ecbc35977ee25940e7b208065974214699
size 321428

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2ded1a3f7368ba7cdafb4ea666102d150149c13c0d8fd118c38869771b8a351e
size 10206

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:595ede1894bab474b537954f71b95ff0b242c6471da64737fe856156406382b8
size 274725

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3325a4d21c9ce6a70f6ad73cd36b73bed4a298b23f3a7c408dfa4873bec919bc
size 741371

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:733394d3dfd44e6c21c17264106e3b6edd2a53b9aee6290483b4877b20395b93
size 216370

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2931104da8cc6660ba63138beab3793c1cf023138844d58d6256e514e3430a8f
size 63187

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:07dbb50803edb7c1afd6872ae3b8f657025428bb8494c35a2412437772e6b37d
size 747733

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6bf6ee78570c6ea8d3afa3f64da6b61d2d0bd29c483d1b69c4fc1eca34554231
size 725597

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8def31cbbaa73dd5d9f70223de6362e7ac1d70f6690f8cc64efe41406a0f5e90
size 92914

View File

@ -1,624 +0,0 @@
#!/usr/bin/perl -w
# This script changes the definite article of ProductName
use strict;
use File::Copy;
my $args = join ' ', @ARGV;
# start to cound dictionary sources from a non-zero value
my $sources_counter = 1000;
# FIXME: we need a global variable to pass the data to the sort function
my $pdata_sort = undef;
############################################################
# loading data
############################################################
sub save_locale_data($$$)
{
my ($pdata, $locale, $pld) = @_;
my @conditions = ();
push @conditions, $pld->{'condition_tag'} if (defined $pld->{'condition_tag'});
push @conditions, 'default';
# default pack suffix
unless (defined $pld->{'default'}{'pack_suffix'}) {
$pld->{'default'}{'pack_suffix'} = lc $pld->{'default'}{'language'};
$pld->{'default'}{'pack_suffix'} =~ s/\s+/\-/g;
}
# default provided lang
unless (defined $pld->{'default'}{'prov_lang'}) {
$pld->{'default'}{'prov_lang'} = $locale;
$pld->{'default'}{'prov_lang'} =~ s/_.*//;
}
# required tags:
# source is not required because one source tarball might provide more dictionaries
# license
die "Error: license tag is not defined for the locale $locale, line $.\n" unless (defined $pld->{'default'}{'license'});
# version
foreach my $condition_tag (@conditions) {
die "Error: version tag is not defined for the locale $locale, line $.\n" unless (defined $pld->{$condition_tag}{'version'});
}
# finally save the locale data
$pdata->{'dict'}{$locale} = $pld;
# udpate the list of used licenses (for source package
foreach my $condition_tag (@conditions) {
if (defined $pld->{$condition_tag}{'license'}) {
foreach my $license (@{$pld->{$condition_tag}{'license'}}) {
$pdata->{'license'}{$license} = 1;
}
}
}
}
sub add_condition_tag($$$)
{
my ($pld, $locale, $condition_tag) = @_;
if ($condition_tag ne 'default') {
if (defined $pld->{'condition_tag'}) {
die "Error: Only one condition is supported for one dictionary, line $.\n" if ($pld->{'condition_tag'} ne $condition_tag);
} else {
$pld->{'condition_tag'} = $condition_tag;
% {$pld->{$condition_tag}} = ();
}
} else {
% {$pld->{'default'}} = () unless (defined $pld->{'default'});
}
}
sub save_locale_data_string($$$$$)
{
my ($pld, $locale, $condition_tag, $tag, $value) = @_;
add_condition_tag($pld, $locale, $condition_tag);
die "Error: Tag $tag defined twice, line $.\n" if (defined $pld->{$condition_tag}{$tag});
$pld->{$condition_tag}{$tag} = $value;
}
sub add_locale_data_list($$$$$)
{
my ($pld, $locale, $condition_tag, $tag, $value) = @_;
add_condition_tag($pld, $locale, $condition_tag);
foreach my $item ( split(/,\s*/, $value) ) {
if ( $tag eq 'types' && ! ($item =~ m/^(myspell|hunspell|hyphen|thesaurus)$/) ) {
print STDERR "Warning: unknown type $item on line $.\n";
}
@ {$pld->{$condition_tag}{$tag}} = () unless (defined $pld->{$condition_tag}{$tag});
push @ {$pld->{$condition_tag}{$tag}}, $item;
}
}
sub read_data($$)
{
my ($pdata, $data_file) = @_;
my $curLang;
my $locale = undef;
# pointer to locale data
my $pld = undef;
my $condition = undef;
my $condition_dict = undef;
my $condition_tag = 'default';
my $condition_else = undef;
my $condition_dict_was = undef;
open DATA , "< $data_file" or die "Can't open '$data_file'\n";
while( my $line = <DATA>){
chomp $line;
# ignore comments
$line =~ s/#.*$//;
# print "just empty line?\n";
# empty line
if ( $line =~ m/^\w*$/ ) {
next;
}
# %if
if ( $line =~ m/^(\%if.*)$/ ) {
die "Error: FIXME: %if with more levels are not supported, line $.\n" if (defined $condition || defined $condition_else || $condition_tag ne 'default');
$condition = "$1";
next;
}
# %else
if ( $line =~ m/^\%else\s*$/ ) {
die "Error: No %if defined for %else at line $.\n" unless ($condition_tag ne 'default');
$condition_tag = 'default';
$condition_else = 1;
next;
}
# %endif
if ( $line =~ m/^\%endif\s*$/ ) {
die "Error: Define the default doctionary using %else, line $.\n" if ($condition_tag ne 'default');
if (defined $condition_else) {
$condition_else = undef;
} elsif (defined $condition_dict) {
$condition_dict = undef;
# the next line must define another dictionary (=> the locale: tag must follow)
$condition_dict_was = 1;
} else {
die "Error: %endif does not match %if at line $.\n";
}
next;
}
# tags
if ( $line =~ m/^(\w+):\s*(.*)$/ ) {
# support uppercase tag names
my $tag = lc($1);
my $value = $2;
# remove blank characters from the end of the value
$value =~ s/\s*$//;
die "Error: no value defined for the tag $tag, line $.\n" unless ($value);
if ( $tag eq 'locale' ) {
die "Error: locale $value already defined earlier, line $.\n" if ( defined ($pdata->{'dict'}{$value}) );
# a section for new language starts => save the old data
save_locale_data($pdata, $locale, $pld) if defined ($locale);
$locale = $value;
% {$pdata->{'dict'}{$locale}} = ();
$pld = \% {$pdata->{'dict'}{$locale}};
if (defined $condition) {
$condition_dict = $condition;
$pld->{'contition_dict'} = $condition;
$condition = undef;
}
# good, this was the right place to put the %endif for the whole dictionary
$condition_dict_was = undef;
next;
}
if (defined $condition_dict_was) {
die "Error: %endif on wrong place, line $.\n" .
" You either need to put %if-%endif are the whole dictionary or you must\n" .
" use :%if-%else-%endif to define a specific dictionary for a specific\n" .
" distribution, line\n";
}
if (defined $condition) {
$condition_tag = $condition;
$condition = undef;
}
if ( $tag eq 'encoding' ||
$tag eq 'language' ||
$tag eq 'pack_suffix' ||
$tag eq 'prov_lang' ||
$tag eq 'source' ||
$tag eq 'url' ||
$tag eq 'version' ) {
save_locale_data_string($pld, $locale, $condition_tag, $tag, $value);
next;
}
if ( $tag eq 'dependency' ||
$tag eq 'license' ||
$tag eq 'types' ||
$tag eq 'prep' ) {
add_locale_data_list($pld, $locale, $condition_tag, $tag, $value);
next;
}
}
die "Synrax error in $data_file, line $.\n";
}
save_locale_data($pdata, $locale, $pld) if defined ($locale);
close(DATA);
}
############################################################
# writing sections
############################################################
##################################
# conditional lines
sub write_conditional_prep_hack($$$)
{
my ($pld, $locale, $condition_tag) = @_;
my $out = "";
foreach my $hack (@{$pld->{$condition_tag}{'prep'}}) {
$out .= "$hack\n";
}
return $out;
}
sub write_conditional_version_definition($$$)
{
my ($pld, $locale, $condition_tag) = @_;
my $out = "";
$out .= "\%define ${locale}_version $pld->{$condition_tag}{'version'}\n" if (defined $pld->{$condition_tag}{'version'});
return $out;
}
sub write_conditional_sources_unpack($$$)
{
my ($pld, $locale, $condition_tag) = @_;
my $out = "";
$out .= " \%\{S:$pld->{$condition_tag}{'source_number'}\} \\\n" if (defined $pld->{$condition_tag}{'source_number'});
}
sub write_conditional_encoding($$$)
{
my ($pld, $locale, $condition_tag) = @_;
my $out = "";
$out .= " \"${locale}\") coding=\"$pld->{$condition_tag}{'encoding'}\" ;;\n" if (defined $pld->{$condition_tag}{'encoding'});
return $out;
}
##############################
# simple sections
sub write_do_not_edit_section($)
{
my $out = "###################################################################\n" .
"## DO NOT EDIT THIS SPEC FILE\n" .
"## Generated by:\n" .
"## perl myspell-dictionaries-gen-spec $args\n" .
"###################################################################";
return $out;
}
sub write_all_licenses_section($)
{
my ($pdata) = @_;
my @licenses = sort (keys %{$pdata->{'license'}});
my $out = join " and ", @licenses;
return $out;
}
##############################
# all langs sections
sub write_sources_section($$)
{
my ($pdata, $locale) = @_;
my $pld = \% {$pdata->{'dict'}{$locale}};
my $out = "";
my @conditions = ();
push @conditions, $pld->{'condition_tag'} if (defined $pld->{'condition_tag'});
push @conditions, 'default';
foreach my $condition_tag (@conditions) {
if (defined $pld->{$condition_tag}{'source'}) {
$pld->{$condition_tag}{'source_number'} = $sources_counter++;
$out .= "Source$pld->{$condition_tag}{'source_number'}: $pld->{$condition_tag}{'source'}\n";
}
}
return $out;
}
sub write_lang_name_section($$)
{
my ($pdata, $locale) = @_;
my $pld = \% {$pdata->{'dict'}{$locale}};
my $out = "";
$out .= " \"${locale}\") lang_name=\"$pld->{'default'}{'pack_suffix'}\" ;;\n" if (defined $pld->{'default'}{'pack_suffix'});
return $out;
}
sub write_encoding_section($$)
{
my ($pdata, $locale) = @_;
my $pld = \% {$pdata->{'dict'}{$locale}};
my $out = "";
my $condition_tag = undef;
$condition_tag = $pld->{'condition_tag'} if (defined $pld->{'condition_tag'});
if ((defined $pld->{'default'}{'encoding'}) ||
(defined $condition_tag && defined $pld->{$condition_tag}{'encoding'})) {
$out .= write_conditional_lines($pld, $locale, \&write_conditional_encoding, 1);
}
return $out;
}
##############################
# optional langs sections
sub write_metadata_section($$)
{
my ($pdata, $locale) = @_;
my $pld = \% {$pdata->{'dict'}{$locale}};
my $out = "";
my $condition_tag = undef;
$condition_tag = $pld->{'condition_tag'} if (defined $pld->{'condition_tag'});
$out .= write_conditional_lines($pld, $locale, \&write_conditional_version_definition, 0);
$out .= "\%package -n myspell-$pld->{'default'}{'pack_suffix'}\n";
if (defined $condition_tag) {
$out .= "Version: %${locale}_version\n";
} else {
$out .= "Version: $pld->{'default'}{'version'}\n";
}
$out .= "Release: 0\n";
$out .= "Summary: $pld->{'default'}{'language'} Dictionary for MySpell\n";
$out .= "License: " . join (" and ", @{$pld->{'default'}{'license'}}) . "\n";
$out .= "Group: Productivity/Text/Spell\n";
$out .= "Provides: myspell-dictionary\n";
$out .= "Provides: ooo-dictionaries:/usr/lib/ooo-1.1/share/dict/ooo/${locale}.dic\n";
$out .= "Provides: locale(OpenOffice_org:$pld->{'default'}{'prov_lang'})\n";
$out .= "Provides: locale(libreoffice:$pld->{'default'}{'prov_lang'})\n";
$out .= "Provides: locale(seamonkey-spellchecker:$pld->{'default'}{'prov_lang'})\n";
if (defined $pld->{'default'}{'dependency'}) {
foreach my $dep (@{$pld->{'default'}{'dependency'}}) {
$out .= "$dep\n";
}
}
$out .= "\n";
$out .= "%description -n myspell-$pld->{'default'}{'pack_suffix'}\n";
$out .= "The $pld->{'default'}{'language'} dictionary for MySpell.\n";
$out .= "\n";
$out .= "MySpell dictionaries are compatible with MySpell and Hunspell spell-checker.\n";
$out .= "They are used by various desktop applications, for example, LibreOffice,\n";
$out .= "Mozilla Thunderbird, and Mozilla Firefox.\n";
return $out;
}
sub write_sources_unpack_section($$)
{
my ($pdata, $locale) = @_;
my $pld = \% {$pdata->{'dict'}{$locale}};
return write_conditional_lines($pld, $locale, \&write_conditional_sources_unpack, 1);
}
# dict-specific hacks in the %prep section
sub write_prep_hacks_section($$)
{
my ($pdata, $locale) = @_;
my $pld = \% {$pdata->{'dict'}{$locale}};
my $out = "";
my $condition_tag = undef;
$condition_tag = $pld->{'condition_tag'} if (defined $pld->{'condition_tag'});
if ((defined $pld->{'default'}{'prep'}) ||
(defined $condition_tag && defined $pld->{$condition_tag}{'prep'})) {
$out .= write_conditional_lines($pld, $locale, \&write_conditional_prep_hack, 1);
}
return $out;
}
sub write_files_section($$)
{
my ($pdata, $locale) = @_;
my $pld = \% {$pdata->{'dict'}{$locale}};
return "\%files -f ${locale}.list -n myspell-$pld->{'default'}{'pack_suffix'}\n";
}
########################################################
# universal writing functions
sub sort_dictionaries()
{
# sort the dictionaries by the package name
$pdata_sort->{'dict'}{$a}->{'default'}{'pack_suffix'} cmp $pdata_sort->{'dict'}{$b}->{'default'}{'pack_suffix'};
}
# the text is different on different distributions
sub write_conditional_lines($$$$)
{
my ($pld, $locale, $write_conditional_lines, $write_default ) = @_;
my $out = "";
my $condition_tag = undef;
$condition_tag = $pld->{'condition_tag'} if (defined $pld->{'condition_tag'});
my $conditional_lines = "";
$conditional_lines = & {$write_conditional_lines} ($pld, $locale, $condition_tag) if (defined $condition_tag);
my $default_lines = & {$write_conditional_lines} ($pld, $locale, 'default');
# write the %if, %else, %endif liens only when the condition is defined and something to write is defined
my $write_condition = undef;
$write_condition = 1 if ($condition_tag && ($conditional_lines || $default_lines));
if ($write_condition) {
$out .= "$pld->{'condition_tag'}\n";
$out .= $conditional_lines;
$out .= "\%else\n";
}
if ($write_condition || $write_default) {
$out .= & {$write_conditional_lines} ($pld, $locale, 'default');
}
if ($write_condition) {
$out .= "\%endif\n";
}
return $out;
}
# the text is repeated for each locale
# it is used only for selected distributions
# entire dictionary is disabled on some distributions
sub write_locale_sections_optional($$$)
{
my ($pdata, $write_section, $delimiter) = @_;
my $out = "";
$pdata_sort = $pdata;
foreach my $locale (sort sort_dictionaries keys %{$pdata->{'dict'}}) {
$out .= "$pdata->{'dict'}{$locale}->{'contition_dict'}\n" if (defined $pdata->{'dict'}{$locale}->{'contition_dict'});
$out .= & {$write_section} ($pdata, $locale);
$out .= "\%endif\n" if (defined $pdata->{'dict'}{$locale}->{'contition_dict'});
$out .= "$delimiter";
}
return $out;
}
# the text is repeated for each locale
# it is used on all distributions
sub write_locale_sections($$)
{
my ($pdata, $write_section) = @_;
my $out = "";
$pdata_sort = $pdata;
foreach my $locale (sort sort_dictionaries keys %{$pdata->{'dict'}}) {
$out .= & {$write_section} ($pdata, $locale);
}
return $out;
}
# the text is not repeated for each locale
sub write_simple_section($$)
{
my ($pdata, $write_section) = @_;
return & {$write_section} ($pdata);
}
sub write_spec($$)
{
my ($pdata, $spec_template) = @_;
my $all_licenses = write_simple_section ($pdata, \&write_all_licenses_section);
my $do_not_edit = write_simple_section ($pdata, \&write_do_not_edit_section);
my $sources = write_locale_sections ($pdata, \&write_sources_section);
my $metadata = write_locale_sections_optional ($pdata, \&write_metadata_section, "\n\n\n");
my $sources_unpack = write_locale_sections_optional ($pdata, \&write_sources_unpack_section, "");
my $prep_hacks = write_locale_sections_optional ($pdata, \&write_prep_hacks_section, "");
my $lang_name = write_locale_sections ($pdata, \&write_lang_name_section);
my $encoding = write_locale_sections ($pdata, \&write_encoding_section);
my $files = write_locale_sections_optional ($pdata, \&write_files_section, "\n");
my $spec = $spec_template;
$spec =~ s/.in$//;
print "Generating $spec...\n";
open TEMPLATE , "< $spec_template" or die "Can't open '$spec_template'\n";
open SPEC , "> $spec" or die "Can't open '$spec for writing'\n";
while( my $line = <TEMPLATE>) {
$line =~ s/\@ALL_LICENSES\@/$all_licenses/;
$line =~ s/\@DO_NOT_EDIT_COMMENT\@/$do_not_edit/;
$line =~ s/\@SOURCES\@/$sources/;
$line =~ s/\@METADATA\@/$metadata/;
$line =~ s/\@SOURCES_UNPACK@/$sources_unpack/;
$line =~ s/\@PREP_HACKS@/$prep_hacks/;
$line =~ s/\@LANG_NAME@/$lang_name/;
$line =~ s/\@ENCODING@/$encoding/;
$line =~ s/\@FILES@/$files/;
print SPEC $line;
}
close(TEMPLATE);
close(SPEC);
}
############################################################
# main stuff
############################################################
sub usage()
{
print "This tool generates the help spec files\n\n" .
"Usage:\n".
"\tmyspell-dictionaries-gen-spec [--help] spec_template.in data_file\n\n";
}
# info about data structure
# it is a hash, keys introduce perl-like structure items:
# 'dict' ... hash; key is the primary locale for the given dictioanry, e.g. "en_US"
# the value is hash that store an information about ech dictionary using
# tags; the known tags are:
# 'language' hash(*) of string; language name, e.g Catalan, German, Norwegian Bokmaal
# 'pack_suffix' hash(*) of string; package name is normaly defined by the language name (lowercase,
# underscore instread of space); you might define a non-standard one
# using this tag, e.g norsk-bokmaal for Norwegian Bokmaal
# 'prov_lang' hash(*) of string; most dictionaries provides the language defined by the locale;
# you might force the full locale using this tag; just mention
# the full locale here again, e.g. de_DE vs de_AT
# 'version' hash(*) of string; package version, e.g. 2.1.5
# 'source' hash(*) of string; source file name, e.g. catalan.oxt
# 'source_number' hash(*) of integers; number of the source file, e.g. 1000, 1001, 1002
# 'license' hash(*) of array of strings; comma separated list of dictionary licenses, e.g. GPLv2, LGPLv2.1
# 'types' hash(*) of array of strings; comma separated list of included dictionary types; possible values are:
# myspell, hunspell, hyphen, thesaurus
# 'url' hash(*) of string; url where the dictionary sources was taken from, e.g.
# http://extensions.services.openoffice.org/project/dict-catalan
# 'encoding' hash(*) of string; documentation files in non-UTF-8 enconding should be recoded; the original
# encoding is guessed from the locale; you might define another encoding
# here, e.g. ISO-8859-1
# 'depdendency' hash(*) of array of strings; extra dependency, e,g. Conflicts: myspell-german-old
# 'prep' hash(*) of array of strings; extra hacks for the %prep section
#
# the above tags are taken from the data file; the hash also support some extra keys:
# 'contition_dict' string; defines a condition under which the dictionary is packaged, e.g. %if %suse_version <= 1120
# 'license' ... hash; key is the license used for a dictionary, e.g. LGPLv2; it is used to generate
# licenses for the source package
#
# hash(*) of ... - key is the condition under which the tag is defined; it is usually used to define a special tag
# for another distro; the key 'default' defines tags for the default distro, ...
my %data;
my $spec_template;
my $data_file;
my $help;
for my $arg (@ARGV) {
if ($arg eq '--help' || $arg eq '-h') {
usage;
exit 0;
} else {
-f $arg || die "Error: The file does not exist: $arg\n";
if (! defined $spec_template) {
$spec_template = $arg;
} elsif (! defined $data_file) {
$data_file = $arg;
} else {
die "Error: Too many arguments!\n";
}
}
}
die "Error: Spec file template is not defined, try --help" unless (defined $spec_template);
die "Error: Data file is not defined, try --help" unless (defined $data_file);
read_data(\%data, $data_file);
write_spec(\%data, $spec_template);

View File

@ -1,3 +1,33 @@
-------------------------------------------------------------------
Mon Apr 28 14:48:48 UTC 2014 - pgajdos@suse.com
- myspell-de provides myspell-austrian, myspell-german and
myspell-nswiss (removed subpackages from igerman98 source
package)
-------------------------------------------------------------------
Thu Apr 24 11:38:16 UTC 2014 - pgajdos@suse.cz
- obsolete libreoffice-hyphen
- obsolete/provide libreoffice-thesaurus-*
-------------------------------------------------------------------
Tue Apr 22 11:12:27 UTC 2014 - pgajdos@suse.com
- do not provide locale(OpenOffice_org:*) [bnc#806250#c21]
-------------------------------------------------------------------
Tue Apr 22 10:59:45 UTC 2014 - pgajdos@suse.com
- subpackages Provides old names
-------------------------------------------------------------------
Fri Apr 18 07:37:32 UTC 2014 - pgajdos@suse.com
- package reworked, using data and layout from
http://cgit.freedesktop.org/libreoffice/dictionaries/
[bnc#806250]
-------------------------------------------------------------------
Thu Jan 2 10:47:02 UTC 2014 - pmladek@suse.com

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -15,26 +15,163 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
@DO_NOT_EDIT_COMMENT@
###################################################################
## @DO_NOT_EDIT_COMMENT@
## Generate: sh update.sh
###################################################################
Name: myspell-dictionaries
Version: 20140102
Version: @VERSION@
Release: 0
Summary: A Source Package for Dictionaries Used by MySpell
License: @ALL_LICENSES@
License: AGPL-3.0 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 and GPL-2.0 and GPL-2.0+ and GPL-3.0 and GPL-3.0+ and LGPL-2.0 and LGPL-2.1 and LGPL-2.1+ and LGPL-3.0 and LGPL-3.0+ and MPL-1.1
Group: Productivity/Text/Spell
Url: http://lingucomponent.openoffice.org/download_dictionary.html
# Novell jargon bnc#306333
Source0: Nwordlist.tgz
Source1: myspell-dictionaries-gen-spec
Source2: myspell-dictionaries.spec.in
Source3: myspell-dictionaries.data
# dictionaries
@SOURCES@
Url: http://cgit.freedesktop.org/libreoffice/dictionaries/
Source0: dictionaries.tar.xz
BuildRequires: dos2unix
BuildRequires: recode
BuildRequires: unzip
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
Obsoletes: myspell-african
Obsoletes: myspell-albanian
Obsoletes: myspell-american
Obsoletes: myspell-arabic
Obsoletes: myspell-armenian
Obsoletes: myspell-assamese
Obsoletes: myspell-asturian
Obsoletes: myspell-australian
Obsoletes: myspell-austrian
Obsoletes: myspell-belarusian
Obsoletes: myspell-bengali
Obsoletes: myspell-brazilian
Obsoletes: myspell-breton
Obsoletes: myspell-british
Obsoletes: myspell-bulgarian
Obsoletes: myspell-canadian
Obsoletes: myspell-catalan
Obsoletes: myspell-chichewa
Obsoletes: myspell-coptic
Obsoletes: myspell-croatian
Obsoletes: myspell-czech
Obsoletes: myspell-danish
Obsoletes: myspell-dutch
Obsoletes: myspell-esperanto
Obsoletes: myspell-estonian
Obsoletes: myspell-faroese
Obsoletes: myspell-french
Obsoletes: myspell-friulian
Obsoletes: myspell-gaelic-scots
Obsoletes: myspell-galician
Obsoletes: myspell-german
Obsoletes: myspell-greek
Obsoletes: myspell-gujarati
Obsoletes: myspell-haitian
Obsoletes: myspell-hebrew
Obsoletes: myspell-hindi
Obsoletes: myspell-hungarian
Obsoletes: myspell-icelandic
Obsoletes: myspell-indonese
Obsoletes: myspell-irish
Obsoletes: myspell-italian
Obsoletes: myspell-kazakh
Obsoletes: myspell-khmer
Obsoletes: myspell-kichwa
Obsoletes: myspell-kikuyu
Obsoletes: myspell-kinyarwanda
Obsoletes: myspell-kiswahili
Obsoletes: myspell-korean
Obsoletes: myspell-kurdish
Obsoletes: myspell-latin
Obsoletes: myspell-latvian
Obsoletes: myspell-lithuanian
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-mexican
Obsoletes: myspell-ndebele
Obsoletes: myspell-new-zealand
Obsoletes: myspell-norsk-bokmaal
Obsoletes: myspell-norsk-nynorsk
Obsoletes: myspell-nswiss
Obsoletes: myspell-occitan-lengadocian
Obsoletes: myspell-persian
Obsoletes: myspell-polish
Obsoletes: myspell-portuguese
Obsoletes: myspell-romanian
Obsoletes: myspell-russian
Obsoletes: myspell-serbian-cyrillic
Obsoletes: myspell-serbian-latin
Obsoletes: myspell-setswana
Obsoletes: myspell-sinhala
Obsoletes: myspell-slovak
Obsoletes: myspell-slovene
Obsoletes: myspell-sotho-northern
Obsoletes: myspell-south-african-english
Obsoletes: myspell-spanish
Obsoletes: myspell-spanish-argentine
Obsoletes: myspell-spanish-bolivian
Obsoletes: myspell-spanish-chilean
Obsoletes: myspell-spanish-colombian
Obsoletes: myspell-spanish-costa-rican
Obsoletes: myspell-spanish-dominican
Obsoletes: myspell-spanish-ecuadorian
Obsoletes: myspell-spanish-guatemalan
Obsoletes: myspell-spanish-honduran
Obsoletes: myspell-spanish-nicaraguan
Obsoletes: myspell-spanish-panamanian
Obsoletes: myspell-spanish-paraguayan
Obsoletes: myspell-spanish-peruvian
Obsoletes: myspell-spanish-puerto-rican
Obsoletes: myspell-spanish-salvadorean
Obsoletes: myspell-spanish-uruguayan
Obsoletes: myspell-spanish-venezuelan
Obsoletes: myspell-swati
Obsoletes: myspell-swedish
Obsoletes: myspell-swedish-finland
Obsoletes: myspell-tagalog
Obsoletes: myspell-thai
Obsoletes: myspell-tsonga
Obsoletes: myspell-ukrainian
Obsoletes: myspell-valencian
Obsoletes: myspell-venda
Obsoletes: myspell-vietnamese
Obsoletes: myspell-welsh
Obsoletes: myspell-xhosa
Obsoletes: myspell-yiddish
Obsoletes: myspell-zulu
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.
@ -44,131 +181,49 @@ the Mozilla Composer, and the Mozilla Mail message composition window.
@METADATA@
%prep
%setup -c
install -m 644 %{SOURCE1} .
# unpack sources
for archive in \
@SOURCES_UNPACK@ ; do
archive_name=`basename $archive | sed -e "s|.zip$||" -e "s|.oxt$||" -e "s|.tar.gz$||" -e "s|.tar.bz2$||"`
mkdir $archive_name || exit 1;
case $archive in
*.zip|*.oxt)
cd $archive_name; unzip $archive || exit 1; cd -
;;
*.tar.gz)
tar -xzf $archive -C $archive_name || exit 1;
;;
*.tar.bz2)
tar -xjf $archive -C $archive_name || exit 1;
;;
*)
echo "Error: Do not know how to uncompress $archive"
exit 1;
;;
esac
done
#
# fix wrong filenames
@PREP_HACKS@#
# fix permissions
#
find . -type f -exec chmod 644 {} \;
%setup -q -n dictionaries
%build
# add the Novell jargon into all dictionaries bnc#306333
# Beware! The Nwordlist must begin with a newline. Some files do not contain
# LF at the end of file.
for dic in `find . -name "*.dic` ; do
cat Nwordlist >> $dic
# delete empty lines if they were created in some cases
grep -v "^$" $dic > $dic.no_space && mv $dic.no_space $dic
done
%install
rm -f filelist.template
install -m 755 -d %{buildroot}%{_datadir}/myspell/
for lang_dir in * ; do
test -d $lang_dir || continue
# support locales with 2 and 3 letters in the language code: ll_CC.aff and lll_CC.aff
for aff in `find $lang_dir -regextype posix-extended -regex ".*/[[:lower:]][[:lower:]][[:lower:]]?_[[:upper:]][[:upper:]].aff" | sort` ; do
# find dictionaries
dic=`echo $aff | sed -e "s|.aff$|.dic|"`
if ! test -f $dic ; then
echo "Warning: Found $aff but not $dic"
echo "Skipping $aff"
continue;
fi
# both .dic and .aff files exists => valid dictionary
# initialize file list
filelist=`mktemp /tmp/myspell-dictionaries-XXXXXX`
echo "%%defattr(-,root,root,-)" >$filelist
echo "%%dir %{_datadir}/myspell/" >>$filelist
# install the dictionary
for f in $aff $dic ; do
fname=$(basename $f)
if test -f %{buildroot}%{_datadir}/myspell/$fname ; then
echo "Error: file already installed: $f"
echo " Probably is provided by two source tarballs"
exit 1;
fi
install -m 644 $f %{buildroot}%{_datadir}/myspell/
echo %{_datadir}/myspell/$fname >>$filelist
done
# detect locale, lang and country
if test -n $dic ; then
# replace the underscore with a dot to be able to separate the language and the coutry code with the command "cut"
dic_pname=`basename $dic | sed "s|_|.|"`
lang=`echo $dic_pname | cut -d "." -f1`
country=`echo $dic_pname | cut -d "." -f2`
else
echo "Error: No dictionary found in $lang_dir"
exit 1;
fi
locale="${lang}_${country}"
# detect long language name
case "$locale" in
@LANG_NAME@ *) echo "Error: do not know language name for the locale $locale"
exit 1
;;
esac
# detect README encoding
coding=`LC_CTYPE="$locale" locale -k LC_CTYPE | grep charmap | sed "s|charmap=\"\(.*\)\"\$|\1|"`
# special hack for some locales
case "$locale" in
@ENCODING@ esac
# install documentation
docdir=%{_docdir}/myspell-$lang_name
mkdir -p %{buildroot}$docdir
echo "%%doc $docdir" >>$filelist
for doc in `find $lang_dir -type f -printf "%%P\n" | \
grep -v -e ".aff$" -e ".dic$" -e ".dat$" -e ".idx$" \
-e ".orig$" -e ".old$" -e "~$" \
-e ".sh$" -e "makefile" -e "META-INF"` ; do
if ! test -f $lang_dir/$doc ; then
echo "Error: is not a file: $lang_dir/$doc"
exit 1;
fi
recode utf8..utf16 <$lang_dir/$doc >/dev/null 2>&1 || recode $coding..utf8 $lang_dir/$doc
dos2unix $lang_dir/$doc
dname=$(dirname $doc)
install -m 755 -d %{buildroot}$docdir/$dname
install -m 644 $lang_dir/$doc %{buildroot}$docdir/$dname
done
# rename the file list according to the detacted lang and country
mv $filelist $locale.list
# generate tempalte for the %files section
echo "%%files -f $locale.list -n myspell-$lang_name" >>filelist.template
echo "" >>filelist.template
done
install -m 755 -d %{buildroot}%{_datadir}/hunspell/
install -m 755 -d %{buildroot}%{_datadir}/hyphen/
install -m 755 -d %{buildroot}%{_datadir}/mythes/
for dir in @LANG_DIRS@ ; do
# install files
dic_files=`find $dir -maxdepth 1 -name '*.dic' -a ! -name 'hyph*' -o -name '*.aff'`
hyph_files=`find $dir -maxdepth 1 -name 'hyph*.dic'`
th_files=`find $dir -maxdepth 1 -name 'th*.dat'`
doc_files=`find $dir -maxdepth 1 -type f | grep '.txt\|.xcu\|.xml\|.png\|.tex\|^[^.]*$' || true`
if [ ! -z "$dic_files" ]; then # see zu_ZA
cp -P `echo $dic_files | tr '\n' ' '` %{buildroot}%{_datadir}/hunspell/
fi
if [ ! -z "$hyph_files" ]; then
cp -P `echo $hyph_files | tr '\n' ' '` %{buildroot}%{_datadir}/hyphen/
fi
if [ ! -z "$th_files" ]; then
cp -P `echo $th_files | tr '\n' ' '` %{buildroot}%{_datadir}/mythes/
fi
install -m 755 -d %{buildroot}%{_docdir}/myspell-$dir
dos2unix -q $doc_files
install -m 644 `echo $doc_files | tr '\n' ' '` %{buildroot}%{_docdir}/myspell-$dir
# create file list
dic_files=`echo "$dic_files" | sed 's@^.*/@%{_datadir}/hunspell/@'`
hyph_files=`echo "$hyph_files" | sed 's@^.*/@%{_datadir}/hyphen/@'`
th_files=`echo "$th_files" | sed 's@^.*/@%{_datadir}/mythes/@'`
echo '%%defattr(-,root,root,-)' > $dir.list
echo "$dic_files" >> $dir.list
echo "$hyph_files" >> $dir.list
echo "$th_files" >> $dir.list
echo "%{_docdir}/myspell-$dir" >> $dir.list
done
echo "******"
%files
%defattr(-,root,root)
%dir %{_datadir}/hunspell/
%dir %{_datadir}/hyphen/
%dir %{_datadir}/mythes/
@FILES@
%changelog

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:733dae4bcde9df983f1bb0c041b3fc5e54b655ad1189029bf25bb600344c30c2
size 40461

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ff36bb7cecf05cbafb2d5d85bc9a7caf870b72707afe1cf73ba231813e210b53
size 1329821

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3b97c52f9e7f99030bb5b6c18e727938e177857517bb152313482bdd2945f821
size 1076501

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:02fc838490d29048ec6bfaa4a1a4aca29d06a0ef6c3eff5df606632631a38f9f
size 857138

Some files were not shown because too many files have changed in this diff Show More