Commit Graph

11 Commits

Author SHA1 Message Date
Joe Slater 602e96e2b6 build-compare: add date to PV
We want PV values to be easily ordered, so
use the latest entry in build-compare.changes which
will also match the date of SRCREV.

(From OE-Core rev: c796cd4ac39e704e0795385c9b4ec9a2d73459b5)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:05 +00:00
Ming Liu 3570501025 meta: do not append to BBCLASSEXTEND
Replace some "+=/=+" with "=" when setting BBCLASSEXTEND, they are
redundant and inconsistent with the same setting in other recipes.

(From OE-Core rev: 09266d6c91acd8ba4df6e8242aa44d9ba41e9cee)

Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-10 14:50:11 +00:00
Joe Slater 83ec24789f build-compare: derive PV from SRCPV
Currently, PV is "git" and contains no version information.

(From OE-Core rev: e1fe3f8a601ba289a2e9963ef3f1309e431704eb)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:22 +00:00
Robert Yang 9621959a3a build-compare: improve deb and ipk checking
* The deb and ipk's depends version string is like:
  Depends: libc6 (>= 2.24)
  Update trim_release_old and trim_release_new to match the bracket in
  the end ")".

* The deb's data tarball now is .tar.xz, and ipk's is .tar.gz.

* Update adjust_controlfile() to make ituse trim_release_old and
  trim_release_new.

(From OE-Core rev: c92152e521a9f96a741eccd4a4bf5ddfbd59a7ae)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-26 08:56:28 +01:00
Robert Yang ad6aae3106 build-compare: fix checking for named pipe and others
* Fixed checking for named pipe
* Return at once when archives are the same
* Fix for type "directory"

(From OE-Core rev: e3245747342860da44fcbb49ac68b8b33e5b43a3)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-26 08:56:28 +01:00
Robert Yang fef5ae147e build-compare: make pkg-diff.sh 75% faster
The rpm tool is a heavy process, pkg-diff.sh ran 16 (or 17 for kernel)
"rpm -qp" times when the pkgs are identical, now we only run
"rpm -qp --qf <all we need>" twice (one is for old pkg, and one is for
new), save the results to spec_old and spec_new, then use sed command to
get what we need later, this can make it 75% faster when the pkgs are
identical. Here is the rough data on my host Ubuntu 14.04.4, 32 cores
CPU and 128G mem:
* When the pkgs are identical:
  - Before the patch: 1s
  - After the patch: 0.26s
  I compare the whole spec firstly, and return 0 if they are the same,
  or go on checking one by one if not, without this, it would be 0.46s,
  the gain is great when there are lot of packages, usually, we have
  more than 10,000 rpms to compare.

* When the pkgs are different:
  That depends on where is the different, if the different is at the
  comparing rpmtags stage:
  - Before the patch: 0.26s
  - After the patch: 0.29s
  Increased 0.03s, but if the different is happend later than comparing
  rpmtags, it will save time.

(From OE-Core rev: 71eee4adbcda1d9e75cbce58045d03ea12432431)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-26 08:56:28 +01:00
Robert Yang 495e2f80a9 build-compare: remove space at head
The command like:
rpm -qp --nodigest --nosignature --qf '<foo> [%{REQUIRENAME}\n]\n'
                                            ^^space

The space will be printed, and will impact the check result, so remove it.

(From OE-Core rev: 79c574979f64f2dbe8ca05774446de21a53b3a87)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-26 08:56:28 +01:00
Paul Eggleton 37704616c6 build-compare: drop PATCHTOOL setting
We don't need PATCHTOOL to be set to git in this recipe, and setting it
that way requires that the running user has git user & email configured,
which on a build server it might well not be.

(From OE-Core rev: ae8dcdc3c8e090fe392de86dc59135a38f06e9ca)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-10-19 17:57:57 +01:00
Paul Eggleton 29e94f671b build-compare: add support for examining deb and ipk packages
This is just rudimentary support at the moment as we'd potentially want
to compare the control files a bit more specifically than this does, but
it's a start.

(From OE-Core rev: 60564c6d6b8c1a3813baa04fb0d5597cf63f2a9f)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-12 22:48:45 +01:00
Robert Yang 1f6e644859 build-compare: update Rename-rpm-check.sh-to-pkg-diff.sh.patch
The patch can't be applied by "git am -3" with newer version of git
(such as 2.0.1), and can't be applied by "git am/apply" with any
version, now fix it

(From OE-Core rev: 14990de8c7481c3aaf77174a7541d5bfb9a7411d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:36 +00:00
Randy Witt c0a79410b9 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>
2015-02-15 21:58:28 +00:00