Fixed
Created: Aug 21, 2018
Updated: Aug 6, 2019
Resolved Date: Aug 6, 2019
Found In Version: 6.0.0.17
Fix Version: 6.0.0.38
Severity: Standard
Applicable for: Wind River Linux 6
Component/s: Build & Config
Performing a number if identical builds and comparing the results of the installed packages reveals a number of variations in the results.
The actual RPM files built are identical, so the issue seems to be with the install stage.
Create 5 identical projects. No sstate or ccache are used so the results should be identical:
$ cd /path/to/work/area
$ mkdir prj01 && cd prj01
$ configure --enable-board=intel-x86-64 \
--enable-kernel=standard --enable-rootfs=glibc_std+installer-support \
--with-template=feature/target-toolchain,feature/lttng2,feature/wrsv-ltt,feature/nfsd,feature/build_libc,feature/debug-wb,feature/kexec,feature/kdump \
--enable-checkout-all-layers=yes --enable-bootimage=ext3 \
--enable-reconfig --enable-doc-pages=target --enable-prelink=no \
--enable-rm-oldimgs=yes --with-layer=meta-selinux,wr-security \
--enable-jobs=8 --enable-parallel-pkgbuilds=8 --with-rcpl-version=0017
$ vi local.conf
>>> Add the following <<<
IMAGE_INSTALL_append += "lib32-binutils"
IMAGE_INSTALL_append += "lib32-libffi"
IMAGE_INSTALL_append += "lib32-zlib"
LICENSE_CREATE_PACKAGE = "1"
$ make fs
$ cd ..
Repeat for prj02 ... prj05
Compare the list of RPM files built to ensure they are identical:
$ find prj01/export/RPMS/ -name '*rpm' | awk -F\/ '{ print $5 }' | sort > prj01-built-rpms.txt
repeat for prj02 .. prj05
$ diff prj01-built-rpms.txt prj02-built-rpms
$ diff prj01-built-rpms.txt prj03-built-rpms
repeat for prj04 & prj05 and you should see no differences, all project uilt the identical set of RPMs.
Now compare what was actually installed in the target rootfs.
$ rpm --root=/$PWD/prj01/export/dist --dbpath=/var/lib/rpm -qa | sort > prj01-installed-rpms.txt
* Note, the customer uses the host-cross verion of the rpm command as follows:
host-cross/usr/bin/rpm --dbpath export/dist/var/lib/rpm/ -qa --queryformat "[%{NAME}_%{RELEASE}_%{VERSION}_%{ARCH}]\n" | sort > <file as backup for comparison>
Repeat above for prj02 .. prj05 then diff
$ diff prj01-installed-rpms.txt prj02-installed-rpms.txt
$ diff prj01-installed-rpms.txt prj03-installed-rpms.txt
repeat for prj04 .. prj05 and you should see differences in each case.
This is unexpected, the installed list of rpms should be identical in every case.