buildhistory.bbclass: always record PKG, PKGE, PKGV and PKGR
cover buildhistory.bbclass: always record PKG, PKGE, PKGV and PKGR
From: Chen Qi <[email protected]>
The following changes since commit 4d8ab87d25ea6e59dc88375813ef88ee0ac813d0:
build-appliance: Update SRCREV (2013-09-24 18:09:12 +0100)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib ChenQi/buildhistory
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/buildhistory
Chen Qi (1):
buildhistory.bbclass: always record PKG, PKGE, PKGV and PKGR
meta/classes/buildhistory.bbclass | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
Signature · 1 line
1.7.9.5
PATCH 1/1 buildhistory.bbclass: always record PKG, PKGE, PKGV and PKGR
From: Chen Qi <[email protected]>
The buildhistory.bbclass always records PV instead of PKGV. However, the buildhistory-diff script treats PKGV as a monitored variable instead of PV.
If a recipe's PV changes, for example, hello_1.0.bb is renamed to hello_2.0.bb, then buildhistory-diff reports nothing because PV is not monitored and PKGV is not recorded.
So the buildhistory.bbclass should always record PKGV no matter it equals to PV or not.
The same logic applies to PKG, PKGE and PKGR.
[YOCTO #5263]
--- meta/classes/buildhistory.bbclass | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
meta/classes/buildhistory.bbclass +4 -4
@@ -277,10 +277,10 @@ def write_pkghistory(pkginfo, d): f.write("PR = %s\n" % pkginfo.pr) pkgvars = {} - pkgvars['PKG'] = pkginfo.pkg if pkginfo.pkg != pkginfo.name else '' - pkgvars['PKGE'] = pkginfo.pkge if pkginfo.pkge != pkginfo.pe else '' - pkgvars['PKGV'] = pkginfo.pkgv if pkginfo.pkgv != pkginfo.pv else '' - pkgvars['PKGR'] = pkginfo.pkgr if pkginfo.pkgr != pkginfo.pr else '' + pkgvars['PKG'] = pkginfo.pkg + pkgvars['PKGE'] = pkginfo.pkge + pkgvars['PKGV'] = pkginfo.pkgv + pkgvars['PKGR'] = pkginfo.pkgr for pkgvar in pkgvars: val = pkgvars[pkgvar] if val:
Signature · 1 line
1.7.9.5
Quoted 35 lines · On Thursday 26 September 2013 13:23:32 [email protected] wrote:
From: Chen Qi <[email protected]>
The buildhistory.bbclass always records PV instead of PKGV. However, the buildhistory-diff script treats PKGV as a monitored variable instead of PV.
If a recipe's PV changes, for example, hello_1.0.bb is renamed to hello_2.0.bb, then buildhistory-diff reports nothing because PV is not monitored and PKGV is not recorded.
So the buildhistory.bbclass should always record PKGV no matter it equals to PV or not.
The same logic applies to PKG, PKGE and PKGR.
[YOCTO #5263]
Signed-off-by Chen Qi <[email protected]>--- meta/classes/buildhistory.bbclass | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)(quoted diff) +0
-0b/meta/classes/buildhistory.bbclass index 3da03c8..cea917c 100644
meta/classes/buildhistory.bbclass +0
-2@@ -277,10 +277,10 @@ def write_pkghistory(pkginfo, d): f.write("PR = %s\n" % pkginfo.pr) pkgvars = {} - pkgvars['PKG'] = pkginfo.pkg if pkginfo.pkg != pkginfo.name else '' - pkgvars['PKGE'] = pkginfo.pkge if pkginfo.pkge != pkginfo.pe else'' - pkgvars['PKGV'] = pkginfo.pkgv if pkginfo.pkgv != pkginfo.pv
else '' - pkgvars['PKGR'] = pkginfo.pkgr if pkginfo.pkgr !=
pkginfo.pr else '' + pkgvars['PKG'] = pkginfo.pkg
meta/classes/buildhistory.bbclass def write_pkghistory(pkginfo, d): · line 286
Quoted 6 lines
meta/classes/buildhistory.bbclass +3
-0+ pkgvars['PKGE'] = pkginfo.pkge + pkgvars['PKGV'] = pkginfo.pkgv + pkgvars['PKGR'] = pkginfo.pkgr for pkgvar in pkgvars: val = pkgvars[pkgvar] if val:
Please see my comment on the bug (just added):
https://bugzilla.yoctoproject.org/show_bug.cgi?id=5263
Cheers,
Paul
Signature · 2 lines
Paul Eggleton Intel Open Source Technology Centre
Quoted 30 lines · Paul Eggleton
Quoted 29 lines · On Thursday 26 September 2013 13:23:32 [email protected] wrote:
From: Chen Qi <[email protected]>
The buildhistory.bbclass always records PV instead of PKGV. However, the buildhistory-diff script treats PKGV as a monitored variable instead of PV.
If a recipe's PV changes, for example, hello_1.0.bb is renamed to hello_2.0.bb, then buildhistory-diff reports nothing because PV is not monitored and PKGV is not recorded.
So the buildhistory.bbclass should always record PKGV no matter it equals to PV or not.
The same logic applies to PKG, PKGE and PKGR.
[YOCTO #5263]
Signed-off-by Chen Qi <[email protected]>--- meta/classes/buildhistory.bbclass | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)(quoted diff) +0
-0b/meta/classes/buildhistory.bbclass index 3da03c8..cea917c 100644
meta/classes/buildhistory.bbclass +0
-0@@ -277,10 +277,10 @@ def write_pkghistory(pkginfo, d): f.write("PR = %s\n" % pkginfo.pr)
Quoted 15 lines
meta/classes/buildhistory.bbclass def write_pkghistory(pkginfo, d): · line 286
Quoted 12 lines
meta/classes/buildhistory.bbclass +0
-2pkgvars = {} - pkgvars['PKG'] = pkginfo.pkg if pkginfo.pkg != pkginfo.name else '' - pkgvars['PKGE'] = pkginfo.pkge if pkginfo.pkge != pkginfo.pe else'' - pkgvars['PKGV'] = pkginfo.pkgv if pkginfo.pkgv != pkginfo.pv
else '' - pkgvars['PKGR'] = pkginfo.pkgr if pkginfo.pkgr !=
pkginfo.pr else '' + pkgvars['PKG'] = pkginfo.pkgmeta/classes/buildhistory.bbclass +3
-0+ pkgvars['PKGE'] = pkginfo.pkge + pkgvars['PKGV'] = pkginfo.pkgv + pkgvars['PKGR'] = pkginfo.pkgr for pkgvar in pkgvars: val = pkgvars[pkgvar] if val:Please see my comment on the bug (just added):
https://bugzilla.yoctoproject.org/show_bug.cgi?id=5263
Already added to the bug, but here so people not watching the bug can see:
I believe this change is requested because otherwise there is no way to detect a package upgrade/uprev when using buildhistory. This type of upgrade can happy when comparing no-GPLv3 and GPLv3 builds -- or just simple software updates when a layer gets updated.
We want to use the buildhistory from one build to the next to look for changes that have occurred that may be unexpected.
--Mark
Quoted 3 lines
Cheers,
Paul
Quoted 56 lines · Mark Hatle
Quoted 39 lines · Paul Eggleton
Quoted 38 lines · On Thursday 26 September 2013 13:23:32 [email protected] wrote:
From: Chen Qi <[email protected]>
The buildhistory.bbclass always records PV instead of PKGV. However, the buildhistory-diff script treats PKGV as a monitored variable instead of PV.
If a recipe's PV changes, for example, hello_1.0.bb is renamed to hello_2.0.bb, then buildhistory-diff reports nothing because PV is not monitored and PKGV is not recorded.
So the buildhistory.bbclass should always record PKGV no matter it equals to PV or not.
The same logic applies to PKG, PKGE and PKGR.
[YOCTO #5263]
Signed-off-by Chen Qi <[email protected]>--- meta/classes/buildhistory.bbclass | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)(quoted diff) +0
-0b/meta/classes/buildhistory.bbclass index 3da03c8..cea917c 100644
meta/classes/buildhistory.bbclass +0
-1@@ -277,10 +277,10 @@ def write_pkghistory(pkginfo, d): f.write("PR = %s\n" % pkginfo.pr) pkgvars = {} - pkgvars['PKG'] = pkginfo.pkg if pkginfo.pkg != pkginfo.nameelse ''
- pkgvars['PKGE'] = pkginfo.pkge if pkginfo.pkge != pkginfo.pe
else
'' - pkgvars['PKGV'] = pkginfo.pkgv if pkginfo.pkgv != pkginfo.pv
else '' - pkgvars['PKGR'] = pkginfo.pkgr if pkginfo.pkgr !=
pkginfo.pr else '' + pkgvars['PKG'] = pkginfo.pkg
+ pkgvars['PKGE'] = pkginfo.pkgeQuoted 8 lines
meta/classes/buildhistory.bbclass def write_pkghistory(pkginfo, d): · line 286
Quoted 5 lines
meta/classes/buildhistory.bbclass +2
-0+ pkgvars['PKGV'] = pkginfo.pkgv + pkgvars['PKGR'] = pkginfo.pkgr for pkgvar in pkgvars: val = pkgvars[pkgvar] if val:Please see my comment on the bug (just added):
https://bugzilla.yoctoproject.org/show_bug.cgi?id=5263Already added to the bug, but here so people not watching the bug can see:
I believe this change is requested because otherwise there is no way to detect a package upgrade/uprev when using buildhistory. This type of upgrade can happy when comparing no-GPLv3 and GPLv3 builds -- or just simple software updates when a layer gets updated.
Quoted 4 lines
We want to use the buildhistory from one build to the next to look for changes that have occurred that may be unexpected.
--Mark
Paul,
Any comments?
Qi replied to your comment in bugzilla.
Qi,
Perhaps you need to post an example showing how this change helps for a package upgrade and compare it to what happens when the patch is not applied.
// Randy
Quoted 11 lines
Quoted 4 lines
Cheers,
Paul_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Signature · 2 lines
# Randy MacLeod. SMTS, Linux, Wind River Direct: 613.963.1350
Quoted 66 lines · On Tuesday 15 October 2013 15:58:17 Randy MacLeod wrote:
Quoted 60 lines · Mark Hatle
Quoted 45 lines · Paul Eggleton
Quoted 44 lines · On Thursday 26 September 2013 13:23:32 [email protected] wrote:
From: Chen Qi <[email protected]>
The buildhistory.bbclass always records PV instead of PKGV. However, the buildhistory-diff script treats PKGV as a monitored variable instead of PV.
If a recipe's PV changes, for example, hello_1.0.bb is renamed to hello_2.0.bb, then buildhistory-diff reports nothing because PV is not monitored and PKGV is not recorded.
So the buildhistory.bbclass should always record PKGV no matter it equals to PV or not.
The same logic applies to PKG, PKGE and PKGR.
[YOCTO #5263]
Signed-off-by Chen Qi <[email protected]>---
meta/classes/buildhistory.bbclass | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)(quoted diff) +0
-0b/meta/classes/buildhistory.bbclass index 3da03c8..cea917c 100644
meta/classes/buildhistory.bbclass +0
-1@@ -277,10 +277,10 @@ def write_pkghistory(pkginfo, d): f.write("PR = %s\n" % pkginfo.pr) pkgvars = {} - pkgvars['PKG'] = pkginfo.pkg if pkginfo.pkg != pkginfo.nameelse ''
- pkgvars['PKGE'] = pkginfo.pkge if pkginfo.pkge != pkginfo.pe
else
'' - pkgvars['PKGV'] = pkginfo.pkgv if pkginfo.pkgv != pkginfo.pv
else '' - pkgvars['PKGR'] = pkginfo.pkgr if pkginfo.pkgr !=
pkginfo.pr else '' + pkgvars['PKG'] = pkginfo.pkgmeta/classes/buildhistory.bbclass +3
-0+ pkgvars['PKGE'] = pkginfo.pkge + pkgvars['PKGV'] = pkginfo.pkgv + pkgvars['PKGR'] = pkginfo.pkgrQuoted 6 lines
Quoted 4 lines
for pkgvar in pkgvars:
val = pkgvars[pkgvar]if val:
Please see my comment on the bug (just added):
https://bugzilla.yoctoproject.org/show_bug.cgi?id=5263Already added to the bug, but here so people not watching the bug can see:
I believe this change is requested because otherwise there is no way to detect a package upgrade/uprev when using buildhistory. This type of upgrade can happy when comparing no-GPLv3 and GPLv3 builds -- or just simple software updates when a layer gets updated.
Quoted 4 lines
We want to use the buildhistory from one build to the next to look for changes that have occurred that may be unexpected.
--Mark
Quoted 8 lines
Paul,
Any comments?
Qi replied to your comment in bugzilla.Qi,
Perhaps you need to post an example showing how this change helps for a package upgrade and compare it to what happens when the patch is not applied.
My apologies, I've been meaning to get back to this. I'll run some tests tomorrow so we can get a definitive resolution.
Cheers,
Paul
Signature · 2 lines
Paul Eggleton Intel Open Source Technology Centre
Quoted 66 lines · Randy MacLeod
Quoted 56 lines · Mark Hatle
Quoted 39 lines · Paul Eggleton
Quoted 38 lines · On Thursday 26 September 2013 13:23:32 [email protected] wrote:
From: Chen Qi <[email protected]>
The buildhistory.bbclass always records PV instead of PKGV. However, the buildhistory-diff script treats PKGV as a monitored variable instead of PV.
If a recipe's PV changes, for example, hello_1.0.bb is renamed to hello_2.0.bb, then buildhistory-diff reports nothing because PV is not monitored and PKGV is not recorded.
So the buildhistory.bbclass should always record PKGV no matter it equals to PV or not.
The same logic applies to PKG, PKGE and PKGR.
[YOCTO #5263]
Signed-off-by Chen Qi <[email protected]>--- meta/classes/buildhistory.bbclass | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)(quoted diff) +0
-0b/meta/classes/buildhistory.bbclass index 3da03c8..cea917c 100644
meta/classes/buildhistory.bbclass +0
-1@@ -277,10 +277,10 @@ def write_pkghistory(pkginfo, d): f.write("PR = %s\n" % pkginfo.pr) pkgvars = {} - pkgvars['PKG'] = pkginfo.pkg if pkginfo.pkg != pkginfo.nameelse ''
- pkgvars['PKGE'] = pkginfo.pkge if pkginfo.pkge != pkginfo.pe
else
'' - pkgvars['PKGV'] = pkginfo.pkgv if pkginfo.pkgv != pkginfo.pv
else '' - pkgvars['PKGR'] = pkginfo.pkgr if pkginfo.pkgr !=
pkginfo.pr else '' + pkgvars['PKG'] = pkginfo.pkg
+ pkgvars['PKGE'] = pkginfo.pkgeQuoted 8 lines
meta/classes/buildhistory.bbclass def write_pkghistory(pkginfo, d): · line 286
Quoted 5 lines
meta/classes/buildhistory.bbclass +2
-0+ pkgvars['PKGV'] = pkginfo.pkgv + pkgvars['PKGR'] = pkginfo.pkgr for pkgvar in pkgvars: val = pkgvars[pkgvar] if val:Please see my comment on the bug (just added):
https://bugzilla.yoctoproject.org/show_bug.cgi?id=5263Already added to the bug, but here so people not watching the bug can see:
I believe this change is requested because otherwise there is no way to detect a package upgrade/uprev when using buildhistory. This type of upgrade can happy when comparing no-GPLv3 and GPLv3 builds -- or just simple software updates when a layer gets updated.
Quoted 4 lines
We want to use the buildhistory from one build to the next to look for changes that have occurred that may be unexpected.
--Mark
Paul,
Any comments?
Qi replied to your comment in bugzilla.
Quoted 8 lines
Qi,
Perhaps you need to post an example showing how this change helps for a package upgrade and compare it to what happens when the patch is not applied.// Randy
Hi All,
Use the following steps to test the buildhistory.
1. bitbake chown-example
2. mv ../meta-local/recipes-core/chown-example/chown-example_1.0.bb ../meta-local/recipes-core/chown-example/chown-example_2.0.bb
3. bitbake chown-example
4. buildhistory-diff
Testing Result
-------------------
*) Without the patch
<No Output for buildhistory-diff>
*) With the patch
<Below is the output.>
chenqi@pek-qchen1-u12u4:~/poky/build$ buildhistory-diff packages/i586-poky-linux/chown-example/chown-example-dbg: PKGV changed from 1.0 to 2.0 * PV changed from "1.0" to "2.0" packages/i586-poky-linux/chown-example/chown-example-dev: PKGV changed from 1.0 to 2.0 * PV changed from "1.0" to "2.0" packages/i586-poky-linux/chown-example/chown-example-doc: PKGV changed from 1.0 to 2.0 * PV changed from "1.0" to "2.0" packages/i586-poky-linux/chown-example/chown-example-locale: PKGV changed from 1.0 to 2.0 * PV changed from "1.0" to "2.0" packages/i586-poky-linux/chown-example/chown-example-staticdev: PKGV changed from 1.0 to 2.0 * PV changed from "1.0" to "2.0" packages/i586-poky-linux/chown-example/chown-example: PKGV changed from 1.0 to 2.0 * PV changed from "1.0" to "2.0"
Best Regards,
Chen Qi
Quoted 13 lines
Quoted 11 lines
Quoted 4 lines
Cheers,
Paul_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Quoted 116 lines · On Thursday 17 October 2013 10:48:34 ChenQi wrote:
Quoted 72 lines · Randy MacLeod
Quoted 62 lines · Mark Hatle
Quoted 46 lines · Paul Eggleton
Quoted 45 lines · On Thursday 26 September 2013 13:23:32 [email protected] wrote:
From: Chen Qi <[email protected]>
The buildhistory.bbclass always records PV instead of PKGV. However, the buildhistory-diff script treats PKGV as a monitored variable instead of PV.
If a recipe's PV changes, for example, hello_1.0.bb is renamed to hello_2.0.bb, then buildhistory-diff reports nothing because PV is not monitored and PKGV is not recorded.
So the buildhistory.bbclass should always record PKGV no matter it equals to PV or not.
The same logic applies to PKG, PKGE and PKGR.
[YOCTO #5263]
Signed-off-by Chen Qi <[email protected]>---
meta/classes/buildhistory.bbclass | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)(quoted diff) +0
-0b/meta/classes/buildhistory.bbclass index 3da03c8..cea917c 100644
meta/classes/buildhistory.bbclass +0
-1@@ -277,10 +277,10 @@ def write_pkghistory(pkginfo, d): f.write("PR = %s\n" % pkginfo.pr) pkgvars = {} - pkgvars['PKG'] = pkginfo.pkg if pkginfo.pkg != pkginfo.nameelse ''
- pkgvars['PKGE'] = pkginfo.pkge if pkginfo.pkge != pkginfo.pe
else
'' - pkgvars['PKGV'] = pkginfo.pkgv if pkginfo.pkgv !=
pkginfo.pv
else '' - pkgvars['PKGR'] = pkginfo.pkgr if pkginfo.pkgr !=
pkginfo.pr else '' + pkgvars['PKG'] = pkginfo.pkgmeta/classes/buildhistory.bbclass +3
-0+ pkgvars['PKGE'] = pkginfo.pkge + pkgvars['PKGV'] = pkginfo.pkgv + pkgvars['PKGR'] = pkginfo.pkgrQuoted 6 lines
Quoted 4 lines
for pkgvar in pkgvars:
val = pkgvars[pkgvar]if val:
Please see my comment on the bug (just added):
https://bugzilla.yoctoproject.org/show_bug.cgi?id=5263Already added to the bug, but here so people not watching the bug can see:
I believe this change is requested because otherwise there is no way to detect a package upgrade/uprev when using buildhistory. This type of upgrade can happy when comparing no-GPLv3 and GPLv3 builds -- or just simple software updates when a layer gets updated.
Quoted 4 lines
We want to use the buildhistory from one build to the next to look for changes that have occurred that may be unexpected.
--Mark
Paul,
Any comments?
Qi replied to your comment in bugzilla.Quoted 6 lines
Qi,
Perhaps you need to post an example showing how this change helps for a package upgrade and compare it to what happens when the patch is not applied.// Randy
Hi All,
Use the following steps to test the buildhistory.
1. bitbake chown-example
2. mv ../meta-local/recipes-core/chown-example/chown-example_1.0.bb ../meta-local/recipes-core/chown-example/chown-example_2.0.bb
3. bitbake chown-example
4. buildhistory-diffTesting Result
-------------------
*) Without the patch
<No Output for buildhistory-diff>
*) With the patch
<Below is the output.>chenqi@pek-qchen1-u12u4:~/poky/build$ buildhistory-diff packages/i586-poky-linux/chown-example/chown-example-dbg: PKGV changed from 1.0 to 2.0 * PV changed from "1.0" to "2.0" packages/i586-poky-linux/chown-example/chown-example-dev: PKGV changed from 1.0 to 2.0 * PV changed from "1.0" to "2.0" packages/i586-poky-linux/chown-example/chown-example-doc: PKGV changed from 1.0 to 2.0 * PV changed from "1.0" to "2.0" packages/i586-poky-linux/chown-example/chown-example-locale: PKGV changed from 1.0 to 2.0 * PV changed from "1.0" to "2.0" packages/i586-poky-linux/chown-example/chown-example-staticdev: PKGV changed from 1.0 to 2.0 * PV changed from "1.0" to "2.0" packages/i586-poky-linux/chown-example/chown-example: PKGV changed from 1.0 to 2.0 * PV changed from "1.0" to "2.0"
Quoted 2 lines
Best Regards,
Chen Qi
A couple of things:
1) buildhistory-diff is intentionally not reporting version values changing, on the assumption that most of the time the user is aware when these changes occur. Based on what you have described there is a case for adding an option to report these changes however.
2) The patch as submitted not only records redundant information but also breaks the ability to see when the value changes from the "default" value to a custom value or vice versa, which is what the code was originally designed to do.
I am about to send a different patch that adds the option to show these changes and addresses #2 above.
Cheers,
Paul
Signature · 2 lines
Paul Eggleton Intel Open Source Technology Centre