* [PATCH 0/1] bitbake: use layer priority when applying bbappends
@ 2011-05-31 17:36 ` Paul Eggleton
0 siblings, 0 replies; 5+ messages in thread
From: Paul Eggleton @ 2011-05-31 17:36 UTC (permalink / raw)
To: bitbake-devel
The following changes since commit 52295fa3deef3b0374b99829626d524cefae6001:
Improve handling of 'all' architecture recipes and their interaction with sstate (2011-05-31 13:07:00 +0100)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib paule/bbfile-sort
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=paule/bbfile-sort
Paul Eggleton (1):
bitbake: use layer priority when applying bbappends
bitbake/lib/bb/cooker.py | 24 ++++++++++++++----------
1 files changed, 14 insertions(+), 10 deletions(-)
--
1.7.4.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/1] bitbake: use layer priority when applying bbappends
2011-05-31 17:36 ` Paul Eggleton
@ 2011-05-31 17:36 ` Paul Eggleton
-1 siblings, 0 replies; 5+ messages in thread
From: Paul Eggleton @ 2011-05-31 17:36 UTC (permalink / raw)
To: bitbake-devel
If the priority of a layer has been specified with BBFILE_PRIORITY_ then
use that to sort the list of BBFILES entries, which will affect the order
in which .bbappend files are applied.
Fixes [YOCTO #1125]
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
bitbake/lib/bb/cooker.py | 24 ++++++++++++++----------
1 files changed, 14 insertions(+), 10 deletions(-)
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 3973529..bb58f0b 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -405,6 +405,15 @@ class BBCooker:
print("}", file=tdepends_file)
logger.info("Task dependencies saved to 'task-depends.dot'")
+ def calc_bbfile_priority( self, filename, matched = None ):
+ for _, _, regex, pri in self.status.bbfile_config_priorities:
+ if regex.match(filename):
+ if matched != None:
+ if not regex in matched:
+ matched.add(regex)
+ return pri
+ return 0
+
def buildDepgraph( self ):
all_depends = self.status.all_depends
pn_provides = self.status.pn_provides
@@ -413,15 +422,6 @@ class BBCooker:
bb.data.update_data(localdata)
bb.data.expandKeys(localdata)
- matched = set()
- def calc_bbfile_priority(filename):
- for _, _, regex, pri in self.status.bbfile_config_priorities:
- if regex.match(filename):
- if not regex in matched:
- matched.add(regex)
- return pri
- return 0
-
# Handle PREFERRED_PROVIDERS
for p in (bb.data.getVar('PREFERRED_PROVIDERS', localdata, 1) or "").split():
try:
@@ -434,8 +434,9 @@ class BBCooker:
self.status.preferred[providee] = provider
# Calculate priorities for each file
+ matched = set()
for p in self.status.pkg_fn:
- self.status.bbfile_priority[p] = calc_bbfile_priority(p)
+ self.status.bbfile_priority[p] = calc_bbfile_priority(p, matched)
# Don't show the warning if the BBFILE_PATTERN did match .bbappend files
unmatched = set()
@@ -950,6 +951,9 @@ class BBCooker:
files = (data.getVar( "BBFILES", self.configuration.data, 1 ) or "").split()
data.setVar("BBFILES", " ".join(files), self.configuration.data)
+ # Sort files by priority
+ files.sort( key=lambda fileitem: self.calc_bbfile_priority(fileitem) )
+
if not len(files):
files = self.get_bbfiles()
--
1.7.4.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 0/1] bitbake: use layer priority when applying bbappends
@ 2011-05-31 17:36 ` Paul Eggleton
0 siblings, 0 replies; 5+ messages in thread
From: Paul Eggleton @ 2011-05-31 17:36 UTC (permalink / raw)
To: poky
The following changes since commit 52295fa3deef3b0374b99829626d524cefae6001:
Improve handling of 'all' architecture recipes and their interaction with sstate (2011-05-31 13:07:00 +0100)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib paule/bbfile-sort
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=paule/bbfile-sort
Paul Eggleton (1):
bitbake: use layer priority when applying bbappends
bitbake/lib/bb/cooker.py | 24 ++++++++++++++----------
1 files changed, 14 insertions(+), 10 deletions(-)
--
1.7.4.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/1] bitbake: use layer priority when applying bbappends
@ 2011-05-31 17:36 ` Paul Eggleton
0 siblings, 0 replies; 5+ messages in thread
From: Paul Eggleton @ 2011-05-31 17:36 UTC (permalink / raw)
To: poky
If the priority of a layer has been specified with BBFILE_PRIORITY_ then
use that to sort the list of BBFILES entries, which will affect the order
in which .bbappend files are applied.
Fixes [YOCTO #1125]
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
bitbake/lib/bb/cooker.py | 24 ++++++++++++++----------
1 files changed, 14 insertions(+), 10 deletions(-)
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 3973529..bb58f0b 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -405,6 +405,15 @@ class BBCooker:
print("}", file=tdepends_file)
logger.info("Task dependencies saved to 'task-depends.dot'")
+ def calc_bbfile_priority( self, filename, matched = None ):
+ for _, _, regex, pri in self.status.bbfile_config_priorities:
+ if regex.match(filename):
+ if matched != None:
+ if not regex in matched:
+ matched.add(regex)
+ return pri
+ return 0
+
def buildDepgraph( self ):
all_depends = self.status.all_depends
pn_provides = self.status.pn_provides
@@ -413,15 +422,6 @@ class BBCooker:
bb.data.update_data(localdata)
bb.data.expandKeys(localdata)
- matched = set()
- def calc_bbfile_priority(filename):
- for _, _, regex, pri in self.status.bbfile_config_priorities:
- if regex.match(filename):
- if not regex in matched:
- matched.add(regex)
- return pri
- return 0
-
# Handle PREFERRED_PROVIDERS
for p in (bb.data.getVar('PREFERRED_PROVIDERS', localdata, 1) or "").split():
try:
@@ -434,8 +434,9 @@ class BBCooker:
self.status.preferred[providee] = provider
# Calculate priorities for each file
+ matched = set()
for p in self.status.pkg_fn:
- self.status.bbfile_priority[p] = calc_bbfile_priority(p)
+ self.status.bbfile_priority[p] = calc_bbfile_priority(p, matched)
# Don't show the warning if the BBFILE_PATTERN did match .bbappend files
unmatched = set()
@@ -950,6 +951,9 @@ class BBCooker:
files = (data.getVar( "BBFILES", self.configuration.data, 1 ) or "").split()
data.setVar("BBFILES", " ".join(files), self.configuration.data)
+ # Sort files by priority
+ files.sort( key=lambda fileitem: self.calc_bbfile_priority(fileitem) )
+
if not len(files):
files = self.get_bbfiles()
--
1.7.4.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/1] bitbake: use layer priority when applying bbappends
2011-05-31 17:36 ` Paul Eggleton
(?)
@ 2011-06-01 10:07 ` Paul Eggleton
-1 siblings, 0 replies; 5+ messages in thread
From: Paul Eggleton @ 2011-06-01 10:07 UTC (permalink / raw)
To: poky
On Tuesday 31 May 2011 18:36:55 Paul Eggleton wrote:
> - self.status.bbfile_priority[p] = calc_bbfile_priority(p)
> + self.status.bbfile_priority[p] = calc_bbfile_priority(p,
> matched)
Oops, this should be self.calc_bbfile_priority. Have updated contrib branch &
sent updated patch to bitbake-devel.
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2011-06-01 10:07 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-31 17:36 [PATCH 0/1] bitbake: use layer priority when applying bbappends Paul Eggleton
2011-05-31 17:36 ` Paul Eggleton
2011-05-31 17:36 ` [PATCH 1/1] " Paul Eggleton
2011-05-31 17:36 ` Paul Eggleton
2011-06-01 10:07 ` Paul Eggleton
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.