Compare commits

...
Sign in to create a new pull request.

17 commits

Author SHA1 Message Date
Fedora Release Engineering
7d7d5d5daa Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild 2026-07-16 05:28:04 +00:00
Parag Nemade
c92418159b
Disable langpacks subpackages generation for ii language 2026-05-14 16:43:15 +05:30
Parag Nemade
d8403dea8e
Add functionality to only generate default-fonts for any language 2026-05-14 16:43:14 +05:30
Jens Petersen
5cfab0b765 readme: codeblock package structure lines to avoid markup effects 2026-03-12 19:08:06 +08:00
Jens Petersen
6d56f0a0aa 4.3: add readme file 2026-03-02 20:13:41 +08:00
Jens Petersen
53ed0358b9 indentation of uim-anthy fedora_recommends 2026-03-02 20:04:50 +08:00
Jens Petersen
74de84b355 reformat empty recommends to single line 2026-03-02 20:04:08 +08:00
Jens Petersen
75bffc2b96 add ii langpack for Sichuan Yi (Nuosu)
Around 2 million speakers
2026-03-02 19:30:16 +08:00
Fedora Release Engineering
a62cc78985 Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-16 18:19:02 +00:00
Parag Nemade
9eeac2ff17 Add tmt testcase 2025-09-26 10:01:19 +00:00
Akira TAGOH
c83de407de Add some note about ll_cc code and gnome-software 2025-09-11 12:29:39 +09:00
Fedora Release Engineering
d894be75ad Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 19:08:40 +00:00
Yaakov Selkowitz
38f8a88be4 Recommend ibus-cangjie only on Fedora
ibus-cangjie is not currently planned for RHEL. This is a follow-up to:
https://src.fedoraproject.org/rpms/langpacks/pull-request/43
2025-01-20 20:08:01 -05:00
Fedora Release Engineering
e8bb2bc7e4 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 10:10:43 +00:00
Mike FABIAN
defbf0cd86 Resolves: rhbz#2310426 Add ibus-cangjie-engine-cangjie and ibus-cangjie-engine-quick as recommends for zh_HK 2024-11-14 10:17:15 +01:00
Akira TAGOH
521dc21e01 Add sub-packages:
got for Gothic
  kab for Kabyle
  nqo for N'Ko
  syr for Syriac

Resolves: rhbz#2318769
2024-10-22 18:23:06 +09:00
Akira TAGOH
4ea61c5717 Update package names for renaming
google-noto-sans-symbols2-fonts -> google-noto-sans-symbols-2-fonts
google-noto-sans-meeteimayek-vf-fonts -> google-noto-sans-meetei-mayek-vf-fonts
2024-08-14 18:11:39 +09:00
12 changed files with 335 additions and 4618 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

43
README.md Normal file
View file

@ -0,0 +1,43 @@
# Fedora langpacks package
This package enables langpacks for glibc, hunspell dictionaries, KDE,
and other packages, as well has default language support
(fonts and input methods) for languages.
## Meta-package structure
```
langpacks-* -> langpacks-{core,fonts}-* -> default-fonts-*
```
### Default fonts
```
default-fonts -> default-fonts-{core,cjk,other}-* -> default-fonts-*
```
```
default-fonts-core-* = default-core-{sans,mono,serif,emoji,math}
default-fonts-cjk-* = default-fonts-cjk-{sans,mono,serif}
default-fonts-other-* = default-fonts-other-{sans,mono,serif}
```
## FAQ
### [Q] How to remove a default font or langpack meta-package?
Because of the chains of meta-packages it can be a little daunting to remove
default fonts for example (ie without inducing dnf to remove lots of
default packages).
But it can be done easily with for example:
```
sudo dnf remove google-noto-sans-<LANG>-fonts --noautoremove
```
or
```
sudo dnf remove default-fonts-LANGCODE --noautoremove
```
Though it is recommended to use the default-fonts in general.

View file

