Skip to contentSkip to conversation

Mark Hatle : base.bbclass: Deprecate the PRINC logic

oe-commits Martin Jansa 3 participants 4 messages May 28, 2013 1 message not in the archive

lore
Share & tools
lore
#1 lore raw
In reply to a message not in the archive
Quoted 5 lines · On Tue, May 28, 2013 at 01:28:41PM +0000, [email protected] wrote:
Module: openembedded-core.git
Branch: master-next
Commit: e1cf564ebc8e7b4fa626a645356f6a4d7f5ba064
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=e1cf564ebc8e7b4fa626a645356f6a4d7f5ba064
Quoted 8 lines
Author: Mark Hatle <[email protected]>
Date:   Tue May 21 13:29:03 2013 -0500

base.bbclass: Deprecate the PRINC logic

The PRINC logic is now deprecated, the PR server should be used to handle the automatic incrementing of the PR (package release) field. The default setting of '0' has been removed, and a warning message has been added.

How are people supposed to remove existing PRINC without causing version going backwards?

Do I have to choose between seeing 100 warnings about deprecated PRINC or 100 ERRORs from buildhistory about versions going backwards?

Quoted 43 lines

---

 meta/classes/base.bbclass |    4 ++++
 meta/conf/bitbake.conf    |    1 -
 2 files changed, 4 insertions(+), 1 deletions(-)
