Based on http://rpm.org/gitweb?p=rpm.git;a=commitdiff;h=cf1095648194104a81a58abead05974a5bfa3b9a ==================== --- a/lib/rpmfi.c 2013-02-04 10:29:59.342666296 +0100 +++ b/lib/rpmfi.c 2013-02-04 10:32:26.192721679 +0100 @@ -542,19 +542,13 @@ int rpmfiCompareIndex(rpmfi afi, int aix, rpmfi bfi, int bix) { - mode_t amode = rpmfiFModeIndex(afi, aix); - mode_t bmode = rpmfiFModeIndex(bfi, bix); - rpmFileTypes awhat = rpmfiWhatis(amode); + rpmFileTypes awhat = rpmfiWhatis(rpmfiFModeIndex(afi, aix)); + rpmFileTypes bwhat = rpmfiWhatis(rpmfiFModeIndex(bfi, bix)); if ((rpmfiFFlagsIndex(afi, aix) & RPMFILE_GHOST) || (rpmfiFFlagsIndex(bfi, bix) & RPMFILE_GHOST)) return 0; - if (amode != bmode) return 1; - - if (!rstreq(rpmfiFUserIndex(afi, aix), rpmfiFUserIndex(bfi, bix))) - return 1; - if (!rstreq(rpmfiFGroupIndex(afi, aix), rpmfiFGroupIndex(bfi, bix))) - return 1; + if (awhat != bwhat) return 1; if (awhat == LINK) { const char * alink = rpmfiFLinkIndex(afi, aix);