Description of problem:
When I upgrade Fedora, I don't get to find out about great new packages that are now available.
For example, I've just (pre)upgraded to F13 from F12, but I don't find out that there is a great new photo managing program, shotwell.
Okay, so a user can look in the release notes, but this is not going to show ALL the new packages, and furthermore requires the user to be proactive in expecting new packages. Even as an advanced user familiar with yum and rpm interested in finding a list of new packages, I am finding it rather difficult; messing around with scripts and 'yum groupinfo' commands to find the default packages.
Unlike bug 163299 where someone was requesting full package selection ability, I think it would suffice to just have a tickbox (defaulting to on) like "Install new default packages that were not included in your previous version of Fedora". Basically, any new default or mandatory packages for default package groups should be added to the upgrade in this case.
The idea is interesting, but impossible to implement in the installer. What you are asking for will require fundamental changes across the distribution, both software and packaging policies.
In your example, new software such as shotwell showing up is simply something we [Fedora] have to talk up to make people aware of. It is in the default install as of F-13, but the existing photo management programs are still there. It would be incorrect to declare shotwell as a replacement for any of the other photo management programs. All we can really do is provide the new one and tell people about it.
If you are running in to problems finding software for particular tasks, you can use PackageKit to search for software base on keyword. The Add/Remove Software choice under the System->Administration menu will bring up the PackageKit interface for this (it also shows installed software).
Alternatively, you can bring up a terminal window and do "yum search photo". A yum search operation searches for the string(s) you specific in the package name, summary, or description.
Thanks for the quick response.
I am having trouble understanding how this requires fundamental changes in the distribution and packaging policies.
As I understand it, the (pre)upgrade process is something like:
1) Get a list of all current packages both installed and available in the repositories
2) Make a list of packages which have available updates
3) Solve dependencies and resolve conflicts
4) Download and install/update packages
My suggestion is that at step 2) we use the comps.xml file from the installation media (online or on disc) to add any packages marked as default or mandatory in the default groups.
For example, if the comps.xml file has (this one is taken from F13):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE comps PUBLIC "-//Red Hat, Inc.//DTD Comps info//EN" "comps.dtd">
So, if a package is in a group with <default>true</default> and has type="default" or type="mandatory" (or is pulled in by a type="conditional"), then it will be added to the list of packages to "upgrade" (install) even if it is not currently installed.
If the user unticked the box which said "install any other default packages in the new release of Fedora", then this wouldn't be done.
Certainly no changes to packaging policies are required, and I do not see how this affects the rest of the distribution apart from small parts of anaconda or preupgrade. The necessary data is already all there in comps.xml, and it's just a matter of parsing some XML and adding a few extra packages to the update/install list (in the case of F12->F13 default installations, 26 packages).
Why is this worth worrying about? If Fedora includes some great new features or hardware support in new default packages but someone doing a (pre)upgrade never gets them, then Fedora will not look very good compared to say their friends' systems when that latest hardware can't work.
FWIW, here are the new default packages from F13 as compared with F12:
dbus, cifs-utils, gnupg2, PackageKit-yum-plugin, sssd, yum-presto, deja-dup, evince-nautilus, gnome-applets, gnome-color-manager, gnome-games, PackageKit-command-not-found, PackageKit-gtk-module, preupgrade, shotwell, simple-scan, pino, transmission-gtk, alsa-firmware, ar9170-firmware, iwl5150-firmware, ueagle-atm4-firmware, usb_modeswitch, ghostscript-cups, foomatic, paps