mirror of
https://git.yoctoproject.org/poky
synced 2026-04-30 21:32:13 +02:00
Hob: Add filter for images listed in image combo
Define BBUI_IMAGE_WHITE_PATTERN variable to indicate which image is allowed to be displayed in image combobox. Define BBUI_IMAGE_BLACK_PATTERN variable to indicate which image is NOT allowed to be displayed in image combobox. This fixes [YOCTO #1581] (Bitbake rev: 960461bc12945675af3081eb469f932f4a6eb1cd) Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
e069e53536
commit
7690c45c71
@@ -279,6 +279,8 @@ class Parameters:
|
||||
self.all_sdk_machines = []
|
||||
self.all_layers = []
|
||||
self.image_names = []
|
||||
self.image_white_pattern = ""
|
||||
self.image_black_pattern = ""
|
||||
|
||||
# for build log to show
|
||||
self.bb_version = ""
|
||||
@@ -296,6 +298,8 @@ class Parameters:
|
||||
self.runnable_machine_patterns = params["runnable_machine_patterns"].split()
|
||||
self.deployable_image_types = params["deployable_image_types"].split()
|
||||
self.tmpdir = params["tmpdir"]
|
||||
self.image_white_pattern = params["image_white_pattern"]
|
||||
self.image_black_pattern = params["image_black_pattern"]
|
||||
# for build log to show
|
||||
self.bb_version = params["bb_version"]
|
||||
self.target_arch = params["target_arch"]
|
||||
|
||||
@@ -497,4 +497,6 @@ class HobHandler(gobject.GObject):
|
||||
params["cvs_proxy_host"] = self.runCommand(["getVariable", "CVS_PROXY_HOST"]) or ""
|
||||
params["cvs_proxy_port"] = self.runCommand(["getVariable", "CVS_PROXY_PORT"]) or ""
|
||||
|
||||
params["image_white_pattern"] = self.runCommand(["getVariable", "BBUI_IMAGE_WHITE_PATTERN"]) or ""
|
||||
params["image_black_pattern"] = self.runCommand(["getVariable", "BBUI_IMAGE_BLACK_PATTERN"]) or ""
|
||||
return params
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
|
||||
import gtk
|
||||
import glib
|
||||
import re
|
||||
from bb.ui.crumbs.progressbar import HobProgressBar
|
||||
from bb.ui.crumbs.hobcolor import HobColors
|
||||
from bb.ui.crumbs.hobwidget import hic, HobImageButton, HobInfoButton, HobAltButton, HobButton
|
||||
@@ -345,6 +346,16 @@ class ImageConfigurationPage (HobPage):
|
||||
active = -1
|
||||
cnt = 0
|
||||
|
||||
white_pattern = []
|
||||
if self.builder.parameters.image_white_pattern:
|
||||
for i in self.builder.parameters.image_white_pattern.split():
|
||||
white_pattern.append(re.compile(i))
|
||||
|
||||
black_pattern = []
|
||||
if self.builder.parameters.image_black_pattern:
|
||||
for i in self.builder.parameters.image_black_pattern.split():
|
||||
black_pattern.append(re.compile(i))
|
||||
|
||||
it = image_model.get_iter_first()
|
||||
self._image_combo_disconnect_signal()
|
||||
model = self.image_combo.get_model()
|
||||
@@ -356,10 +367,28 @@ class ImageConfigurationPage (HobPage):
|
||||
image_name = image_model[path][recipe_model.COL_NAME]
|
||||
if image_name == self.builder.recipe_model.__dummy_image__:
|
||||
continue
|
||||
self.image_combo.append_text(image_name)
|
||||
if image_name == selected_image:
|
||||
active = cnt
|
||||
cnt = cnt + 1
|
||||
|
||||
if black_pattern:
|
||||
allow = True
|
||||
for pattern in black_pattern:
|
||||
if pattern.search(image_name):
|
||||
allow = False
|
||||
break
|
||||
elif white_pattern:
|
||||
allow = False
|
||||
for pattern in white_pattern:
|
||||
if pattern.search(image_name):
|
||||
allow = True
|
||||
break
|
||||
else:
|
||||
allow = True
|
||||
|
||||
if allow:
|
||||
self.image_combo.append_text(image_name)
|
||||
if image_name == selected_image:
|
||||
active = cnt
|
||||
cnt = cnt + 1
|
||||
|
||||
self.image_combo.append_text(self.builder.recipe_model.__dummy_image__)
|
||||
if selected_image == self.builder.recipe_model.__dummy_image__:
|
||||
active = cnt
|
||||
|
||||
Reference in New Issue
Block a user