summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2018-07-11 16:08:08 +0200
committerPaul Eggleton <paul.eggleton@linux.intel.com>2018-07-11 16:54:17 +0200
commit42c948694c528f287e4edbb3f3a062a41540aafd (patch)
tree45fc4dcc635a5327d628205d0eb123e0199f9165
parent69f22f2384c53f5cef4cafb5b66f8d25c42247e9 (diff)
downloadopenembedded-core-contrib-paule/buildhistory-fixes2.tar.gz
openembedded-core-contrib-paule/buildhistory-fixes2.tar.bz2
openembedded-core-contrib-paule/buildhistory-fixes2.zip
classes/buildhistory: properly process escaped chars from pkgdatapaule/buildhistory-fixes2
All values written out to pkgdata are escaped (see write_if_exists() in package.bbclass). In practice there tend not to be characters that need escaping except in the scriptlets (pkg_preinst, pkg_postinst, pkg_prerm and pkg_postrm) where currently we still see the escape codes in the corresponding files within buildhistory (e.g. \n and \t) and thus also in the output of buildhistory-diff, hindering proper diffing of changes. To fix this, when we read values from pkgdata and write them out to buildhistory, we need to interpret the escape codes by doing the exact reverse of what we do in package.bbclass. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-rw-r--r--meta/classes/buildhistory.bbclass2
1 files changed, 1 insertions, 1 deletions
diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass
index 2e5213e66e..40b292b139 100644
--- a/meta/classes/buildhistory.bbclass
+++ b/meta/classes/buildhistory.bbclass
@@ -245,7 +245,7 @@ python buildhistory_emit_pkghistory() {
key = item[0]
if key.endswith('_' + pkg):
key = key[:-len(pkg)-1]
- pkgdata[key] = item[1]
+ pkgdata[key] = item[1].encode('latin-1').decode('unicode_escape')
pkge = pkgdata.get('PKGE', '0')
pkgv = pkgdata['PKGV']