hash changed for external rpm

Mike Bonnet mikeb at redhat.com
Tue Mar 23 22:41:17 UTC 2010


On 03/23/2010 06:33 PM, Connie Sieh wrote:
> On Tue, 23 Mar 2010, Mike Bonnet wrote:
> 
>> On 03/23/2010 05:39 PM, Connie Sieh wrote:
>>> On Tue, 23 Mar 2010, Mike Bonnet wrote:
>>>
>>>> On 03/23/2010 04:41 PM, Connie Sieh wrote:
>>>>> I recently installed koji and had successfully built rpms from src.rpm's
>>>>> for Fedora 12 and Scientific Linux(RHEL 5 rebuild).
>>>>>
>>>>> I then started getting "hash changed for external rpm" errors while trying
>>>>> to build a different src.rpm for the Scientific Linux repository.
>>>>>
>>>>> -----------------------------------------------------------------------
>>>>> 5329 build (dist-sl5, bash-3.2-24.el5.src.rpm): open (sl6) -> FAILED:
>>>>> GenericError: hash changed for external rpm:
>>>>> termcap-5.5-1.20060701.1.noarch at dist-sl5-external-repo-base
>>>>> (dbb20448cc979898c065cc4e551a926c -> 586d659bf4699215a13ba57a4422bb34)
>>>>> -------------------------------------------------------------------------
>>>>>
>>>>> [root@]# rpm -qp --queryformat "%{name}\t%{sigmd5}\n" termcap-5.5-1.20060701.1.noarch.rpm
>>>>> termcap dbb20448cc979898c065cc4e551a926c
>>>>>
>>>>> ----------------------------------------------------------------------------
>>>>> I do not understand where the "586d659bf4699215a13ba57a4422bb34" hash is
>>>>> coming from.  How do I fix this?
>>>>
>>>> dbb204 is the hash of the rpm previously recorded in the database, and
>>>> 586d65 is the hash of the rpm used for this build.  I would check the
>>>> pkgorigins file in the latest repo directory to see where the termcap
>>>> rpm is coming from, and check the sigmd5 of that rpm.
>>>
>>> According to the pkgorgins file the termcap rpm is coming from my external
>>> repository.  The above queryformat was from that version of termcap.
>>
>> I'm not sure where that's coming from either then.  The error message is
>> saying that there is a termcap-5.5-1.20060701.1.noarch.rpm that's
>> getting into your buildroot somehow with a sigmd5 of 586d65.
>>
>> You might want to check the rpminfo table and see if you can find
>> where/when termcap-5.5-1.20060701.1.noarch was added to the database.
>> --
>>
> So I looked in the database rpminfo table for termcap and did see the 
> dbb204 hash.  I changed it to the 586d65 hash just to see if it would now 
> match. I reran the build.  Now it gets the "rpm" hash right but the 
> database is wrong.  How do I resync the repodata from my external 
> repository?  I have done way too many regen-repo in an attempt to fix 
> this.

The easiest way to fix this is probably to remove the current external
repo from your tag hierarchy and add a new external repo with a
different name.  Each external repo has its own namespace for packages.


More information about the buildsys mailing list