Wind River Support Network


LIN6-6637 : rpm unable to extract some info on non-x86 targets

Created: Jan 9, 2014    Updated: Dec 3, 2018
Resolved Date: Feb 17, 2014
Previous ID: LIN4-20864
Found In Version: 6.0
Fix Version:
Severity: Severe
Applicable for: Wind River Linux 6
Component/s: Userspace


We have been looking for a way to more accurately verify the versions of files being installed on targets. It turns out that the LDAT source checksum is embedded in the rpm files and this can be extracted easily on the host and x86 targets. However, this fails on other architectures (PowerPC and MIPS tested here).

On the host you can enter something like this:

  $ ./host-cross/bin/rpm -qp export/RPMS/<arch>/<rpm file> \

and get the full source checksum like this:


Steps to Reproduce

Take any standard 4.x target (I used 4.3 RCPL 1), you only need to specify board, rootfs and kernel to the configure line so something like this works:

  $ configure \
        --enable-board=wrs_sbc8548 \
        --enable-rootfs=glibc_std \

My tests were done with the exact config above, plus common_pc and qemu_mips32 targets. Once built, boot the target and run the following command:

  # rpm -q $(rpm -qa|grep 'bash-') --queryformat="%{Ldatoverallsumsrc}\n" any-of-a-rpm-package-of-4.3-project

On the common_pc target you will see the checksum displayed as per the host example, something like this:


But run the same command on a non-x86 target and you get:


The behavior of rpm should be the same no matter the target.

Other Downloads

Live chat