Features/YumGroupsAsObjects

From FedoraProject

< Features(Difference between revisions)
Jump to: navigation, search
(Added some documentation to the yum wiki about how groups work)
(Update to 100% as the feature is turned on in Fedora 19 now.)
 
(4 intermediate revisions by 2 users not shown)
Line 4: Line 4:
 
== Summary ==
 
== Summary ==
 
<!-- A sentence or two summarizing what this feature is and what it will do.  This information is used for the overall feature summary page for each release. -->
 
<!-- A sentence or two summarizing what this feature is and what it will do.  This information is used for the overall feature summary page for each release. -->
Change the default yum configuration from group_command=compat to
+
Change the default yum configuration from group_command=compat to group_command=objects.
group_command=objects.
+
  
 
== Owner ==
 
== Owner ==
Line 16: Line 15:
 
== Current status ==
 
== Current status ==
 
* Targeted release: [[Releases/19 | Fedora 19 ]]  
 
* Targeted release: [[Releases/19 | Fedora 19 ]]  
* Last updated: 2013-01-25
+
* Last updated: 2013-05-07
* Percentage of completion: 99%
+
* Percentage of completion: 100%
  
 
<!-- CHANGE THE "FedoraVersion" TEMPLATES ABOVE TO PLAIN NUMBERS WHEN YOU COMPLETE YOUR PAGE. -->
 
<!-- CHANGE THE "FedoraVersion" TEMPLATES ABOVE TO PLAIN NUMBERS WHEN YOU COMPLETE YOUR PAGE. -->
 +
 
== 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. -->
Line 49: Line 49:
 
You can test it in Fedora 18 with "yum-config-manager --save --setopt=group_command=objects" ... or even just passing --setopt=group_command=objects to yum for every command.
 
You can test it in Fedora 18 with "yum-config-manager --save --setopt=group_command=objects" ... or even just passing --setopt=group_command=objects to yum for every command.
  
To test with a rough automatic conversion from what yum thinks is happening now you can run: "yum groups --setopt=group_command=objects mark-packages-sync"
+
To test with a rough automatic conversion from what yum thinks is happening now you can run: "yum groups --setopt=group_command=objects mark-convert"
  
 
== User Experience ==
 
== User Experience ==
Line 81: Line 81:
 
* See [[Talk:Features/YumGroupsAsObjects]]  <!-- This adds a link to the "discussion" tab associated with your page.  This provides the ability to have ongoing comments or conversation without bogging down the main feature page -->
 
* See [[Talk:Features/YumGroupsAsObjects]]  <!-- This adds a link to the "discussion" tab associated with your page.  This provides the ability to have ongoing comments or conversation without bogging down the main feature page -->
  
[[Category:FeatureAnnounced]]
+
[[Category:FeatureAcceptedF19]]
 
<!-- When your feature page is completed and ready for review -->
 
<!-- When your feature page is completed and ready for review -->
 
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
 
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
 
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
 
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
 
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->
 
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

Latest revision as of 19:13, 7 May 2013

Contents

[edit] Yum Groups as Objects

[edit] Summary

Change the default yum configuration from group_command=compat to group_command=objects.

[edit] Owner

  • Email: james@fedoraproject.org

[edit] Current status

  • Targeted release: Fedora 19
  • Last updated: 2013-05-07
  • Percentage of completion: 100%


[edit] Detailed Description

Currently yum groups work as a simple substitution, so "yum group remove foo" works as though you took every package from foo and passed it to "yum remove". This tends to not be what users expect, for example "yum group install kde-desktop" and then "yum group remove kde-desktop" will end up removing packages (like abrt-desktop). This feature changes that so that groups are installed as real objects, meaning that when a user does "yum group install foo" yum will mark that the packages from foo are being installed (as before) but also that a group called foo is being installed and that those packages are installed because of it. Later if the group is removed, yum will remove the group and only those packages that were installed because of the group install/upgrade commands.

[edit] Benefit to Fedora

Users will be able to run "yum group install foo" and "yum group remove foo" and it will do what they expect much more often (no extra packages will be removed).

[edit] Scope

The only work that needs to be done is changing the configuration, all the code behind the feature is in F18.

[edit] How To Test

You can test it in Fedora 18 with "yum-config-manager --save --setopt=group_command=objects" ... or even just passing --setopt=group_command=objects to yum for every command.

To test with a rough automatic conversion from what yum thinks is happening now you can run: "yum groups --setopt=group_command=objects mark-convert"

[edit] User Experience

The main changes will be to anyone running "yum group install/remove", and that the output to "yum group list/info" will be dependant on the state stored.

However "yum upgrade" will now upgrade the installed groups. This means that if you "yum group install foo" and later a new package is added to the foo group "yum upgrade" will install the new package and mark it as being part of the foo group (and thus. a subsequent "yum group remove foo" will remove it).

[edit] Dependencies

I'm not aware of any significant testing on any layers using yum, so:

  • anaconda
  • yumex
  • gnome-packagekit

[edit] Contingency Plan

We can change the configuration default back to compat.

[edit] Documentation

[edit] Release Notes

  • Installing groups with yum or anaconda (etc.) will now store information and use that information later for group remove/list/info commands. Also "yum upgrade" will automatically install any new packages for an installed group, as they are added to the group.

[edit] Comments and Discussion