Langpacks Installation With RPM Weak Dependencies
Summary
Langpacks installations is re-designed using language meta-packages langpacks-<langcode> and RPM weak dependencies (Supplements tag).
Owner
- Name: Parag Nemade
- Email: pnemade at fedoraproject dot org
- Name: Jan Silhan
- Email: jsilhan at fedoraproject dot org
- Release notes owner:
Current status
Detailed Description
This is similar to what we have dnf langpacks plugin which is already in Fedora but there is one missing thing that this plugin currently does not provide automatic installation of langpacks. E.g. if you enable or install Fedora in Japanese language then installation of any base package like libreoffice-core or man-pages are not installing automatically libreoffice-langpack-ja or man-pages-ja. This is because dnf is not providing required hook to re-resolve the transaction unlike yum. But now with using RPM tags or weak dependencies like Supplements, we just need to ensure we have langpacks-xx meta-package is already installed on the system and when a base package is getting installed, it will pull its langpack for that xx language automatically in the transaction set.
This will help in anaconda installation also. When particular set of languages are selected in anaconda then anaconda should pull all the required langpacks in the same initial installation.
There are no plans to remove/retire dnf-langpacks package in Fedora yet.
Benefit to Fedora
Users will get langpacks for the given language installed. This Change provides language meta-packages which user need to just install and they will get all available langpacks for which base package is already installed on the system.
Scope
- Proposal owners: Check all langpacks providing packages add Supplements tag in their each langpack subpackage. We have now added langpacks meta-package in F24+ which provides around 79 language meta-packages. We are tracking the progress here
- Other developers: To all other developers of packages who provides langpacks, they need to add the Supplements tag as given in this Langpacks guideline to each langpack subpackage.
- Release engineering: N/A
- Policies and guidelines: Worked with FPC on this new Langpacks guideline
Upgrade/compatibility impact
None.
How To Test
User Experience
Users will get langpacks installed when they do initial installation of Fedora using anaconda. Users can enable languages by installing meta-package langpacks-<langcode>. Users can find which languages are providing langpacks by executing following command.
dnf list "langpacks-*"
Dependencies
No Other Change depend on this.
Contingency Plan
- Contingency mechanism: If this change is not completed by final development freeze then we need to target this for F25. We are just proposing to add additional information in langpacks packages that is Supplements tag. This should not affect individual langpacks packages installation by dnf or we have langpacks plugin which can be used to fully install langpacks for any language where base packages are already installed on the system.
- Contingency deadline: I don't think we will need anything to revert or apply any contingency plan here if this is not completed by beta freeze.
- Blocks release? No
- Blocks product? N/A
Documentation
- Need to add about this in the Documentation_I18n_Beat