meta/classes/base.bbclass +4 -0
index b1642a2..29084a2 100644
@@ -465,8 +465,12 @@ python () {
             appendVar('EXTRA_OECONF', extraconf)
 
     # If PRINC is set, try and increase the PR value by the amount specified
+    # The PR server is now the preferred way to handle PR changes based on
+    # the checksum of the recipe (including bbappend).  The PRINC is now
+    # obsolete.  Return a warning to the user.
     princ = d.getVar('PRINC', True)
     if princ and princ != "0":
+        bb.warn("Use of PRINC is deprecated.  The PR server should be used to automatically increment the PR.  See: https://wiki.yoctoproject.org/wiki/PR_Service"
         pr = d.getVar('PR', True)
         pr_prefix = re.search("\D+",pr)
         prval = re.search("\d+",pr)
meta/conf/bitbake.conf +0 -1
index 174236d..115832c 100644
@@ -186,7 +186,6 @@ ASSUME_PROVIDED = "\
 PN = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE'),d)[0] or 'defaultpkgname'}"
 PV = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE'),d)[1] or '1.0'}"
 PR = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE'),d)[2] or 'r0'}"
-PRINC ?= "0"
 PF = "${PN}-${EXTENDPE}${PV}-${PR}"
 EXTENDPE = "${@['','${PE\x7d_'][int(d.getVar('PE',1) or 0) > 0]}"
 P = "${PN}-${PV}"

_______________________________________________
Openembedded-commits mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-commits

Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
#2 lore raw
Quoted 15 lines · Martin Jansa
Quoted 5 lines · On Tue, May 28, 2013 at 01:28:41PM +0000, [email protected] wrote:
Module: openembedded-core.git
Branch: master-next
Commit: e1cf564ebc8e7b4fa626a645356f6a4d7f5ba064
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=e1cf564ebc8e7b4fa626a645356f6a4d7f5ba064
Quoted 8 lines
Author: Mark Hatle <[email protected]>
Date:   Tue May 21 13:29:03 2013 -0500

base.bbclass: Deprecate the PRINC logic

The PRINC logic is now deprecated, the PR server should be used to handle the automatic incrementing of the PR (package release) field. The default setting of '0' has been removed, and a warning message has been added.

Quoted 5 lines

How are people supposed to remove existing PRINC without causing version going backwards?

Do I have to choose between seeing 100 warnings about deprecated PRINC or 100 ERRORs from buildhistory about versions going backwards?

Also subject:
base.bbclass: BREAK and deprecate the PRINC logic
would be more accurate

ERROR: ExpansionError during parsing /OE/shr-core/meta-openembedded/meta-systemd/recipes-core/systemd/systemd-machine-units_1.0.bb:
Failure expanding variable PRINC[:=], expression was ${@int(PRINC) + 2}
which triggered exception NameError: name 'PRINC' is not defined

Quoted 46 lines
Quoted 43 lines

---

 meta/classes/base.bbclass |    4 ++++
 meta/conf/bitbake.conf    |    1 -
 2 files changed, 4 insertions(+), 1 deletions(-)
meta/classes/base.bbclass +4 -0
index b1642a2..29084a2 100644
@@ -465,8 +465,12 @@ python () {
             appendVar('EXTRA_OECONF', extraconf)
 
     # If PRINC is set, try and increase the PR value by the amount specified
+    # The PR server is now the preferred way to handle PR changes based on
+    # the checksum of the recipe (including bbappend).  The PRINC is now
+    # obsolete.  Return a warning to the user.
     princ = d.getVar('PRINC', True)
     if princ and princ != "0":
+        bb.warn("Use of PRINC is deprecated.  The PR server should be used to automatically increment the PR.  See: https://wiki.yoctoproject.org/wiki/PR_Service"
         pr = d.getVar('PR', True)
         pr_prefix = re.search("\D+",pr)
         prval = re.search("\d+",pr)
meta/conf/bitbake.conf +0 -1
index 174236d..115832c 100644
@@ -186,7 +186,6 @@ ASSUME_PROVIDED = "\
 PN = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE'),d)[0] or 'defaultpkgname'}"
 PV = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE'),d)[1] or '1.0'}"
 PR = "${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE'),d)[2] or 'r0'}"
-PRINC ?= "0"
 PF = "${PN}-${EXTENDPE}${PV}-${PR}"
 EXTENDPE = "${@['','${PE\x7d_'][int(d.getVar('PE',1) or 0) > 0]}"
 P = "${PN}-${PV}"

_______________________________________________
Openembedded-commits mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-commits

Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
#3 lore raw
In reply to Martin Jansa
Quoted 15 lines · Martin Jansa
Quoted 5 lines · On Tue, May 28, 2013 at 01:28:41PM +0000, [email protected] wrote:
Module: openembedded-core.git
Branch: master-next
Commit: e1cf564ebc8e7b4fa626a645356f6a4d7f5ba064
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=e1cf564ebc8e7b4fa626a645356f6a4d7f5ba064
Quoted 8 lines
Author: Mark Hatle <[email protected]>
Date:   Tue May 21 13:29:03 2013 -0500

base.bbclass: Deprecate the PRINC logic

The PRINC logic is now deprecated, the PR server should be used to handle the automatic incrementing of the PR (package release) field. The default setting of '0' has been removed, and a warning message has been added.

Quoted 5 lines

How are people supposed to remove existing PRINC without causing version going backwards?

Do I have to choose between seeing 100 warnings about deprecated PRINC or 100 ERRORs from buildhistory about versions going backwards?

Sorry, this is coming out a bit backwards.

At the TSC meeting, we discussed ways of progressing with removal of PRINC as it is causing pain and we shouldn't need it any more. We were wondering if we could have the system warn on usage of PRINC, then accept PR bumps to the main recipe at the same time that the usage of PRINC was removed (taking PR bumps and removing PRINC seems to be the only way to proceed). Initially I wondered if we could make it a hard error, which would then force the PR bump to be in sync with the removal. People are justifiably concerned at the idea of hard errors though.

Mark sent me a patch, I thought it was an RFC on the list and applied it to master-next to experiment with. It wasn't send to the list, I'm not sure what Mark's intention was, its possible I was supposed to raise the subject, then post the patch.

Anyhow, as you point out, the patch has a couple of issues. We need to put back the default value into local.conf for now at the very least so this warns, rather than gives an obtuse error. Its not going into master until there is more discussion.

So lets reset here, Mark will post the RFC patch and we can discuss whether there is a way we can get rid of the PRINC usage without causing people too many problems. Sorry for the confusion caused :/.

Cheers,

Richard

#4 lore raw
Quoted 34 lines · Richard Purdie
Quoted 15 lines · Martin Jansa
Quoted 5 lines · On Tue, May 28, 2013 at 01:28:41PM +0000, [email protected] wrote:
Module: openembedded-core.git
Branch: master-next
Commit: e1cf564ebc8e7b4fa626a645356f6a4d7f5ba064
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=e1cf564ebc8e7b4fa626a645356f6a4d7f5ba064
Quoted 8 lines
Author: Mark Hatle <[email protected]>
Date:   Tue May 21 13:29:03 2013 -0500

base.bbclass: Deprecate the PRINC logic

The PRINC logic is now deprecated, the PR server should be used to handle the automatic incrementing of the PR (package release) field. The default setting of '0' has been removed, and a warning message has been added.

Quoted 5 lines

How are people supposed to remove existing PRINC without causing version going backwards?

Do I have to choose between seeing 100 warnings about deprecated PRINC or 100 ERRORs from buildhistory about versions going backwards?

Sorry, this is coming out a bit backwards.

At the TSC meeting, we discussed ways of progressing with removal of PRINC as it is causing pain and we shouldn't need it any more. We were wondering if we could have the system warn on usage of PRINC, then accept PR bumps to the main recipe at the same time that the usage of PRINC was removed (taking PR bumps and removing PRINC seems to be the only way to proceed). Initially I wondered if we could make it a hard error, which would then force the PR bump to be in sync with the removal. People are justifiably concerned at the idea of hard errors though.

Quoted 4 lines

Mark sent me a patch, I thought it was an RFC on the list and applied it to master-next to experiment with. It wasn't send to the list, I'm not sure what Mark's intention was, its possible I was supposed to raise the subject, then post the patch.

Ya, this was a result of the TSC discussion. I sent it to Richard to get feedback on the approach, before it went to the list.

Quoted 8 lines

Anyhow, as you point out, the patch has a couple of issues. We need to put back the default value into local.conf for now at the very least so this warns, rather than gives an obtuse error. Its not going into master until there is more discussion.

So lets reset here, Mark will post the RFC patch and we can discuss whether there is a way we can get rid of the PRINC usage without causing people too many problems. Sorry for the confusion caused :/.

I'll be happy to do so.

--Mark

Quoted 5 lines

Cheers,

Richard