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:
committed by
Richard Purdie
parent
c0a1f43aad
commit
c0a79410b9
@@ -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
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user