1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-08 05:09:24 +00:00

build-compare: Add the build-compare_git.bb recipe.

The description for build-compare describes it as "This package contains
scripts to find out if the build result differs to a former build." More
specifically this contains a script that will display differences between
"packages." It works with rpms, tarballs and other various types of
packages.

The idea is that it will eventually be used in Yocto to check for differences
between sstate so that we can check for build reproducibility. It will
also be used once an updateable sdk is in place, so that packages that
have different hashes but are not different in contents, don't get updated.
It could also be used in the same manner when updating packages from a
package feed.

[Yocto #6992]

(From OE-Core rev: 48387f0c0c4cccc8bc89afd121b7d8315475964a)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Randy Witt
2015-02-11 16:24:12 -08:00
committed by Richard Purdie
parent c0a1f43aad
commit c0a79410b9
3 changed files with 1663 additions and 0 deletions
@@ -0,0 +1,27 @@
SUMMARY = "Build Result Compare Script"
DESCRIPTION = "This package contains scripts to find out if the build result\
differs to a former build."
HOMEPAGE = "https://github.com/openSUSE/build-compare"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
SRC_URI = "git://github.com/openSUSE/build-compare.git"
SRC_URI += "file://Rename-rpm-check.sh-to-pkg-diff.sh.patch;striplevel=1"
SRC_URI += "file://Ignore-DWARF-sections.patch;striplevel=1"
PATCHTOOL = "git"
SRCREV = "c5352c054c6ef15735da31b76d6d88620f4aff0a"
S = "${WORKDIR}/git"
BBCLASSEXTEND += "native nativesdk"
do_install() {
install -d ${D}/${bindir}
install -m 755 functions.sh ${D}/${bindir}
install -m 755 pkg-diff.sh ${D}/${bindir}
install -m 755 same-build-result.sh ${D}/${bindir}
install -m 755 srpm-check.sh ${D}/${bindir}
}
RDEPENDS_${PN} += "bash"
@@ -0,0 +1,40 @@
From 015715694eadd714b903f30ade876e0738d44974 Mon Sep 17 00:00:00 2001
From: Randy Witt <randy.e.witt@linux.intel.com>
Date: Mon, 5 Jan 2015 15:09:20 -0800
Subject: [PATCH] Ignore DWARF sections.
Assume for now that we don't care about the DWARF sections due to path
differences. However, in the case the tool is ran on a "debug" package
it will most likely falsely say the packages have no differences.
Upstream-Status: Inappropriate [other]
The package difference tool is correctly labelling the packages as different
when the DWARF sections don't match due to paths. The paths in the debug info
should actually be made to be the same using compile flags or some other
mechanism.
However, to make the tool more useful to Yocto until the work can be done
to ensure identical paths in debug sections, this patch is being applied.
Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
---
pkg-diff.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pkg-diff.sh b/pkg-diff.sh
index 56035c1..0f1fa76 100755
--- a/pkg-diff.sh
+++ b/pkg-diff.sh
@@ -658,7 +658,7 @@ check_single_file()
echo "" >$file1
echo "" >$file2
# Don't compare .build-id and .gnu_debuglink sections
- sections="$(objdump -s new/$file | grep "Contents of section .*:" | sed -r "s,.* (.*):,\1,g" | grep -v -e "\.build-id" -e "\.gnu_debuglink" | tr "\n" " ")"
+ sections="$(objdump -s new/$file | grep "Contents of section .*:" | sed -r "s,.* (.*):,\1,g" | grep -v -e "\.build-id" -e "\.gnu_debuglink" -e "\.debug_abbrev" -e "\.debug_aranges" -e "\.debug_frame" -e "\.debug_info" -e "\.debug_line" -e "\.debug_loc" -e "\.debug_macinfo" -e "\.debug_pubnames" -e "\.debug_pubtypes" -e "\.debug_ranges" -e "\.debug_str" | tr "\n" " ")"
for section in $sections; do
objdump -s -j $section old/$file | sed "s,^old/,," > $file1
objdump -s -j $section new/$file | sed "s,^new/,," > $file2
--
1.9.3