Closed wgwoods closed 10 years ago
At the end of the upgrade, the transaction state count is something like:
{'e': 2, 'd': 0, 'i': 60, 'od': 8, 'o': 7, 'r': 0, 'u': 1210, 'ud': 1227}
The interesting parts in this example are:
So fedup knows it's supposed to remove stuff, at least.
As far as I can tell, RPM should automatically add 'erase' entries for packages based on Obsoletes:
int rpmtsAddInstallElement(rpmts ts, Header h,
fnpyKey key, int upgrade, rpmRelocation * relocs)
{
...
if (upgrade) {
addUpgradeErasures(ts, tscolor, p, rpmteColor(p), h);
addObsoleteErasures(ts, tscolor, p);
}
So I shouldn't need to do anything special to make that work. Maybe it's already working as expected, but the headers were wrong?
Confirmed - packages that are properly Obsoleted (e.g. systemd-sysv in F20) are removed during the upgrade.
Whatever happened in that bug report, it's not fedup's fault.
See: https://bugzilla.redhat.com/show_bug.cgi?id=984305
It appears that fedup (and/or fedup-dracut) may not be handling obsoletes properly. Need to:
fedup.log
to see if fedup is downloading the right thingsupgrade.log
to see if the obsoletes are getting handled as expected