Fixed
Created: Jun 17, 2015
Updated: Dec 3, 2018
Resolved Date: Jul 5, 2015
Found In Version: 6.0.0.17
Fix Version: 6.0.0.23
Severity: Standard
Applicable for: Wind River Linux 6
Component/s: Build & Config
Attempting to verify rpm package contents on a target always report failures for size and checksum.
1. Configure project
$ configure --enable-board=intel-x86-64 \
--enable-rootfs=glibc_std --enable-kernel=preempt_rt \
--with-rcpl-version=0017
2. Enable build of prelink for target
Edit:
layers/binary-toolchain-4.8-42/meta-sourcery/conf/distro/include/external-sourcery-blacklist.inc
Comment out (with #):
PNBLACKLIST[prelink] = "${META_SOURCERY_BLACKLIST_MESSAGE}"
3. Add prelink to target package list
Edit:
layers/local/recipes-img/images/wrlinux-image-glibc-std.bb
Add:
IMAGE_INSTALL += "prelink"
Note:
Package must be added this way, "make -C build prelink.addpkg" will not work.
4. Build
$ make fs
5. Deploy & Boot
$ make start-target
6. Disable HKP and enable Prelink in RPM
Edit:
/usr/lib64/rpm/macros
Comment out:
#%_hkp_keyserver hkp://pool.sks-keyservers.net
#%_hkp_keyserver_query %{_hkp_keyserver}/pks/lookup?op=get&search=
Uncomment:
%__prelink_undo_cmd /usr/sbin/prelink prelink -y library
7. Test
# rpm -Vf -v /bin/bash
........ /bin
........ /bin/bash
........ /usr
........ /usr/bin
........ /usr/bin/bashbug
Note:
Sometimes on the first run some tests may not execute (indicated by '?'), or
fail, but subsequent runs should work fine.
Reproduces under qemu.
$ configure --enable-board=intel-x86-64 \
--enable-rootfs=glibc_std --enable-kernel=preempt_rt \
--enable-jobs=1 --enable-parallel-pkgbuilds=4 \
--enable-rm-work=yes --enable-rm-oldimgs=yes \
--enable-reconfig --with-sstate-dir=/path/to/sstate \
--with-rcpl-version=0017
$ make fs
$ make start-target
Log in as root.
# rpm -Vf /bin/bash
S.5..... /bin/bash
# rpm -Vf /bin/ls
S.5..... /bin/cat.coreutils
S.5..... /bin/chgrp.coreutils
S.5..... /bin/chmod.coreutils
S.5..... /bin/chown.coreutils
S.5..... /bin/cp.coreutils
...
Same result for any package/file.
From the man page, S=size check failed, 5=checksum failed.