From Fedora Project Wiki
(metapackage->meta-package)
 
(20 intermediate revisions by 3 users not shown)
Line 20: Line 20:
<!-- 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 -->


= Langpacks Using RPM Tags =
= Langpacks Installation With RPM Weak Dependencies =


== Summary ==
== Summary ==
Langpacks installations is re-designed using RPM weak and rich dependencies.  
Langpacks installations is re-designed using language meta-packages langpacks-<langcode> and RPM weak dependencies (Supplements tag).


== Owner ==
== Owner ==
Line 33: Line 33:


* Email: jsilhan at fedoraproject dot org
* Email: jsilhan at fedoraproject dot org


* Release notes owner: <!--- To be assigned by docs team [[User:FASAccountName| Release notes owner name]] <email address> -->
* Release notes owner: <!--- To be assigned by docs team [[User:FASAccountName| Release notes owner name]] <email address> -->
Line 42: Line 41:
== Current status ==
== Current status ==
* Targeted release: [[Releases/24 | Fedora 24 ]]  
* Targeted release: [[Releases/24 | Fedora 24 ]]  
* Last updated: 22-Jan-2016
* Last updated: 26-Feb-2016
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page  
Bugzilla states meaning as usual:
Bugzilla states meaning as usual:
Line 51: Line 50:
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
-->
-->
* Tracker bug: []
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1308555 #1308555]


== Detailed Description ==
== Detailed Description ==
{{admon/note|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.
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 metapackage 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.
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.
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 ==
== Benefit to Fedora ==
Users will get langpacks for the given language installed. This Change provides language metapackages which user need to just install and they will get all available langpacks for which base package is already installed on the system.  
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 ==
== Scope ==
* Proposal owners: Check all langpacks providing packages add Supplements tag in their each langpack subpackage. Create metapackages like langpacks-<langcode>.
* 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 [https://fedoraproject.org/wiki/I18N/Langpacks/WeakdepsImplementation here]
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do the feature owners have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->


* Other developers: N/A (not a System Wide Change) To all other developers of packages who provides langpacks, they need to add the Supplements tag as given in this [https://fedoraproject.org/wiki/PackagingDrafts/Langpack draft guideline] to each langpack subpackage.
* Other developers: To all other developers of packages who provides langpacks, they need to add the Supplements tag as given in this [https://fedoraproject.org/wiki/Packaging:Langpacks Langpacks guideline] to each langpack subpackage.
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
<!-- What work do other developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->


Line 72: Line 74:
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuid required?  If a rel-eng ticket exists, add a link here.  -->
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuid required?  If a rel-eng ticket exists, add a link here.  -->


* Policies and guidelines: Working with FPC on this new [https://fedoraproject.org/wiki/PackagingDrafts/Langpack langpacks guideline] <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Policies and guidelines: Worked with FPC on this new [https://fedoraproject.org/wiki/Packaging:Langpacks Langpacks guideline] <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- 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. -->
<!-- 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. -->


Line 80: Line 82:
== How To Test ==
== How To Test ==


* [[QA:Langpack Dnf Application]]
* [[QA:Langpacks]]


== User Experience ==
== User Experience ==
With single commands users can install or remove langpacks for requested languages.
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.
 
<pre>dnf list "langpacks-*"</pre>


== Dependencies ==
== Dependencies ==
Line 90: Line 94:
== Contingency Plan ==
== Contingency Plan ==
<!-- 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: N/A (not a System Wide Change)  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* 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.
<!-- 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: N/A (not a System Wide Change)  <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* 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.
<!-- 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? N/A (not a System Wide Change), Yes/No <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Blocks release? No
* Blocks product? product <!-- Applicable for Changes that blocks specific product release/Fedora.next -->
* Blocks product? N/A


== Documentation ==
== Documentation ==
Line 107: Line 111:
-->
-->


[[Category:ChangePageIncomplete]]
[[Category:ChangeAcceptedF24]]
<!-- 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 -->

Latest revision as of 13:24, 26 February 2016


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