On 12/24/2016 11:12 AM, David Muse wrote:
> On 12/24/2016 3:49 AM, Michael Schwendt wrote:
>> On Sat, 24 Dec 2016 03:32:41 -0500, David Muse wrote:
>>
>>> Hello,
>>>
>>> I recently started getting errors like:
>>>
>>> 17046740 build (f26, rudiments-1.0.1-1.fc24.src.rpm): open
>>> (
arm04-builder06.arm.fedoraproject.org) -> FAILED: BuildError: The
>>> following noarch package built differently on different architectures:
>>> rudiments-doc-1.0.1-1.fc26.noarch.rpm
>>> rpmdiff output was:
>>> error: cannot open Packages index using db5 - Permission denied (13)
>>> error: cannot open Packages database in /var/lib/rpm
>>> error: cannot open Packages database in /var/lib/rpm
>>>
>>> ...when doing koji builds. Eg:
>>>
>>> koji build --scratch f26 rudiments-1.0.1-1.fc24.src.rpm
>>>
>>> It's odd because the rpm in question is just docs. Nothing is built
>>> per-se, some static files are just installed. I'd expect it to be the
>>> same on all platforms.
>>>
>>> It seems that it always fails when building for arm. I don't have an
>>> arm platform available to test on though. Is there any way to get more
>>> information about what's different about the rpm on the different
>>> platforms?
>>
>> You can submit a separate scratch build for each target arch, then
>> download the built rpms and compare them all.
>>
>> rudiments does something to generate its HTML documentation. It doesn't
>> use Doxygen, but whatever it does to the files may lead to different
>> results
>> depending on what arch the build machine is.
>
> I tried building for i686 and x86_64 and the noarch RPM did in fact turn
> out different for each platform:
>
> $ md5sum */*
> ed58927ce25fa51e3f5e16d81cc195fa
> i686/rudiments-doc-1.0.1-1.fc26.noarch.rpm
> 0789684c36ddcaadc4ee5216cfe7037e
> x86_64/rudiments-doc-1.0.1-1.fc26.noarch.rpm
>
> I tried installing them into separate roots using rpm --root and then
> removing the var directories that rpm creates for its database. After
> that, a diff -urN of the roots showed no differences. So, the files
> that are installed by both RPMs appear to be identical.
>
> However, a vbindiff of the two rpms shows plenty of differences. At
> first there are really sparse, like maybe individual numbers are
> different, but then there are some notable differences include the name
> of the build machine, and what appear to be build options like: -O2 -g
> -pipe ... -m64 -mtune=generic.cpio.xz.2.x86_64-redhat-linux-gnu, and
> then the compressed data is all very different.
>
> I would expect the name of the build machine and build options to be
> very different between systems of different architectures. And I'd
> think that the different strings would throw off the compressed data
> further on in the file.
>
> Am I doing something wrong that causes this info to be included in the
> noarch RPM?
>
> I tried fiddling with some parameters in my spec file. Eg. I don't have
> any patches to apply, so I removed the -p1 from the %autosetup, and I
> removed the Requires from the doc package, but those changes didn't make
> any difference.
>
> Is that info supposed to be included, and maybe there's just a bug in
> the code that compares noarch rpms? Or something else? Can I safely
> ignore the error?
Oh, I just realized that there's an rpmdiff tool. Well, I tried that,
and the only difference it shows is the timestamp for each file, which I
would expect to be different. An rpmdiff -iT of the two noarch rpms
returns nothing.
Strange.
Ha! Today the build succeeds with no errors. I guess something was
wrong with koji.