summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2012-02-07 15:01:43 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-02-08 10:43:01 +0000
commit06b740d4ca077fb4c89ee6d1065fabb02da45ec6 (patch)
tree09d60048a278e5cbc4a0a83499ab9b6224fb059f
parent791ad7a522f6800114febd1605072202c1450356 (diff)
downloadopenembedded-core-06b740d4ca077fb4c89ee6d1065fabb02da45ec6.tar.gz
openembedded-core-06b740d4ca077fb4c89ee6d1065fabb02da45ec6.tar.bz2
openembedded-core-06b740d4ca077fb4c89ee6d1065fabb02da45ec6.tar.xz
openembedded-core-06b740d4ca077fb4c89ee6d1065fabb02da45ec6.zip
classes/buildhistory: sort list fields in package info
Sort DEPENDS, RDEPENDS, and RRECOMMENDS in package info files so that any changes in order (which are not important) are smoothed out in the change history. Fixes [YOCTO #1961] Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-rw-r--r--meta/classes/buildhistory.bbclass17
1 files changed, 14 insertions, 3 deletions
diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass
index 396424744..1b6b2493e 100644
--- a/meta/classes/buildhistory.bbclass
+++ b/meta/classes/buildhistory.bbclass
@@ -126,6 +126,17 @@ python buildhistory_emit_pkghistory() {
def squashspaces(string):
return re.sub("\s+", " ", string)
+ def sortpkglist(string):
+ pkgiter = re.finditer(r'[a-zA-Z0-9.-]+( \([><=]+ [^ )]+\))?', string, 0)
+ pkglist = [p.group(0) for p in pkgiter]
+ pkglist.sort()
+ return ' '.join(pkglist)
+
+ def sortlist(string):
+ items = string.split(' ')
+ items.sort()
+ return ' '.join(items)
+
pn = d.getVar('PN', True)
pe = d.getVar('PE', True) or "0"
pv = d.getVar('PV', True)
@@ -136,7 +147,7 @@ python buildhistory_emit_pkghistory() {
rcpinfo.pe = pe
rcpinfo.pv = pv
rcpinfo.pr = pr
- rcpinfo.depends = squashspaces(d.getVar('DEPENDS', True) or "")
+ rcpinfo.depends = sortlist(squashspaces(d.getVar('DEPENDS', True) or ""))
rcpinfo.packages = packages
write_recipehistory(rcpinfo, d)
write_latestlink(None, pe, pv, pr, d)
@@ -164,8 +175,8 @@ python buildhistory_emit_pkghistory() {
pkginfo.pe = pe
pkginfo.pv = pv
pkginfo.pr = pr
- pkginfo.rdepends = squashspaces(getpkgvar(pkg, 'RDEPENDS') or "")
- pkginfo.rrecommends = squashspaces(getpkgvar(pkg, 'RRECOMMENDS') or "")
+ pkginfo.rdepends = sortpkglist(squashspaces(getpkgvar(pkg, 'RDEPENDS') or ""))
+ pkginfo.rrecommends = sortpkglist(squashspaces(getpkgvar(pkg, 'RRECOMMENDS') or ""))
pkginfo.files = squashspaces(getpkgvar(pkg, 'FILES') or "")
# Gather information about packaged files