From 1a35ed4f5d6ae398fc2ca5481871a09b085ed457 Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Tue, 7 Feb 2012 15:01:43 +0000 Subject: 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] (From OE-Core rev: 06b740d4ca077fb4c89ee6d1065fabb02da45ec6) Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- meta/classes/buildhistory.bbclass | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'meta/classes/buildhistory.bbclass') diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass index 3964247445..1b6b2493e4 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 -- cgit v1.2.3-54-g00ecf