From Fedora Project Wiki


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

  • Email: pnemade at fedoraproject dot org
  • Email: jsilhan at fedoraproject dot org
  • Release notes owner:

Current status

Detailed Description

This change will remove the need of having the dnf langpacks plugin in Fedora

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

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

Release Notes