Bug 9208 - createrepo fails to correctly update the repodata, image generation then fails
Summary: createrepo fails to correctly update the repodata, image generation then fails
Status: RESOLVED WONTFIX
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: deployment (show other bugs)
Version: 2.1
Hardware: x86 Multiple
: Medium normal
Target Milestone: Future
Assignee: Unassigned
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2016-03-03 17:02 UTC by Richard Purdie
Modified: 2017-06-20 11:02 UTC (History)
1 user (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Richard Purdie 2016-03-03 17:02:55 UTC
https://autobuilder.yoctoproject.org/main/builders/nightly-x86-64/builds/694/steps/BuildImages_1/logs/stdio

Multiple images failed with errors like:

  xf86-video-intel-dev                                                          
  error: Failed to download packages:
error:     /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-x86-64/build/build/tmp/deploy/rpm/core2_64/xinit-dev-1.3.4-r0.core2_64.rpm: Invalid SHA (expected 6070ebb96a5469886907361e2f03ffb4f42abf8f, got 3507e75977c85ca9f6c69fa95c6511a04ed1aa22)
xf86-video-vesa-dev                                                           
  xf86dgaproto-dev                                                              
  xf86driproto-dev         

$ cat tmp/work/core2-64-poky-linux/xinit/1_1.3.4-r0/temp/log.task_order

do_populate_lic_setscene (27770): log.do_populate_lic_setscene.27770
do_fetch (26129): log.do_fetch.26129
do_unpack (27109): log.do_unpack.27109
do_patch (27833): log.do_patch.27833
do_configure (29579): log.do_configure.29579
do_compile (4379): log.do_compile.4379
do_install (6766): log.do_install.6766
do_package (10386): log.do_package.10386
do_packagedata (14581): log.do_packagedata.14581
do_package_write_rpm (8375): log.do_package_write_rpm.8375
do_package_write_ipk (14249): log.do_package_write_ipk.14249
do_package_write_deb (14303): log.do_package_write_deb.14303
do_package_qa (3611): log.do_package_qa.3611
do_populate_sysroot (3695): log.do_populate_sysroot.3695
do_populate_sysroot_setscene (11305): log.do_populate_sysroot_setscene.11305
do_package_qa_setscene (11467): log.do_package_qa_setscene.11467
do_package_write_rpm_setscene (11779): log.do_package_write_rpm_setscene.11779
do_package_write_deb_setscene (13235): log.do_package_write_deb_setscene.13235
do_package_write_ipk_setscene (13793): log.do_package_write_ipk_setscene.13793
do_packagedata_setscene (17843): log.do_packagedata_setscene.17843

What happened here was that MACHINE=qemux86-64 bitbake <image> then MACHINE=genericx86-64 bitbake <image> which meant construction of a new sysroot and hence new packages were extracted.

The xinit-dev package in tmp/deploy/rpm/core2_64 does have the checksum "3507e75977c85ca9f6c69fa95c6511a04ed1aa22" which is the checksum of the package that was installed in do_package_write_rpm_setscene. This is most likely from a different sstate artefact that the original do_package_write_rpm generated.

I instrumented /tmp/sysroots/x86_64-linux/usr/share/createrepo/readMetadata.py and the filesize and mtime of the package in the deploy directory match those listed in repodata, hence its not updating its cache.

It seems unlikely this package would be generated at *exactly* the same second on two different ABs, resulting in two sstate artefacts with the same size and mtime but different checksums. Right now this is the only way I could explain this error though.

createrepo would o
Comment 1 Richard Purdie 2017-06-20 11:02:36 UTC
We've switched to rpm4 now and this was with a different version of createrepo so its not longer valid.