From fbb5fd03d3189c626a002029e599d7e44e623c1e Mon Sep 17 00:00:00 2001
From: Mike FABIAN <mfabian@redhat.com>
Date: Thu, 30 Nov 2017 15:57:25 +0100
Subject: [PATCH 5/5] sr_RS and bs_BA locales: make collation rules the same as
 for hr_HR [BZ #22534]
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

	According to CLDR, collation rules for Serbian and Bosnian
	should be the same as for Croatian.

	[BZ #22534]
	* localedata/Makefile: Add sr_RS.UTF-8 and bs_BA.UTF-8 to test-input
	and to the list of locales to be built for testing.
	* localedata/bs_BA.UTF-8.in: New file (same as hr_HR.UTF-8.in).
	* localedata/sr_RS.UTF-8.in: New file (same as hr_HR.UTF-8.in).
	* localedata/locales/bs_BA (LC_COLLATE): Use “copy "hr_HR"”.
	* localedata/locales/sr_RS (LC_COLLATE): Use “copy "hr_HR"”.
---
 ChangeLog                 |  13 ++++++
 localedata/Makefile       |   5 +-
 localedata/bs_BA.UTF-8.in |  70 ++++++++++++++++++++++++++++
 localedata/locales/bs_BA  | 100 ++++-----------------------------------
 localedata/locales/sr_RS  | 116 ++++++----------------------------------------
 localedata/sr_RS.UTF-8.in |  70 ++++++++++++++++++++++++++++
 6 files changed, 179 insertions(+), 195 deletions(-)
 create mode 100644 localedata/bs_BA.UTF-8.in
 create mode 100644 localedata/sr_RS.UTF-8.in

diff --git a/ChangeLog b/ChangeLog
index 44f46d2dc6..b83024bb73 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2017-11-30  Mike FABIAN  <mfabian@redhat.com>
+
+	According to CLDR, collation rules for Serbian and Bosnian
+	should be the same as for Croatian.
+
+	[BZ #22534]
+	* localedata/Makefile: Add sr_RS.UTF-8 and bs_BA.UTF-8 to test-input
+	and to the list of locales to be built for testing.
+	* localedata/bs_BA.UTF-8.in: New file (same as hr_HR.UTF-8.in).
+	* localedata/sr_RS.UTF-8.in: New file (same as hr_HR.UTF-8.in).
+	* localedata/locales/bs_BA (LC_COLLATE): Use “copy "hr_HR"”.
+	* localedata/locales/sr_RS (LC_COLLATE): Use “copy "hr_HR"”.
+
 2017-11-30  Mike FABIAN  <mfabian@redhat.com>
 
 	* localedata/locales/hr_HR (LC_COLLATE): Fix collation
diff --git a/localedata/Makefile b/localedata/Makefile
index a5e7b054e6..b75fe560f0 100644
--- a/localedata/Makefile
+++ b/localedata/Makefile
@@ -38,7 +38,8 @@ test-srcs := collate-test xfrm-test tst-fmon tst-rpmatch tst-trans \
 test-input := de_DE.ISO-8859-1 en_US.ISO-8859-1 da_DK.ISO-8859-1 \
 	      hr_HR.ISO-8859-2 sv_SE.ISO-8859-1 tr_TR.UTF-8 fr_FR.UTF-8 \
 	      si_LK.UTF-8 uk_UA.UTF-8 hu_HU.UTF-8 lv_LV.UTF-8 \
-	      pl_PL.UTF-8 cs_CZ.UTF-8 fr_CA.UTF-8 hr_HR.UTF-8
+	      pl_PL.UTF-8 cs_CZ.UTF-8 fr_CA.UTF-8 hr_HR.UTF-8 \
+	      bs_BA.UTF-8 sr_RS.UTF-8
 test-input-data = $(addsuffix .in, $(test-input))
 test-output := $(foreach s, .out .xout, \
 			 $(addsuffix $s, $(basename $(test-input))))
@@ -108,7 +109,7 @@ LOCALES := de_DE.ISO-8859-1 de_DE.UTF-8 en_US.ANSI_X3.4-1968 \
 	   nb_NO.ISO-8859-1 nn_NO.ISO-8859-1 tr_TR.UTF-8 cs_CZ.UTF-8 \
 	   zh_TW.EUC-TW fa_IR.UTF-8 fr_FR.UTF-8 ja_JP.UTF-8 si_LK.UTF-8 \
 	   tr_TR.ISO-8859-9 en_GB.UTF-8 uk_UA.UTF-8 hu_HU.UTF-8 lv_LV.UTF-8 \
-	   pl_PL.UTF-8 fr_CA.UTF-8 hr_HR.UTF-8
+	   pl_PL.UTF-8 fr_CA.UTF-8 hr_HR.UTF-8 bs_BA.UTF-8 sr_RS.UTF-8
 include ../gen-locales.mk
 endif
 
diff --git a/localedata/bs_BA.UTF-8.in b/localedata/bs_BA.UTF-8.in
new file mode 100644
index 0000000000..72f04bd7f0
--- /dev/null
+++ b/localedata/bs_BA.UTF-8.in
@@ -0,0 +1,70 @@
+Ceremonijalan
+cvrčić
+Čamac
+čempres
+Ćakula
+ćutjeti
+Dalekovidan
+disharmoničan
+dza
+ĎŽ
+dž
+ǆ
+dŽ
+Dž
+ǅ
+DŽ
+Ǆ
+dža
+džepni
+ǆepni
+dŽepni
+Džepni
+ǅepni
+DŽepni
+Ǆepni
+Džersej
+DŽezistički
+džip
+ǆungla
+dŽus
+Đavolica
+đuveč
+Edicija
+Lakovjeran
+limunčić
+lJekovito
+ljenivac
+ǉenivac
+Ljenivac
+ǈenivac
+LJenivac
+Ǉenivac
+Ljepljiv
+ljeskov
+ǉetni
+LJutiti
+Mačić
+natočiti
+njedra
+ǌedra
+nJedra
+Njedra
+ǋedra
+NJedra
+Ǌedra
+NJegovateljica
+ǋemački
+ǌihalo
+Njisak
+njuškalo
+Obavještavaǌe
+satiričar
+Sova
+Šegrtski
+šišmiš
+Tiraža
+zamjetljiv
+Zemǉovlasnički
+Žalopojka
+žičica
diff --git a/localedata/locales/bs_BA b/localedata/locales/bs_BA
index b9399c6f27..3b18056881 100644
--- a/localedata/locales/bs_BA
+++ b/localedata/locales/bs_BA
@@ -49,97 +49,15 @@ category "i18n:2012";LC_MESSAGES
 END LC_IDENTIFICATION
 
 LC_COLLATE
-copy "iso14651_t1"
-
-% a b c c' c< d dz< d// e f g h i j k l lj m n nj o p
-% q r s s< t u v w x y z z<
-
-collating-symbol  <d-z-sh>
-collating-element <D-Z<> from "<U0044><U017D>"
-collating-element <D-z<> from "<U0044><U017E>"
-collating-element <d-Z<> from "<U0064><U017D>"
-collating-element <d-z<> from "<U0064><U017E>"
-collating-symbol  <l-j-sh>
-collating-element <L-J> from "<U004C><U004A>"
-collating-element <L-j> from "<U004C><U006A>"
-collating-element <l-J> from "<U006C><U004A>"
-collating-element <l-j> from "<U006C><U006A>"
-collating-symbol  <n-j-sh>
-collating-element <N-J> from "<U004E><U004A>"
-collating-element <N-j> from "<U004E><U006A>"
-collating-element <n-J> from "<U006E><U004A>"
-collating-element <n-j> from "<U006E><U006A>"
-collating-symbol <cacute>
-collating-symbol <ccaron>
-collating-symbol <d//>
-collating-symbol <scaron>
-collating-symbol <zcaron>
-
-collating-symbol <CAP-MIN>
-collating-symbol <MIN-CAP>
-
-reorder-after <MIN>
-<MIN-CAP>
-reorder-after <CAP>
-<CAP-MIN>
-
-reorder-after <c>
-<cacute>
-<ccaron>
-<d>
-<d-z-sh>
-<d//>
-reorder-after <l>
-<l-j-sh>
-reorder-after <n>
-<n-j-sh>
-reorder-after <s>
-<scaron>
-reorder-after <z>
-<zcaron>
-
-reorder-after <U0063>
-<U0107>	<cacute>;<PCT>;<MIN>;IGNORE
-<U010D>	<ccaron>;<PCT>;<MIN>;IGNORE
-reorder-after <U0043>
-<U0106>	<cacute>;<PCT>;<CAP>;IGNORE
-<U010C>	<ccaron>;<PCT>;<CAP>;IGNORE
-
-reorder-after <U0064>
-<d-z<>	<d-z-sh>;<PCT>;<MIN>;IGNORE
-<d-Z<>	<d-z-sh>;<PCT>;<MIN-CAP>;IGNORE
-<U0111>	<d//>;<PCT>;<MIN>;IGNORE
-reorder-after <U0044>
-<D-Z<>	<d-z-sh>;<PCT>;<CAP>;IGNORE
-<D-z<>	<d-z-sh>;<PCT>;<CAP-MIN>;IGNORE
-<U0110>	<d//>;<PCT>;<CAP>;IGNORE
-
-reorder-after <U006C>
-<l-j>	<l-j-sh>;<PCT>;<MIN>;IGNORE
-<l-J>	<l-j-sh>;<PCT>;<MIN-CAP>;IGNORE
-reorder-after <U004C>
-<L-J>	<l-j-sh>;<PCT>;<CAP>;IGNORE
-<L-j>	<l-j-sh>;<PCT>;<CAP-MIN>;IGNORE
-
-reorder-after <U006E>
-<n-j>	<n-j-sh>;<PCT>;<MIN>;IGNORE
-<n-J>	<n-j-sh>;<PCT>;<MIN-CAP>;IGNORE
-reorder-after <U004E>
-<N-J>	<n-j-sh>;<PCT>;<CAP>;IGNORE
-<N-j>	<n-j-sh>;<PCT>;<CAP-MIN>;IGNORE
-
-reorder-after <U0073>
-<U0161>	<scaron>;<PCT>;<MIN>;IGNORE
-reorder-after <U0053>
-<U0160>	<scaron>;<PCT>;<CAP>;IGNORE
-
-reorder-after <U007A>
-<U017E>	<zcaron>;<PCT>;<MIN>;IGNORE
-reorder-after <U005A>
-<U017D>	<zcaron>;<PCT>;<CAP>;IGNORE
-
-reorder-end
-
+% According to CLDR, collation rules
+% for Bosnian are the same as for Croatian, see:
+%
+% https://unicode.org/cldr/trac/browser/trunk/common/collation/bs.xml
+%
+% it contains only
+%
+% “[import hr]”
+copy "hr_HR"
 END LC_COLLATE
 
 LC_CTYPE
diff --git a/localedata/locales/sr_RS b/localedata/locales/sr_RS
index da31de75e2..eeddac8636 100644
--- a/localedata/locales/sr_RS
+++ b/localedata/locales/sr_RS
@@ -131,108 +131,20 @@ END LC_CTYPE
 
 
 LC_COLLATE
-
-copy "iso14651_t1"
-
-collating-element <D-Z<> from "<U0044><U017D>"
-collating-element <D-z<> from "<U0044><U017E>"
-collating-element <d-Z<> from "<U0064><U017D>"
-collating-element <d-z<> from "<U0064><U017E>"
-
-collating-element <L-J> from "<U004C><U004A>"
-collating-element <L-j> from "<U004C><U006A>"
-collating-element <l-J> from "<U006C><U004A>"
-collating-element <l-j> from "<U006C><U006A>"
-
-collating-element <N-J> from "<U004E><U004A>"
-collating-element <N-j> from "<U004E><U006A>"
-collating-element <n-J> from "<U006E><U004A>"
-collating-element <n-j> from "<U006E><U006A>"
-
-collating-symbol  <d-z-sh>
-collating-symbol  <l-j-sh>
-collating-symbol  <n-j-sh>
-
-collating-symbol <cacute>
-collating-symbol <ccaron>
-collating-symbol <d//>
-collating-symbol <scaron>
-collating-symbol <zcaron>
-
-collating-symbol <CAP-MIN>
-collating-symbol <MIN-CAP>
-
-reorder-after <MIN>
-<MIN-CAP>
-reorder-after <CAP>
-<CAP-MIN>
-
-reorder-after <c>
-<cacute>
-<ccaron>
-<d>
-<d-z-sh>
-<d//>
-reorder-after <l>
-<l-j-sh>
-reorder-after <n>
-<n-j-sh>
-reorder-after <s>
-<scaron>
-reorder-after <z>
-<zcaron>
-
-reorder-after <U0063>
-<U0107>	<cacute>;<PCT>;<MIN>;IGNORE
-<U010D>	<ccaron>;<PCT>;<MIN>;IGNORE
-reorder-after <U0043>
-<U0106>	<cacute>;<PCT>;<CAP>;IGNORE
-<U010C>	<ccaron>;<PCT>;<CAP>;IGNORE
-
-reorder-after <U0064>
-<d-z<>	<d-z-sh>;<PCT>;<MIN>;IGNORE
-<U01C6>	<d-z-sh>;<PCT>;<MIN>;IGNORE
-<d-Z<>	<d-z-sh>;<PCT>;<MIN-CAP>;IGNORE
-<U0111>	<d//>;<PCT>;<MIN>;IGNORE
-reorder-after <U0044>
-<D-Z<>	<d-z-sh>;<PCT>;<CAP>;IGNORE
-<U01C4>	<d-z-sh>;<PCT>;<CAP>;IGNORE
-<D-z<>	<d-z-sh>;<PCT>;<CAP-MIN>;IGNORE
-<U01C5>	<d-z-sh>;<PCT>;<CAP-MIN>;IGNORE
-<U0110>	<d//>;<PCT>;<CAP>;IGNORE
-
-reorder-after <U006C>
-<l-j>	<l-j-sh>;<PCT>;<MIN>;IGNORE
-<U01C9>	<l-j-sh>;<PCT>;<MIN>;IGNORE
-<l-J>	<l-j-sh>;<PCT>;<MIN-CAP>;IGNORE
-reorder-after <U004C>
-<L-J>	<l-j-sh>;<PCT>;<CAP>;IGNORE
-<U01C7>	<l-j-sh>;<PCT>;<CAP>;IGNORE
-<L-j>	<l-j-sh>;<PCT>;<CAP-MIN>;IGNORE
-<U01C8>	<l-j-sh>;<PCT>;<CAP-MIN>;IGNORE
-
-reorder-after <U006E>
-<n-j>	<n-j-sh>;<PCT>;<MIN>;IGNORE
-<U01CC>	<n-j-sh>;<PCT>;<MIN>;IGNORE
-<n-J>	<n-j-sh>;<PCT>;<MIN-CAP>;IGNORE
-reorder-after <U004E>
-<N-J>	<n-j-sh>;<PCT>;<CAP>;IGNORE
-<U01CA>	<n-j-sh>;<PCT>;<CAP>;IGNORE
-<N-j>	<n-j-sh>;<PCT>;<CAP-MIN>;IGNORE
-<U01CB>	<n-j-sh>;<PCT>;<CAP-MIN>;IGNORE
-
-reorder-after <U0073>
-<U0161>	<scaron>;<PCT>;<MIN>;IGNORE
-reorder-after <U0053>
-<U0160>	<scaron>;<PCT>;<CAP>;IGNORE
-
-reorder-after <U007A>
-<U017E>	<zcaron>;<PCT>;<MIN>;IGNORE
-reorder-after <U005A>
-<U017D>	<zcaron>;<PCT>;<CAP>;IGNORE
-
-reorder-end
-
+% According to CLDR, collation rules
+% for Bosnian are the same as for Serbian, see:
+%
+% https://unicode.org/cldr/trac/browser/trunk/common/collation/sr_Latn.xml
+%
+% it contains only
+%
+% “[import hr]”
+%
+% and the cyrillic version of the Serbian locale has no special collation
+% rules at all in CLDR:
+%
+% https://unicode.org/cldr/trac/browser/trunk/common/collation/sr.xml
+copy "hr_HR"
 END LC_COLLATE
 
 LC_MONETARY
diff --git a/localedata/sr_RS.UTF-8.in b/localedata/sr_RS.UTF-8.in
new file mode 100644
index 0000000000..72f04bd7f0
--- /dev/null
+++ b/localedata/sr_RS.UTF-8.in
@@ -0,0 +1,70 @@
+Ceremonijalan
+cvrčić
+Čamac
+čempres
+Ćakula
+ćutjeti
+Dalekovidan
+disharmoničan
+dza
+ĎŽ
+dž
+ǆ
+dŽ
+Dž
+ǅ
+DŽ
+Ǆ
+dža
+džepni
+ǆepni
+dŽepni
+Džepni
+ǅepni
+DŽepni
+Ǆepni
+Džersej
+DŽezistički
+džip
+ǆungla
+dŽus
+Đavolica
+đuveč
+Edicija
+Lakovjeran
+limunčić
+lJekovito
+ljenivac
+ǉenivac
+Ljenivac
+ǈenivac
+LJenivac
+Ǉenivac
+Ljepljiv
+ljeskov
+ǉetni
+LJutiti
+Mačić
+natočiti
+njedra
+ǌedra
+nJedra
+Njedra
+ǋedra
+NJedra
+Ǌedra
+NJegovateljica
+ǋemački
+ǌihalo
+Njisak
+njuškalo
+Obavještavaǌe
+satiričar
+Sova
+Šegrtski
+šišmiš
+Tiraža
+zamjetljiv
+Zemǉovlasnički
+Žalopojka
+žičica
-- 
2.14.3

