Ah, ignore me. Not reading the whole patchset can cause useless noise :) Alex
On Wed, 9 Feb 2022 at 09:34, Alexander Kanavin via lists.openembedded.org <alex.kanavin=gmail....@lists.openembedded.org> wrote: > > Please adjust the test in meta/lib/oeqa/selftest/cases/buildhistory.py > to cover this expanded use case as well. > > Alex > > On Wed, 9 Feb 2022 at 09:11, sana kazi <sanakazis...@gmail.com> wrote: > > > > Used BUILDHISTORY_EXPORT_RECIPE_VARIABLES and > > BUILDHISTORY_EXPORT_PACKAGE_VARIABLES to export recipe and package > > data to the latest file of buildhistory and sorted it alphabetically. > > > > This makes extending data in buildhistory git tree simple and avoids > > patches to it for users who care about things like SRC_URI and like > > to track it in buildhistory git tree. > > > > Now we can add additional information as per our requirement to the > > buildhistory like LICENSE, SRC_URI AND MAINTAINER to the buildhistory > > by appending them in a recipe or distro specific conf file as follows: > > > > BUILDHISTORY_EXPORT_RECIPE_VARIABLES += "MAINTAINER" > > BUILDHISTORY_EXPORT_PACKAGE_VARIABLES += "MAINTAINER" > > > > Signed-off-by: Sana Kazi <sana.k...@kpit.com> > > Signed-off-by: Sana Kazi <sanakazis...@gmail.com> > > --- > > meta-poky/conf/distro/poky.conf | 2 + > > meta/classes/buildhistory.bbclass | 106 +++++++++++++++++++----------- > > 2 files changed, 70 insertions(+), 38 deletions(-) > > > > diff --git a/meta-poky/conf/distro/poky.conf > > b/meta-poky/conf/distro/poky.conf > > index 2dc3606ae5..c382493dbc 100644 > > --- a/meta-poky/conf/distro/poky.conf > > +++ b/meta-poky/conf/distro/poky.conf > > @@ -72,3 +72,5 @@ INHERIT += "uninative" > > > > BB_SIGNATURE_HANDLER ?= "OEEquivHash" > > BB_HASHSERVE ??= "auto" > > +BUILDHISTORY_EXPORT_RECIPE_VARIABLES ?= "PR PV PE LAYER DEPENDS PACKAGES > > SRC_URI LICENSE CONFIG" > > +BUILDHISTORY_EXPORT_PACKAGE_VARIABLES ?= "PE PV PR PKG PKGE PKGV PKGR > > RPROVIDES RDEPENDS RRECOMMENDS RSUGGESTS RREPLACES RCONFLICTS PKGSIZE FILES > > FILELIST" > > diff --git a/meta/classes/buildhistory.bbclass > > b/meta/classes/buildhistory.bbclass > > index daa96f3b63..04837cafc4 100644 > > --- a/meta/classes/buildhistory.bbclass > > +++ b/meta/classes/buildhistory.bbclass > > @@ -264,12 +264,11 @@ python buildhistory_emit_pkghistory() { > > rcpinfo.pe = pe > > rcpinfo.pv = pv > > rcpinfo.pr = pr > > - rcpinfo.depends = sortlist(oe.utils.squashspaces(d.getVar('DEPENDS') > > or "")) > > rcpinfo.packages = packages > > rcpinfo.layer = layer > > - rcpinfo.license = license > > rcpinfo.config = > > sortlist(oe.utils.squashspaces(d.getVar('PACKAGECONFIG') or "")) > > - rcpinfo.src_uri = oe.utils.squashspaces(d.getVar('SRC_URI') or "") > > + export_recipe_variables = > > d.getVar('BUILDHISTORY_EXPORT_RECIPE_VARIABLES') or '' > > + rcpinfo.export_recipe_variables = export_recipe_variables > > write_recipehistory(rcpinfo, d) > > > > bb.build.exec_func("read_subpackage_metadata", d) > > @@ -323,6 +322,9 @@ python buildhistory_emit_pkghistory() { > > > > pkginfo.size = int(localdata.getVar('PKGSIZE') or '0') > > > > + export_package_variables = > > d.getVar('BUILDHISTORY_EXPORT_PACKAGE_VARIABLES') or '' > > + pkginfo.export_package_variables = export_package_variables > > + > > write_pkghistory(pkginfo, d) > > > > oe.qa.exit_if_errors(d) > > @@ -370,17 +372,22 @@ def write_recipehistory(rcpinfo, d): > > pkghistdir = d.getVar('BUILDHISTORY_DIR_PACKAGE') > > > > infofile = os.path.join(pkghistdir, "latest") > > + export_recipe_variables = set(rcpinfo.export_recipe_variables.split()) > > + ret = [] > > with open(infofile, "w") as f: > > - if rcpinfo.pe != "0": > > - f.write(u"PE = %s\n" % rcpinfo.pe) > > - f.write(u"PV = %s\n" % rcpinfo.pv) > > - f.write(u"PR = %s\n" % rcpinfo.pr) > > - f.write(u"DEPENDS = %s\n" % rcpinfo.depends) > > - f.write(u"PACKAGES = %s\n" % rcpinfo.packages) > > - f.write(u"LAYER = %s\n" % rcpinfo.layer) > > - f.write(u"LICENSE = %s\n" % rcpinfo.license) > > - f.write(u"CONFIG = %s\n" % rcpinfo.config) > > - f.write(u"SRC_URI = %s\n" % rcpinfo.src_uri) > > + for var in export_recipe_variables: > > + if var == "PE": > > + if rcpinfo.pe != "0": > > + ret.append("%s = %s" % (var, rcpinfo.pe)) > > + elif var == "LAYER": > > + ret.append("%s = %s" % (var, rcpinfo.layer)) > > + elif var == "CONFIG": > > + ret.append("%s = %s" % (var, rcpinfo.config)) > > + else: > > + ret.append("%s = %s" % (var," > > ".join((str(d.getVar(var)).split())))) > > + ret.sort() > > + for element in ret: > > + f.write(element + "\n") > > > > write_latest_srcrev(d, pkghistdir) > > > > @@ -394,32 +401,55 @@ def write_pkghistory(pkginfo, d): > > bb.utils.mkdirhier(pkgpath) > > > > infofile = os.path.join(pkgpath, "latest") > > + export_package_variables = > > set(pkginfo.export_package_variables.split()) > > + ret = [] > > with open(infofile, "w") as f: > > - if pkginfo.pe != "0": > > - f.write(u"PE = %s\n" % pkginfo.pe) > > - f.write(u"PV = %s\n" % pkginfo.pv) > > - f.write(u"PR = %s\n" % pkginfo.pr) > > - > > - if pkginfo.pkg != pkginfo.name: > > - f.write(u"PKG = %s\n" % pkginfo.pkg) > > - if pkginfo.pkge != pkginfo.pe: > > - f.write(u"PKGE = %s\n" % pkginfo.pkge) > > - if pkginfo.pkgv != pkginfo.pv: > > - f.write(u"PKGV = %s\n" % pkginfo.pkgv) > > - if pkginfo.pkgr != pkginfo.pr: > > - f.write(u"PKGR = %s\n" % pkginfo.pkgr) > > - f.write(u"RPROVIDES = %s\n" % pkginfo.rprovides) > > - f.write(u"RDEPENDS = %s\n" % pkginfo.rdepends) > > - f.write(u"RRECOMMENDS = %s\n" % pkginfo.rrecommends) > > - if pkginfo.rsuggests: > > - f.write(u"RSUGGESTS = %s\n" % pkginfo.rsuggests) > > - if pkginfo.rreplaces: > > - f.write(u"RREPLACES = %s\n" % pkginfo.rreplaces) > > - if pkginfo.rconflicts: > > - f.write(u"RCONFLICTS = %s\n" % pkginfo.rconflicts) > > - f.write(u"PKGSIZE = %d\n" % pkginfo.size) > > - f.write(u"FILES = %s\n" % pkginfo.files) > > - f.write(u"FILELIST = %s\n" % pkginfo.filelist) > > + for var in export_package_variables: > > + if var == "PE": > > + if pkginfo.pe != "0": > > + ret.append("%s = %s" % (var, pkginfo.pe)) > > + elif var == "PV": > > + ret.append("%s = %s" % (var, pkginfo.pv)) > > + elif var == "PR": > > + ret.append("%s = %s" % (var, pkginfo.pr)) > > + elif var == "RPROVIDES": > > + ret.append("%s = %s" % (var, pkginfo.rprovides)) > > + elif var == "RDEPENDS": > > + ret.append("%s = %s" % (var, pkginfo.rdepends)) > > + elif var == "RRECOMMENDS": > > + ret.append("%s = %s" % (var, pkginfo.rrecommends)) > > + elif var == "PKGSIZE": > > + ret.append("%s = %s" % (var, pkginfo.size)) > > + elif var == "FILES": > > + ret.append("%s = %s" % (var, pkginfo.files)) > > + elif var == "FILELIST": > > + ret.append("%s = %s" % (var, pkginfo.filelist)) > > + elif var == "RSUGGESTS": > > + if pkginfo.rsuggests: > > + ret.append(u"RSUGGESTS = %s" % pkginfo.rsuggests) > > + elif var == "RREPLACES": > > + if pkginfo.rreplaces: > > + ret.append(u"RREPLACES = %s" % pkginfo.rreplaces) > > + elif var == "RCONFLICTS": > > + if pkginfo.rconflicts: > > + ret.append(u"RCONFLICTS = %s" % pkginfo.rconflicts) > > + elif var == "PKG": > > + if pkginfo.pkg != pkginfo.name: > > + ret.append(u"PKG = %s" % pkginfo.pkg) > > + elif var == "PKGE": > > + if pkginfo.pkge != pkginfo.pe : > > + ret.append(u"PKGE = %s" % pkginfo.pkge) > > + elif var == "PKGV": > > + if pkginfo.pkgv != pkginfo.pv: > > + ret.append(u"PKGV = %s" % pkginfo.pkgv) > > + elif var == "PKGR": > > + if pkginfo.pkgr != pkginfo.pr: > > + ret.append(u"PKGR = %s" % pkginfo.pkgr) > > + else: > > + ret.append("%s = %s" % (var, d.getVar(var))) > > + ret.sort() > > + for element in ret: > > + f.write(element + "\n") > > > > for filevar in pkginfo.filevars: > > filevarpath = os.path.join(pkgpath, "latest.%s" % filevar) > > -- > > 2.17.1 > > > > > > > > > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#161541): https://lists.openembedded.org/g/openembedded-core/message/161541 Mute This Topic: https://lists.openembedded.org/mt/89017596/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-