(update release note tracker) |
|||
(35 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
<!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name. This keeps all change proposals in the same namespace --> | <!-- The actual name of your proposed change page should look something like: Changes/Your_Change_Proposal_Name. This keeps all change proposals in the same namespace --> | ||
= Improve Default Font Handling = | = Improve Default Font Handling with default-fonts metapackages = | ||
== Summary == | == Summary == | ||
<!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". --> | <!-- A sentence or two summarizing what this change is and what it will do. This information is used for the overall changeset summary page for each release. Note that motivation for the change should be in the Benefit to Fedora section below, and this part should answer the question "What?" rather than "Why?". --> | ||
This aims to make default fonts easier to update for all the variants on Fedora and reduce the maintenance costs | This aims to make default fonts easier to update and install for all the variants on Fedora and reduce the maintenance costs for them. | ||
== Owner == | == Owner == | ||
Line 25: | Line 24: | ||
== Current status == | == Current status == | ||
[[Category: | [[Category:ChangeAcceptedF39]] | ||
<!-- When your change proposal page is completed and ready for review and announcement --> | <!-- When your change proposal page is completed and ready for review and announcement --> | ||
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | <!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler --> | ||
Line 32: | Line 31: | ||
<!-- Select proper category, default is Self Contained Change --> | <!-- Select proper category, default is Self Contained Change --> | ||
[[Category:SelfContainedChange]] | <!-- [[Category:SelfContainedChange]] --> | ||
[[Category:SystemWideChange]] | |||
* Targeted release: [https://docs.fedoraproject.org/en-US/releases/f39/ Fedora Linux 39] | * Targeted release: [https://docs.fedoraproject.org/en-US/releases/f39/ Fedora Linux 39] | ||
Line 43: | Line 42: | ||
ON_QA -> change is fully code complete | ON_QA -> change is fully code complete | ||
--> | --> | ||
* [ | * [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/6YSJ3FK3IQMSKJK76DGKBR4FXMP37C3T/ devel thread] | ||
* FESCo issue: | * FESCo issue: [https://pagure.io/fesco/issue/3033 #3033] | ||
* Tracker bug: | * Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=2233272 #2233272] | ||
* Release notes tracker: | * Release notes tracker: [https://pagure.io/fedora-docs/release-notes/issue/1007 #1007] | ||
== Detailed Description == | == Detailed Description == | ||
<!-- Expand on the summary, if appropriate. A couple sentences suffices to explain the goal, but the more details you can provide the better. --> | <!-- Expand on the summary, if appropriate. A couple sentences suffices to explain the goal, but the more details you can provide the better. --> | ||
Currently there are multiple sources to manage what font packages should be installed for a Fedora release and spins, such as comps, langpacks, lorax, workstation-ostree-config, and fedora-kickstarts, which makes it complicated to make default default fonts changes. | Currently there are multiple sources to manage what font packages should be installed for a Fedora release and spins, such as comps, langpacks, lorax, workstation-ostree-config, and fedora-kickstarts, which makes it complicated to make default default fonts changes. | ||
New default-fonts metapackages will be added to langpacks, some of which will replace the default font listed in `@fonts`, etc. Then going forward those lists of metapackages should only need to be changed quite rarely. | |||
* default-fonts | * `default-fonts` metapackage to pull in: | ||
** | ** `default-fonts-core` metapackage to pull in: | ||
*** default-fonts-core-sans, default-fonts-core-serif, default-fonts-core-mono, default-fonts-core-emoji, default-fonts-core-math | *** `default-fonts-core-sans`, `default-fonts-core-serif`, `default-fonts-core-mono`, `default-fonts-core-emoji`, `default-fonts-core-math` | ||
**** Metapackages to pull the default | **** Metapackages to pull in the default fonts for Western characters, Emoji, and Math/Symbols | ||
* default-fonts-cjk | ** `default-fonts-cjk` metapackage to pull in: | ||
** | *** `default-fonts-cjk-sans` | ||
*** default-fonts- | **** Metapackage to pull in `default-fonts-<language code>` for CJK languages | ||
**** Metapackages to pull | *** `default-fonts-cjk-serif`, `default-fonts-cjk-mono` | ||
* default-fonts-other | **** Metapackages to pull in the default fonts for Chinese, Japanese, and Korean | ||
** | ** `default-fonts-other` metapackage to pull in: | ||
*** default-fonts-other- | *** `default-fonts-other-sans` | ||
**** Metapackages to pull the default fonts for non-CJK languages | **** Metapackage to pull in `default-fonts-<language code>` for other (non-CJK) languages | ||
* default-fonts-<language code> | *** `default-fonts-other-serif`, `default-fonts-other-mono` | ||
** Metapackages to pull a default font for | **** Metapackages to pull in the default fonts for other (non-CJK) languages | ||
* | * `default-fonts-<language code>` | ||
** Metapackages to pull extra fonts for certain languages if any | ** Metapackages to pull in a default font for a specific language | ||
** This metapackage provides `font(:lang=<language code>)` | |||
* `langpacks-fonts-<language code>` | |||
** Metapackages to pull in default font and extra fonts for a certain languages if any | |||
== Feedback == | == Feedback == | ||
Line 74: | Line 76: | ||
== Benefit to Fedora == | == Benefit to Fedora == | ||
This Change provides the easier way to manage | This Change provides the easier way to manage and install our default fonts on Fedora. In current package sets, langpacks offers non-fonts packages to be installed even though one don't want to install them. After this Change, one doesn't need to install those extra dependencies for the purpose of the font installation. | ||
<!-- What is the benefit to the distribution? Will the software we generate be improved? How will the process of creating Fedora releases be improved? | <!-- What is the benefit to the distribution? Will the software we generate be improved? How will the process of creating Fedora releases be improved? | ||
Line 106: | Line 108: | ||
== Scope == | == Scope == | ||
* Proposal owners: | * Proposal owners: | ||
** update the fedora-comps @fonts group and workstation-ostree-config to use the new default-fonts packages | ** update the fedora-comps @fonts group and workstation-ostree-config to use the new default-fonts packages ([https://pagure.io/fedora-comps/pull-request/862 PR]) | ||
** fontconfig package default font dependency to be updated | ** fontconfig package default font dependency to be updated | ||
** update lorax to | ** optionally update lorax to use the new default fonts (if they no longer need to remove many fonts files since most are now variable fonts anyway), otherwise it can be done for Fedora 40. | ||
* Other developers: <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | * Other developers: <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
Line 117: | Line 119: | ||
The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication --> | The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication --> | ||
* Policies and guidelines: | * Policies and guidelines: N/A (not needed for this Change) | ||
<!-- Do the packaging guidelines or other documents need to be updated for this feature? If so, does it need to happen before or after the implementation is done? If a FPC ticket exists, add a link here. Please submit a pull request with the proposed changes before submitting your Change proposal. --> | <!-- Do the packaging guidelines or other documents need to be updated for this feature? If so, does it need to happen before or after the implementation is done? If a FPC ticket exists, add a link here. Please submit a pull request with the proposed changes before submitting your Change proposal. --> | ||
Line 128: | Line 129: | ||
== Upgrade/compatibility impact == | == Upgrade/compatibility impact == | ||
Currently installed langpacks packages will pull in the appropriate default-fonts packages when upgrading. | |||
Using default-fonts meta-packages means that users will get upgraded to new default fonts seamlessly going forward. | Using default-fonts meta-packages means that users will get upgraded to new default fonts seamlessly going forward. | ||
Line 151: | Line 154: | ||
--> | --> | ||
You can test this Change on upgrade as well as freshly installed Fedora 39 system | |||
* If you have installed Fresh F39 system then you will find <code>default-fonts-*</code> packages already installed on your system. | |||
** <pre>$ rpm -qa|grep default-fonts</pre> | |||
You will find almost 64 packages installed on English language installation. These are new packages compared to Fedora 38 package set. | |||
* If you have an existing F38 system then you can test this by upgrading your system to Fedora 39: then you will find one or more <code>default-fonts-*</code> packages getting installed on your system. To demonstrate this with a simple example | |||
** <pre>$ sudo dnf update langpacks-en --releasever=39</pre> | |||
you would find <code>default-fonts-core-sans</code> package getting installed on your system. | |||
<!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
Line 173: | Line 182: | ||
== Dependencies == | == Dependencies == | ||
No. Updated langpacks still have compatibility on existing dependencies. This Change can be done in langpacks only. | |||
<!-- What other packages (RPMs) depend on this package? Are there changes outside the developers' control on which completion of this change depends? In other words, completion of another change owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate? Other upstream projects like the kernel (if this is not a kernel change)? --> | <!-- What other packages (RPMs) depend on this package? Are there changes outside the developers' control on which completion of this change depends? In other words, completion of another change owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate? Other upstream projects like the kernel (if this is not a kernel change)? --> | ||
Line 181: | Line 190: | ||
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan? This might be as simple as "Revert the shipped configuration". Or it might not (e.g. rebuilding a number of dependent packages). If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy. --> | <!-- If you cannot complete your feature by the final development freeze, what is the backup plan? This might be as simple as "Revert the shipped configuration". Or it might not (e.g. rebuilding a number of dependent packages). If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy. --> | ||
* Contingency mechanism: (What to do? Who will do it?) | * Contingency mechanism: (What to do? Who will do it?) | ||
** Change owners will revert the relevant changes. <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | |||
<!-- When is the last time the contingency mechanism can be put in place? This will typically be the beta freeze. --> | <!-- When is the last time the contingency mechanism can be put in place? This will typically be the beta freeze. --> | ||
* Contingency deadline: | * Contingency deadline: Beta freeze <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
<!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? --> | <!-- Does finishing this feature block the release, or can we ship with the feature in incomplete state? --> | ||
* Blocks release? | * Blocks release? No <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
== Documentation == | == Documentation == | ||
None | |||
== Release Notes == | == Release Notes == |
Latest revision as of 23:24, 28 September 2023
Improve Default Font Handling with default-fonts metapackages
Summary
This aims to make default fonts easier to update and install for all the variants on Fedora and reduce the maintenance costs for them.
Owner
- Name: Akira TAGOH
- Email: <tagoh AT redhat DOT com>
- Name: Parag Nemade
- Email: <pnemade AT redhat DOT com>
Current status
- Targeted release: Fedora Linux 39
- Last updated: 2023-09-28
- devel thread
- FESCo issue: #3033
- Tracker bug: #2233272
- Release notes tracker: #1007
Detailed Description
Currently there are multiple sources to manage what font packages should be installed for a Fedora release and spins, such as comps, langpacks, lorax, workstation-ostree-config, and fedora-kickstarts, which makes it complicated to make default default fonts changes.
New default-fonts metapackages will be added to langpacks, some of which will replace the default font listed in @fonts
, etc. Then going forward those lists of metapackages should only need to be changed quite rarely.
default-fonts
metapackage to pull in:default-fonts-core
metapackage to pull in:default-fonts-core-sans
,default-fonts-core-serif
,default-fonts-core-mono
,default-fonts-core-emoji
,default-fonts-core-math
- Metapackages to pull in the default fonts for Western characters, Emoji, and Math/Symbols
default-fonts-cjk
metapackage to pull in:default-fonts-cjk-sans
- Metapackage to pull in
default-fonts-<language code>
for CJK languages
- Metapackage to pull in
default-fonts-cjk-serif
,default-fonts-cjk-mono
- Metapackages to pull in the default fonts for Chinese, Japanese, and Korean
default-fonts-other
metapackage to pull in:default-fonts-other-sans
- Metapackage to pull in
default-fonts-<language code>
for other (non-CJK) languages
- Metapackage to pull in
default-fonts-other-serif
,default-fonts-other-mono
- Metapackages to pull in the default fonts for other (non-CJK) languages
default-fonts-<language code>
- Metapackages to pull in a default font for a specific language
- This metapackage provides
font(:lang=<language code>)
langpacks-fonts-<language code>
- Metapackages to pull in default font and extra fonts for a certain languages if any
Feedback
Benefit to Fedora
This Change provides the easier way to manage and install our default fonts on Fedora. In current package sets, langpacks offers non-fonts packages to be installed even though one don't want to install them. After this Change, one doesn't need to install those extra dependencies for the purpose of the font installation.
Scope
- Proposal owners:
- update the fedora-comps @fonts group and workstation-ostree-config to use the new default-fonts packages (PR)
- fontconfig package default font dependency to be updated
- optionally update lorax to use the new default fonts (if they no longer need to remove many fonts files since most are now variable fonts anyway), otherwise it can be done for Fedora 40.
- Other developers:
- Release engineering: #Releng issue number
- Policies and guidelines: N/A (not needed for this Change)
- Trademark approval: N/A (not needed for this Change)
- Alignment with Community Initiatives:
Upgrade/compatibility impact
Currently installed langpacks packages will pull in the appropriate default-fonts packages when upgrading.
Using default-fonts meta-packages means that users will get upgraded to new default fonts seamlessly going forward.
This should provide a more reliable font experience since default fonts should have higher fontconfig priority.
How To Test
You can test this Change on upgrade as well as freshly installed Fedora 39 system
- If you have installed Fresh F39 system then you will find
default-fonts-*
packages already installed on your system.$ rpm -qa|grep default-fonts
You will find almost 64 packages installed on English language installation. These are new packages compared to Fedora 38 package set.
- If you have an existing F38 system then you can test this by upgrading your system to Fedora 39: then you will find one or more
default-fonts-*
packages getting installed on your system. To demonstrate this with a simple example$ sudo dnf update langpacks-en --releasever=39
you would find default-fonts-core-sans
package getting installed on your system.
User Experience
Users will automatically be moved to any new/changed default system fonts when they upgrade to a newer version of Fedora.
It will be easier for users to remove CJK or non-core fonts from their system if they really want to, or to add them in minimal installations.
Dependencies
No. Updated langpacks still have compatibility on existing dependencies. This Change can be done in langpacks only.
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?)
- Change owners will revert the relevant changes.
- Contingency deadline: Beta freeze
- Blocks release? No
Documentation
None