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@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.