@ -1,16 +1,11 @@
Name: langpacks
Version: 4.1
Release: 2%{?dist}
Version: 4.3
Release: 3%{?dist}
Summary: Langpacks meta-package
License: GPL-2.0-or-later
BuildArch: noarch
BuildRequires: python3 fontconfig
# Below Source was available on https://people.freedesktop.org/~hughsient/temp/
Source0: org.fedoraproject.LangPacks.xml
Source1: org.fedoraproject.LangPacks-Core.xml
Source2: org.fedoraproject.default-fonts.xml
Source3: org.fedoraproject.langpacks-fonts.xml
Source4: normlang.py
# to split up the AppStream file
@ -49,10 +44,17 @@ Langpack meta-package to provide individual langpacks packages.
# meta: dependencies foe langpacks meta package
# requires: required packages by meta package
# recommends: recommended packages by meta package
# only_default_font: boolean variable to generate only default-fonts package for any language
#
# Adding fedora_ prefix to inputmethod and meta.requires/meta.recommends will be available for Fedora only.
#
# See defcorepkg, deffontpkg, and defmetapkg for package template
# Note: Adding new ll_cc code (not ll) may needs extra work in gnome-software
# to pick them up properly.
# See https://gitlab.gnome.org/GNOME/gnome-software/-/blob/main/plugins/fedora-langpacks/gs-plugin-fedora-langpacks.c?ref_type=heads#L48
#
%{lua:
local core_font_package_list
if tonumber(rpm.expand("0%{?rhel}")) ~= 0 and tonumber(rpm.expand("0%{?rhel}")) > 9 then
@ -62,7 +64,7 @@ core_font_package_list = {
serif={ "google-noto-serif-vf-fonts" },
mono={ "redhat-mono-vf-fonts", "google-noto-sans-mono-vf-fonts" },
emoji={ "google-noto-emoji-color-fonts" },
math={ "google-noto-sans-math-fonts", "stix-fonts", "google-noto-sans-symbols-vf-fonts", "google-noto-sans-symbols2-fonts" }
math={ "google-noto-sans-math-fonts", "stix-fonts", "google-noto-sans-symbols-vf-fonts", "google-noto-sans-symbols-2-fonts" }
},
cjk={
sans={ "google-noto-sans-cjk-vf-fonts" },
@ -77,7 +79,7 @@ core_font_package_list = {
serif={ "google-noto-serif-vf-fonts" },
mono={ "google-noto-sans-mono-vf-fonts" },
emoji={ "google-noto-emoji-color-fonts" },
math={ "google-noto-sans-math-fonts", "stix-fonts", "google-noto-sans-symbols-vf-fonts", "google-noto-sans-symbols2-fonts" }
math={ "google-noto-sans-math-fonts", "stix-fonts", "google-noto-sans-symbols-vf-fonts", "google-noto-sans-symbols-2-fonts" }
},
cjk={
sans={ "google-noto-sans-cjk-vf-fonts" },
@ -162,8 +164,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -173,8 +174,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -184,8 +184,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -229,8 +228,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -240,8 +238,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -251,8 +248,7 @@ local langpacks_package_list = {
sans="google-noto-sans-cherokee-vf-fonts",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -262,8 +258,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -273,8 +268,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -284,8 +278,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -295,8 +288,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -306,8 +298,7 @@ local langpacks_package_list = {
sans="google-noto-sans-thaana-vf-fonts",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -317,8 +308,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -328,8 +318,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -352,8 +341,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -363,8 +351,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -374,8 +361,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -385,8 +371,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -396,8 +381,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -418,8 +402,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -429,8 +412,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -440,8 +422,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -451,8 +432,17 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
},
},
{ lang="got", fclang="", langname="Gothic", default={
sans="google-noto-sans-gothic-fonts",
serif="",
mono="" },
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -513,8 +503,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -524,8 +513,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -535,8 +523,7 @@ local langpacks_package_list = {
sans="google-noto-sans-armenian-vf-fonts",
serif="google-noto-serif-armenian-vf-fonts",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -546,8 +533,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -557,19 +543,29 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
},
},
{ lang="ii", fclang="ii", langname="Sichuan Yi", default={
sans="google-noto-sans-yi-fonts",
serif="",
mono="" },
recommends={ "sil-nuosu-fonts"
},
inputmethod="ibus-m17n",
meta={ requires={},
recommends={}
},
only_default_font=true,
},
{ lang="is", fclang="", langname="Icelandic", default={
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -579,8 +575,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -590,8 +585,7 @@ local langpacks_package_list = {
sans="google-noto-sans-canadian-aboriginal-vf-fonts",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -601,12 +595,21 @@ local langpacks_package_list = {
sans="", -- Use core_font_package_list if you want to have common fonts for CJK
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="ibus-anthy",
meta={ requires={},
recommends={},
fedora_recommends={ "(uim-anthy if uim)" }
fedora_recommends={ "(uim-anthy if uim)" }
},
},
{ lang="kab", fclang="", langname="Kabyle", default={
sans="",
serif="",
mono="" },
recommends={ "google-noto-sans-tifinagh-fonts" },
inputmethod="",
meta={ requires={},
recommends={}
},
},
{ lang="ka", fclang="", langname="Georgian", default={
@ -626,8 +629,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -671,8 +673,7 @@ local langpacks_package_list = {
sans="", -- Use core_font_package_list if you want to have common fonts for CJK
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="ibus-hangul",
meta={ requires={},
recommends={}
@ -682,8 +683,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -693,8 +693,7 @@ local langpacks_package_list = {
sans="google-noto-sans-lao-vf-fonts",
serif="google-noto-serif-lao-vf-fonts",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -704,8 +703,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -715,8 +713,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -738,8 +735,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -769,11 +765,10 @@ local langpacks_package_list = {
},
},
{ lang="mni", fclang="", langname="Manipuri", default={
sans="google-noto-sans-meeteimayek-vf-fonts",
sans="google-noto-sans-meetei-mayek-vf-fonts",
serif="",
mono="" },
recommends={ "",
},
recommends={},
inputmethod="ibus-m17n",
meta={ requires={},
recommends={}
@ -796,8 +791,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -807,8 +801,7 @@ local langpacks_package_list = {
sans="sil-padauk-fonts",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -818,8 +811,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -842,8 +834,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -853,8 +844,17 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
},
},
{ lang="nqo", fclang="", langname="N'Ko", default={
sans="google-noto-sans-nko-fonts",
serif="",
mono="" },
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -864,8 +864,7 @@ local langpacks_package_list = {
sans="",
serif="",
mono="" },
recommends={
},
recommends={},
inputmethod="",
meta={ requires={},
recommends={}
@ -1049,6 +1048,17 @@ local langpacks_package_list = {
recommends={}
},
},
{ lang="syr", fclang="", langname="Syriac", default={
sans="google-noto-sans-syriac-vf-fonts",
serif="",
mono="" },
recommends={
},
inputmethod="",
meta={ requires={},
recommends={}
},
},
{ lang="ta", fclang="", langname="Tamil", default={
sans="google-noto-sans-tamil-vf-fonts",
serif="google-noto-serif-tamil-vf-fonts",
@ -1234,7 +1244,11 @@ local langpacks_package_list = {
},
inputmethod="ibus-table-chinese-cangjie",
meta={ requires={},
recommends={ "ibus-table-chinese-quick" }
recommends={ "ibus-table-chinese-quick" },
fedora_recommends={ "ibus-table-chinese-quick",
"ibus-cangjie-engine-cangjie",
"ibus-cangjie-engine-quick",
}
},
},
{ lang="zh_TW", fclang="", langname="Taiwan", default={
@ -1439,6 +1453,95 @@ This package provides %{_langname} langpacks meta-package.
rpm.undefine("_req")
end
--
--AppStream template
--
local function defappstream_open(fname)
return "cat <<_EOL_>" .. fname .. "\\\n" .. [[
<?xml version=\"1.0\" encoding=\"UTF-8\"?>\
<components origin=\"langpacks\">\
]]
end
local function defappstream_close(f)
local s = f .. [[</components>\
_EOL_
]]
return s
end
local function defappstream_body(f, component, id, lang, fclang, name, summary, desc)
if lang ~= fclang and fclang ~= "" then
return f
end
local _id = (lang == "" and id or id .. "-" .. lang)
local _summary = (lang == "" and summary or summary .. " for " .. name)
local s = f .. [[
<component type=\"]] .. component .. [[\">\
<metadata_license>CC0-1.0</metadata_license>\
<id>org.fedoraproject.]] .. _id .. [[</id>\
<name>]] .. name .. [[</name>\
<summary>]] .. _summary .. [[</summary>\
<description>\
<p>\
]] .. desc .. [[\
</p>\
</description>\
</component>\
]]
return s
end
local function defappstream_metabody(f, id, name)
f = defappstream_body(f, "font", "default-fonts-" .. id, "sans", "", name, "sans-serif default font", "sans-serif font package to install default font for " .. name .. " languages.")
f = defappstream_body(f, "font", "default-fonts-" .. id, "serif", "", name, "serif default font", "serif font package to install default font for " .. name .. " languages.")
f = defappstream_body(f, "font", "default-fonts-" .. id, "mono", "", name, "monospace default font", "monospace font package to install default font for " .. name .. " languages.")
return f
end
local function defappstream(table)
local slpc = defappstream_open("org.fedoraproject.LangPacks-Core.xml")
local slp = defappstream_open("org.fedoraproject.LangPacks.xml")
local sdf = defappstream_open("org.fedoraproject.default-fonts.xml")
local slf = defappstream_open("org.fedoraproject.langpacks-fonts.xml")
--
-- default-fonts
--
sdf = defappstream_body(sdf, "font", "default-fonts", "", "", "default-fonts", "All default fonts for all the languages", "Meta-package to install all the default fonts for all the languages.")
--
-- default-fonts-core
--
sdf = defappstream_body(sdf, "font", "default-fonts", "core", "", "Latin", "All variants default fonts", "sans-serif/serif/monospace/emoji/math font packages to install default fonts for Latin.")
sdf = defappstream_metabody(sdf, "core", "Latin")
sdf = defappstream_body(sdf, "font", "default-fonts-core", "emoji", "", "Emoji", "default font", "emoji font package to install default font.")
sdf = defappstream_body(sdf, "font", "default-fonts-core", "math", "", "Math", "default font", "math font package to install default font.")
--
-- default-fonts-other
--
sdf = defappstream_body(sdf, "font", "default-fonts", "other", "", "non-CJK", "All variants default fonts", "sans-serif/serif/monospace font packages to install default fonts for non-CJK languages.")
sdf = defappstream_metabody(sdf, "other", "non-CJK")
--
-- default-fonts-cjk
--
sdf = defappstream_body(sdf, "font", "default-fonts", "cjk", "", "Chinese/Japanese/Korean", "All variants default fonts", "sans-serif/serif/monospace font packages to install default fonts for CJK languages.")
sdf = defappstream_metabody(sdf, "cjk", "Chinese/Japanese/Korean")
for i = 1, #table do
sdf = defappstream_body(sdf, "font", "default-fonts", table[i]["lang"], table[i]["fclang"], table[i]["langname"], "Localization Font support", "Core font package to install default font.")
if not table[i]["only_default_font"] then
slpc = defappstream_body(slpc, "localization", "LangPack-Core", table[i]["lang"], table[i]["lang"], table[i]["langname"], "Core Localization support", "Core Meta-package to install default font, glibc locale and input-method if available.")
slp = defappstream_body(slp, "localization", "LangPack", table[i]["lang"], table[i]["lang"], table[i]["langname"], "Localization support", "Meta-package to install available langpacks for the language available for the installed packages.")
slf = defappstream_body(slf, "font", "langpacks-fonts", table[i]["lang"], table[i]["fclang"], table[i]["langname"], "Localization Font support", "Meta-package to install extra font.")
end
end
rpm.define("langpacks_metainfo_lpc " .. defappstream_close(slpc))
rpm.define("langpacks_metainfo_lp " .. defappstream_close(slp))
rpm.define("langpacks_metainfo_df " .. defappstream_close(sdf))
rpm.define("langpacks_metainfo_lf " .. defappstream_close(slf))
end
local other_deps = { sans={}, serif={}, mono={} }
local cjk_deps = { sans={}, serif={}, mono={} }
local face = { "sans", "serif", "mono" }
@ -1462,6 +1565,7 @@ for i = 1, #langpacks_package_list do
local im = (tonumber(rpm.expand("0%{?fedora}")) ~= 0 and langpacks_package_list[i]["fedora_inputmethod"] ~= nil and langpacks_package_list[i]["fedora_inputmethod"] or langpacks_package_list[i]["inputmethod"])
local fclang = (langpacks_package_list[i]["fclang"] == "" and string.gsub(lang, "_", "-") or langpacks_package_list[i]["fclang"])
local prov = ""
local only_default_pkg = langpacks_package_list[i]["only_default_font"]
if orth ~= "" then
--Try to validate orth in table
@ -1543,18 +1647,27 @@ for i = 1, #langpacks_package_list do
deffontpkg("default-fonts-" .. lang, "default fonts", langname, append_obsolete(default_deps, "langpacks-core-font-" .. lang))
end
end
deffontpkg("langpacks-fonts-" .. lang, "extra fonts", langname, append_obsolete(extra_deps, "default-fonts-extra-" .. lang))
if only_default_pkg == nil then
deffontpkg("langpacks-fonts-" .. lang, "extra fonts", langname, append_obsolete(extra_deps, "default-fonts-extra-" .. lang))
end
end
if only_default_pkg == nil then
defcorepkg(lang, fclang, langname, im)
end
defcorepkg(lang, fclang, langname, im)
--Generate langpacks-* meta packages
local metadeps = (tonumber(rpm.expand("0%{?fedora}")) ~= 0 and langpacks_package_list[i]["meta"]["fedora_requires"] ~= nil and langpacks_package_list[i]["meta"]["fedora_requires"] or langpacks_package_list[i]["meta"]["requires"])
local metarecd = (tonumber(rpm.expand("0%{?fedora}")) ~= 0 and langpacks_package_list[i]["meta"]["fedora_recommends"] ~= nil and langpacks_package_list[i]["meta"]["fedora_recommends"] or langpacks_package_list[i]["meta"]["recommends"])
local deps = build_deps("", "Requires", drop_duplicate(metadeps))
deps = build_deps(deps, "Recommends", drop_duplicate(metarecd))
defmetapkg(lang, fclang, langname, deps)
if only_default_pkg == nil then
local metadeps = (tonumber(rpm.expand("0%{?fedora}")) ~= 0 and langpacks_package_list[i]["meta"]["fedora_requires"] ~= nil and langpacks_package_list[i]["meta"]["fedora_requires"] or langpacks_package_list[i]["meta"]["requires"])
local metarecd = (tonumber(rpm.expand("0%{?fedora}")) ~= 0 and langpacks_package_list[i]["meta"]["fedora_recommends"] ~= nil and langpacks_package_list[i]["meta"]["fedora_recommends"] or langpacks_package_list[i]["meta"]["recommends"])
local deps = build_deps("", "Requires", drop_duplicate(metadeps))
deps = build_deps(deps, "Recommends", drop_duplicate(metarecd))
defmetapkg(lang, fclang, langname, deps)
end
end
--Generate AppStream files
defappstream(langpacks_package_list)
--Special care of cjk-sans to reduce extra sub-packages and dependencies like core-sans
for i = 1, #core_font_package_list["cjk"]["sans"] do
table.insert(cjk_sans_deps, core_font_package_list["cjk"]["sans"][i])
@ -1645,19 +1758,59 @@ meta packages for non-CJK languages.
# nothing to prep
%build
# nothing to build
%{langpacks_metainfo_lpc}
%{langpacks_metainfo_lp}
%{langpacks_metainfo_df}
%{langpacks_metainfo_lf}
%install
# Explode the metainfo files into the subpackages so they get added to the
# distro-specific AppStream metadata
mkdir -p %{buildroot}/usr/share/metainfo
DESTDIR=%{buildroot} appstream-util split-appstream %{SOURCE0}
DESTDIR=%{buildroot} appstream-util split-appstream %{SOURCE1}
DESTDIR=%{buildroot} appstream-util split-appstream %{SOURCE2}
DESTDIR=%{buildroot} appstream-util split-appstream %{SOURCE3}
DESTDIR=%{buildroot} appstream-util split-appstream org.fedoraproject.LangPacks-Core.xml
DESTDIR=%{buildroot} appstream-util split-appstream org.fedoraproject.LangPacks.xml
DESTDIR=%{buildroot} appstream-util split-appstream org.fedoraproject.default-fonts.xml
DESTDIR=%{buildroot} appstream-util split-appstream org.fedoraproject.langpacks-fonts.xml
%changelog
* Thu Jul 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 4.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Tue May 12 2026 Parag Nemade <pnemade AT redhat DOT com> - 4.3-2
- Add functionality to only generate default-fonts for any language
* Mon Mar 02 2026 Jens Petersen <petersen@redhat.com> - 4.3-1
- add ii langpack for Sichuan Yi (Nuosu)
- add README.md (#2237646)
* Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 4.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Tue Jan 21 2025 Yaakov Selkowitz <yselkowi@redhat.com> - 4.2-4
- Recommend ibus-cangjie only on Fedora
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 4.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Thu Nov 14 2024 Mike FABIAN <mfabian@redht.com> - 4.2-2
- Resolves: rhbz#2310426 Add ibus-cangjie-engine-cangjie and ibus-cangjie-engine-quick as recommends for zh_HK
* Tue Oct 22 2024 Akira TAGOH <tagoh@redhat.com> - 4.2-1
- Add sub-packages:
- got for Gothic
- kab for Kabyle
- nqo for N'Ko
- syr for Syriac
* Tue Aug 13 2024 Akira TAGOH <tagoh@redhat.com> - 4.1-3
- Update package names for renaming
google-noto-sans-symbols2-fonts -> google-noto-sans-symbols-2-fonts
google-noto-sans-meeteimayek-vf-fonts -> google-noto-sans-meetei-mayek-vf-fonts
* Wed Jul 17 2024 Parag Nemade <pnemade AT redhat DOT com> - 4.1-2
- zh_TW: change default inputmethod to ibus-chewing
https://fedoraproject.org/wiki/Changes/IBusChewingForZhTW

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

5
plans/langpacks.fmf Normal file
View file

@ -0,0 +1,5 @@
summary: Basic smoke test
discover:
how: fmf
execute:
how: tmt

28
tests/check-default-font-installed.sh Normal file → Executable file
View file

@ -1,34 +1,36 @@
#!/bin/bash
set -e
echo "First check installed langpacks list"
sudo dnf list --installed| grep langpacks
for pkg in `cat /tmp/langpacks-packages-list.txt`; do
sudo dnf install $pkg -y --quiet
echo "Check hi language"
sudo dnf list --installed|grep google-noto-sans-devanagari-vf-fonts
retval=$?
echo $retval
if [ $retval -ne 0 ]; then
echo "$pkg is not installed"
echo "langpacks-core-hi failed to install google-noto-sans-devanagari-vf-fonts as default font package"
else
echo "$pkg is successfully installed"
echo "langpacks-core-hi installed with default font google-noto-sans-devanagari-vf-fonts package"
fi
done
# Check hi language
sudo dnf list installed|grep lohit-devanagari-fonts
echo "Check ja language"
sudo dnf list --installed|grep google-noto-sans-cjk-vf-fonts
retval=$?
echo $retval
if [ $retval -ne 0 ]; then
echo "default-fonts-hi failed to install lohit-devanagari-fonts as default font package"
echo "langpacks-core-ja failed to install google-noto-sans-cjk-vf-fonts as default font package"
else
echo "default-fonts-hi installed with default font lohit-devanagari-fonts package"
echo "langpacks-core-ja installed with default font google-noto-sans-cjk-vf-fonts package"
fi
# Check zh_CN language
sudo dnf list installed|grep google-noto-sans-cjk-vf-fonts
echo "Check zh_CN language"
sudo dnf list --installed|grep google-noto-sans-cjk-vf-fonts
retval=$?
echo $retval
if [ $retval -ne 0 ]; then
echo "default-fonts-zh_CN failed to install google-noto-sans-cjk-vf-fonts as default font package"
echo "langpacks-core-zh_CN failed to install google-noto-sans-cjk-vf-fonts as default font package"
else
echo "default-fonts-zh_CN installed with default font google-noto-sans-cjk-vf-fonts package"
echo "langpacks-core-zh_CN installed with default font google-noto-sans-cjk-vf-fonts package"
fi

View file

@ -1,92 +0,0 @@
default-fonts-af
default-fonts-am
default-fonts-ar
default-fonts-as
default-fonts-ast
default-fonts-be
default-fonts-bg
default-fonts-bn
default-fonts-bo
default-fonts-br
default-fonts-bs
default-fonts-ca
default-fonts-chr
default-fonts-cs
default-fonts-cy
default-fonts-da
default-fonts-de
default-fonts-dv
default-fonts-dz
default-fonts-el
default-fonts-en
default-fonts-eo
default-fonts-es
default-fonts-et
default-fonts-eu
default-fonts-fa
default-fonts-fi
default-fonts-fr
default-fonts-ga
default-fonts-gl
default-fonts-gu
default-fonts-he
default-fonts-hi
default-fonts-hr
default-fonts-hu
default-fonts-hy
default-fonts-ia
default-fonts-id
default-fonts-is
default-fonts-it
default-fonts-iu
default-fonts-ja
default-fonts-ka
default-fonts-kk
default-fonts-km
default-fonts-kn
default-fonts-ko
default-fonts-ku
default-fonts-lo
default-fonts-lt
default-fonts-lv
default-fonts-mai
default-fonts-mk
default-fonts-ml
default-fonts-mr
default-fonts-ms
default-fonts-my
default-fonts-nb
default-fonts-ne
default-fonts-nl
default-fonts-nn
default-fonts-nr
default-fonts-nso
default-fonts-or
default-fonts-pa
default-fonts-pl
default-fonts-pt
default-fonts-ro
default-fonts-ru
default-fonts-si
default-fonts-sk
default-fonts-sl
default-fonts-sq
default-fonts-sr
default-fonts-ss
default-fonts-sv
default-fonts-ta
default-fonts-te
default-fonts-th
default-fonts-tn
default-fonts-tr
default-fonts-ts
default-fonts-uk
default-fonts-ur
default-fonts-ve
default-fonts-vi
default-fonts-xh
default-fonts-yi
default-fonts-zh_CN
default-fonts-zh_HK
default-fonts-zh_TW
default-fonts-zu

4
tests/main.fmf Normal file
View file

@ -0,0 +1,4 @@
require:
- langpacks-core-ja
test: bash ./check-default-font-installed.sh
framework: shell

View file

@ -1,39 +0,0 @@
- hosts: localhost
vars:
- artifacts: "{{ lookup('env', 'TEST_ARTIFACTS')|default('./artifacts', true) }}"
tags:
- classic
remote_user: root
tasks:
- name: Install required packages
dnf:
name:
- langpacks-core-hi
- langpacks-core-zh_CN
- name: Install the test files
copy: src={{ item.file }} dest=/tmp/{{ item.dest }} mode=0755
with_items:
- {file: check-default-font-installed.sh, dest: check-default-font-installed.sh }
- name: Install the test data files
copy: src={{ item.file }} dest=/tmp/{{ item.dest }} mode=0644
with_items:
- {file: langpacks-packages-list.txt, dest: langpacks-packages-list.txt }
- name: Test block
block:
- name: Execute the tests
shell: |
/tmp/check-default-font-installed.sh &> /tmp/test.log && result=pass || result=fail
echo -e "results:\n- {result: $result, test: simple}" > /tmp/results.yml
always:
- name: Pull out the logs
fetch:
dest: "{{ artifacts }}/"
src: "{{ item }}"
flat: yes
with_items:
- /tmp/test.log
- /tmp/results.yml