rhinstaller / fedup

Deprecated Fedora Upgrade tool
GNU General Public License v2.0
23 stars 13 forks source link

Are Obsoletes handled correctly? #10

Closed wgwoods closed 10 years ago

wgwoods commented 11 years ago

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:

wgwoods commented 11 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.

wgwoods commented 10 years ago

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?

wgwoods commented 10 years ago

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.