Patchwork [bitbake-devel,09/10] Hob: Change base image to "Create your own image" if customized

login
register
mail settings
Submitter Dongxiao Xu
Date April 1, 2012, 12:14 p.m.
Message ID <ee2f10ed2092ed21c7f8a0798c18404fdb30063a.1333269705.git.dongxiao.xu@intel.com>
Download mbox | patch
Permalink /patch/25023/
State Accepted
Commit 8edad8d282b69896237e956a00c66cd4d10ef494
Headers show

Comments

Dongxiao Xu - April 1, 2012, 12:14 p.m.
Once user did customization to his base image, we change the base image
to be "Create your own image" to avoid some issues caused by the
relationship between base image and its default recipes and packages.

This fixes [YOCTO #2211]

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
---
 lib/bb/ui/crumbs/builder.py                |    3 +++
 lib/bb/ui/crumbs/imageconfigurationpage.py |    2 ++
 lib/bb/ui/crumbs/packageselectionpage.py   |    6 ++++++
 lib/bb/ui/crumbs/recipeselectionpage.py    |    5 +++++
 4 files changed, 16 insertions(+), 0 deletions(-)
Barros Pena, Belen - April 3, 2012, 9:13 a.m.
From the design side of things, I am not sure this is a good idea. I've
explicitly selected 'base image x'. If I then customise it, I still think
I am working on 'base image x'. I might not understand why my selection of
base image has been changed automatically. In general, it is not a good
idea to have software that changes things I do of its own accord. Such
behaviours undermine the sense of control users should have when
interacting with software.

Cheers

Belen

On 01/04/2012 13:14, "Dongxiao Xu" <dongxiao.xu@intel.com> wrote:

>Once user did customization to his base image, we change the base image
>to be "Create your own image" to avoid some issues caused by the
>relationship between base image and its default recipes and packages.
>
>This fixes [YOCTO #2211]
>
>Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
>---
> lib/bb/ui/crumbs/builder.py                |    3 +++
> lib/bb/ui/crumbs/imageconfigurationpage.py |    2 ++
> lib/bb/ui/crumbs/packageselectionpage.py   |    6 ++++++
> lib/bb/ui/crumbs/recipeselectionpage.py    |    5 +++++
> 4 files changed, 16 insertions(+), 0 deletions(-)
>
>diff --git a/lib/bb/ui/crumbs/builder.py b/lib/bb/ui/crumbs/builder.py
>index 8427623..20d4652 100755
>--- a/lib/bb/ui/crumbs/builder.py
>+++ b/lib/bb/ui/crumbs/builder.py
>@@ -258,6 +258,9 @@ class Builder(gtk.Window):
>         self.recipe_model = recipe_model
>         self.package_model = package_model
> 
>+        # Indicate whether user has customized the image
>+        self.customized = False
>+
>         # create visual elements
>         self.create_visual_elements()
> 
>diff --git a/lib/bb/ui/crumbs/imageconfigurationpage.py
>b/lib/bb/ui/crumbs/imageconfigurationpage.py
>index 9271c48..d3cae9d 100644
>--- a/lib/bb/ui/crumbs/imageconfigurationpage.py
>+++ b/lib/bb/ui/crumbs/imageconfigurationpage.py
>@@ -289,6 +289,8 @@ class ImageConfigurationPage (HobPage):
>         if not selected_image:
>             return
> 
>+        self.builder.customized = False
>+
>         selected_recipes = []
> 
>         image_path = self.builder.recipe_model.pn_path[selected_image]
>diff --git a/lib/bb/ui/crumbs/packageselectionpage.py
>b/lib/bb/ui/crumbs/packageselectionpage.py
>index d855e58..e071b07 100755
>--- a/lib/bb/ui/crumbs/packageselectionpage.py
>+++ b/lib/bb/ui/crumbs/packageselectionpage.py
>@@ -90,6 +90,7 @@ class PackageSelectionPage (HobPage):
>         super(PackageSelectionPage, self).__init__(builder, "Packages")
> 
>         # set invisiable members
>+        self.recipe_model = self.builder.recipe_model
>         self.package_model = self.builder.package_model
> 
>         # create visual elements
>@@ -193,6 +194,11 @@ class PackageSelectionPage (HobPage):
>             self.package_model.exclude_item(item_path=path)
> 
>         self.refresh_selection()
>+        if not self.builder.customized:
>+            self.builder.customized = True
>+            self.builder.configuration.selected_image =
>self.recipe_model.__dummy_image__
>+            self.builder.rcppkglist_populated()
>+
>         self.builder.window_sensitive(True)
> 
>     def table_toggled_cb(self, table, cell, view_path, toggled_columnid,
>view_tree):
>diff --git a/lib/bb/ui/crumbs/recipeselectionpage.py
>b/lib/bb/ui/crumbs/recipeselectionpage.py
>index e4616a8..2d438d5 100755
>--- a/lib/bb/ui/crumbs/recipeselectionpage.py
>+++ b/lib/bb/ui/crumbs/recipeselectionpage.py
>@@ -187,6 +187,11 @@ class RecipeSelectionPage (HobPage):
>             self.recipe_model.exclude_item(item_path=path)
> 
>         self.refresh_selection()
>+        if not self.builder.customized:
>+            self.builder.customized = True
>+            self.builder.configuration.selected_image =
>self.recipe_model.__dummy_image__
>+            self.builder.rcppkglist_populated()
>+
>         self.builder.window_sensitive(True)
> 
>     def table_toggled_cb(self, table, cell, view_path, toggled_columnid,
>view_tree):
>-- 
>1.7.4.1
>
>
>_______________________________________________
>bitbake-devel mailing list
>bitbake-devel@lists.openembedded.org
>http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/bitbake-devel

---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
Shane Wang - April 4, 2012, 12:58 p.m.
Barros Pena, Belen wrote on 2012-04-03:

> From the design side of things, I am not sure this is a good idea. I've
> explicitly selected 'base image x'. If I then customise it, I still think
> I am working on 'base image x'. I might not understand why my selection of
> base image has been changed automatically. In general, it is not a good
> idea to have software that changes things I do of its own accord. Such
> behaviours undermine the sense of control users should have when
> interacting with software.
> 
> Cheers
> 
> Belen
> 

What we want is to change the item in the base image combo. The target image is still based on the base image the user selected plus delta.
We have the strict definition for the predefined base images. For instance, sato includes 300 recipes.
An image including 299 recipes is not called sato but your own image (say, sato-minus)

The reason why we do that is because for templates, we will remember the item in the image combo as the base image in some bb file, and we also remember what we selected for the recipes and the packages. However, the base image covers all of them by default and because of that, bitbake can't recognize the delta and will include all (300 recipes), which causes the wrong behavior.

--
Shane
Barros Pena, Belen - April 4, 2012, 3:21 p.m.
Thanks for explaining, Shane. I now understand why you are doing it, but
people using Hob will not have the benefit of your explanation. They will
just see they selected a base image, made a small change to that base
image and when they go back to the Image configuration screen, Hob has
changed the base image they selected of its own accord.

Could the template have some "hidden" information indicating if a base
image has been customised and therefore the default contents of the base
image should be ignored and replaced with the remembered recipes and
packages? This way the template would still work, but Hob users will still
see their selected base image.

Belen

On 04/04/2012 13:58, "Wang, Shane" <shane.wang@intel.com> wrote:

>Barros Pena, Belen wrote on 2012-04-03:
>
>> From the design side of things, I am not sure this is a good idea. I've
>> explicitly selected 'base image x'. If I then customise it, I still
>>think
>> I am working on 'base image x'. I might not understand why my selection
>>of
>> base image has been changed automatically. In general, it is not a good
>> idea to have software that changes things I do of its own accord. Such
>> behaviours undermine the sense of control users should have when
>> interacting with software.
>> 
>> Cheers
>> 
>> Belen
>> 
>
>What we want is to change the item in the base image combo. The target
>image is still based on the base image the user selected plus delta.
>We have the strict definition for the predefined base images. For
>instance, sato includes 300 recipes.
>An image including 299 recipes is not called sato but your own image
>(say, sato-minus)
>
>The reason why we do that is because for templates, we will remember the
>item in the image combo as the base image in some bb file, and we also
>remember what we selected for the recipes and the packages. However, the
>base image covers all of them by default and because of that, bitbake
>can't recognize the delta and will include all (300 recipes), which
>causes the wrong behavior.
>
>--
>Shane

---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
Dongxiao Xu - April 6, 2012, 3:45 a.m.
On Wed, 2012-04-04 at 23:21 +0800, Barros Pena, Belen wrote:
> Thanks for explaining, Shane. I now understand why you are doing it, but
> people using Hob will not have the benefit of your explanation. They will
> just see they selected a base image, made a small change to that base
> image and when they go back to the Image configuration screen, Hob has
> changed the base image they selected of its own accord.

Though the base image is changed to "Create your own image", however all
the contents in the base image (except those customized) are still
there. If user changes recipes/packages, actually they are trying to
create their own image not a base image.

> 
> Could the template have some "hidden" information indicating if a base
> image has been customised and therefore the default contents of the base
> image should be ignored and replaced with the remembered recipes and
> packages? This way the template would still work, but Hob users will still
> see their selected base image.

Base image is also a recipe, so we could not ignore its related recipes,
unless we switch to a new one whose dependency recipes/packages are
None. Otherwise, it will change the core base of the Hob logic.

Thanks,
Dongxiao

> 
> Belen
> 
> On 04/04/2012 13:58, "Wang, Shane" <shane.wang@intel.com> wrote:
> 
> >Barros Pena, Belen wrote on 2012-04-03:
> >
> >> From the design side of things, I am not sure this is a good idea. I've
> >> explicitly selected 'base image x'. If I then customise it, I still
> >>think
> >> I am working on 'base image x'. I might not understand why my selection
> >>of
> >> base image has been changed automatically. In general, it is not a good
> >> idea to have software that changes things I do of its own accord. Such
> >> behaviours undermine the sense of control users should have when
> >> interacting with software.
> >> 
> >> Cheers
> >> 
> >> Belen
> >> 
> >
> >What we want is to change the item in the base image combo. The target
> >image is still based on the base image the user selected plus delta.
> >We have the strict definition for the predefined base images. For
> >instance, sato includes 300 recipes.
> >An image including 299 recipes is not called sato but your own image
> >(say, sato-minus)
> >
> >The reason why we do that is because for templates, we will remember the
> >item in the image combo as the base image in some bb file, and we also
> >remember what we selected for the recipes and the packages. However, the
> >base image covers all of them by default and because of that, bitbake
> >can't recognize the delta and will include all (300 recipes), which
> >causes the wrong behavior.
> >
> >--
> >Shane
>
Barros Pena, Belen - April 6, 2012, 8:22 a.m.
On 06/04/2012 04:45, "Xu, Dongxiao" <dongxiao.xu@intel.com> wrote:

>On Wed, 2012-04-04 at 23:21 +0800, Barros Pena, Belen wrote:
>> Thanks for explaining, Shane. I now understand why you are doing it, but
>> people using Hob will not have the benefit of your explanation. They
>>will
>> just see they selected a base image, made a small change to that base
>> image and when they go back to the Image configuration screen, Hob has
>> changed the base image they selected of its own accord.
>
>Though the base image is changed to "Create your own image", however all
>the contents in the base image (except those customized) are still
>there. If user changes recipes/packages, actually they are trying to
>create their own image not a base image.

I don't think so, Dongxiao: for BitBake, the user is trying to create
their own image. For me (Hob user) I am trying to create
core-image-minimal without recipe x.

But I see we are going to get into one of those circular arguments. We
need evidence that this is a problem. Until I can provide you with that, I
accept the easiest way to handle this is changing the user selection to
"Create your own image" when customisation happens.

What a hard life ;)

>
>> 
>> Could the template have some "hidden" information indicating if a base
>> image has been customised and therefore the default contents of the base
>> image should be ignored and replaced with the remembered recipes and
>> packages? This way the template would still work, but Hob users will
>>still
>> see their selected base image.
>
>Base image is also a recipe, so we could not ignore its related recipes,
>unless we switch to a new one whose dependency recipes/packages are
>None. Otherwise, it will change the core base of the Hob logic.
>
>Thanks,
>Dongxiao
>
>> 
>> Belen
>> 
>> On 04/04/2012 13:58, "Wang, Shane" <shane.wang@intel.com> wrote:
>> 
>> >Barros Pena, Belen wrote on 2012-04-03:
>> >
>> >> From the design side of things, I am not sure this is a good idea.
>>I've
>> >> explicitly selected 'base image x'. If I then customise it, I still
>> >>think
>> >> I am working on 'base image x'. I might not understand why my
>>selection
>> >>of
>> >> base image has been changed automatically. In general, it is not a
>>good
>> >> idea to have software that changes things I do of its own accord.
>>Such
>> >> behaviours undermine the sense of control users should have when
>> >> interacting with software.
>> >> 
>> >> Cheers
>> >> 
>> >> Belen
>> >> 
>> >
>> >What we want is to change the item in the base image combo. The target
>> >image is still based on the base image the user selected plus delta.
>> >We have the strict definition for the predefined base images. For
>> >instance, sato includes 300 recipes.
>> >An image including 299 recipes is not called sato but your own image
>> >(say, sato-minus)
>> >
>> >The reason why we do that is because for templates, we will remember
>>the
>> >item in the image combo as the base image in some bb file, and we also
>> >remember what we selected for the recipes and the packages. However,
>>the
>> >base image covers all of them by default and because of that, bitbake
>> >can't recognize the delta and will include all (300 recipes), which
>> >causes the wrong behavior.
>> >
>> >--
>> >Shane
>> 
>
>

---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
Shane Wang - April 8, 2012, 10:10 a.m.
Dongxiao suggested another solution. If any recipe is removed from or added into the list.
The base image could be changed into e.g. "core-image-minimal *" or "core-image-minimal-changed" to indicates the set is based on core-image-minimal.
Technically, what we want is to change the base image name, we can't reuse "core-image-minimal".

--
Shane

Barros Pena, Belen wrote on 2012-04-06:

> 
> On 06/04/2012 04:45, "Xu, Dongxiao" <dongxiao.xu@intel.com> wrote:
> 
>> On Wed, 2012-04-04 at 23:21 +0800, Barros Pena, Belen wrote:
>>> Thanks for explaining, Shane. I now understand why you are doing it, but
>>> people using Hob will not have the benefit of your explanation. They
>>> will
>>> just see they selected a base image, made a small change to that base
>>> image and when they go back to the Image configuration screen, Hob has
>>> changed the base image they selected of its own accord.
>> 
>> Though the base image is changed to "Create your own image", however all
>> the contents in the base image (except those customized) are still
>> there. If user changes recipes/packages, actually they are trying to
>> create their own image not a base image.
> 
> I don't think so, Dongxiao: for BitBake, the user is trying to create
> their own image. For me (Hob user) I am trying to create
> core-image-minimal without recipe x.
> 
> But I see we are going to get into one of those circular arguments. We
> need evidence that this is a problem. Until I can provide you with that, I
> accept the easiest way to handle this is changing the user selection to
> "Create your own image" when customisation happens.
> 
> What a hard life ;)
> 
>> 
>>> 
>>> Could the template have some "hidden" information indicating if a base
>>> image has been customised and therefore the default contents of the base
>>> image should be ignored and replaced with the remembered recipes and
>>> packages? This way the template would still work, but Hob users will
>>> still
>>> see their selected base image.
>> 
>> Base image is also a recipe, so we could not ignore its related recipes,
>> unless we switch to a new one whose dependency recipes/packages are
>> None. Otherwise, it will change the core base of the Hob logic.
>> 
>> Thanks,
>> Dongxiao
>> 
>>> 
>>> Belen
>>> 
>>> On 04/04/2012 13:58, "Wang, Shane" <shane.wang@intel.com> wrote:
>>> 
>>>> Barros Pena, Belen wrote on 2012-04-03:
>>>> 
>>>>> From the design side of things, I am not sure this is a good idea.
>>>>> I've explicitly selected 'base image x'. If I then customise it, I
>>>>> still think I am working on 'base image x'. I might not understand
>>>>> why my selection of base image has been changed automatically. In
>>>>> general, it is not a good idea to have software that changes things
>>>>> I do of its own accord. Such behaviours undermine the sense of
>>>>> control users should have when interacting with software.
>>>>> 
>>>>> Cheers
>>>>> 
>>>>> Belen
>>>>> 
>>>> 
>>>> What we want is to change the item in the base image combo. The
>>>> target image is still based on the base image the user selected plus
>>>> delta. We have the strict definition for the predefined base images.
>>>> For instance, sato includes 300 recipes. An image including 299
>>>> recipes is not called sato but your own image (say, sato-minus)
>>>> 
>>>> The reason why we do that is because for templates, we will remember
>>>> the item in the image combo as the base image in some bb file, and we
>>>> also remember what we selected for the recipes and the packages.
>>>> However, the base image covers all of them by default and because of
>>>> that, bitbake can't recognize the delta and will include all (300
>>>> recipes), which causes the wrong behavior.
>>>> 
>>>> --
>>>> Shane
>>> 
>> 
>>
Barros Pena, Belen - April 16, 2012, 12:32 p.m.
I see what you are trying to do, but I think this solution also has
problems. Would the Base image combo box have to include a .*-changed item
for every single base image?

If yes, what happens when I select one of those .*-changed options and I
don't customise the image?

If not, wouldn't it be weird to see the base image combo set to an option
that was not initially listed?

Cheers

Belen

On 08/04/2012 11:10, "Wang, Shane" <shane.wang@intel.com> wrote:

>Dongxiao suggested another solution. If any recipe is removed from or
>added into the list.
>The base image could be changed into e.g. "core-image-minimal *" or
>"core-image-minimal-changed" to indicates the set is based on
>core-image-minimal.
>Technically, what we want is to change the base image name, we can't
>reuse "core-image-minimal".
>
>--
>Shane
>
>Barros Pena, Belen wrote on 2012-04-06:
>
>> 
>> On 06/04/2012 04:45, "Xu, Dongxiao" <dongxiao.xu@intel.com> wrote:
>> 
>>> On Wed, 2012-04-04 at 23:21 +0800, Barros Pena, Belen wrote:
>>>> Thanks for explaining, Shane. I now understand why you are doing it,
>>>>but
>>>> people using Hob will not have the benefit of your explanation. They
>>>> will
>>>> just see they selected a base image, made a small change to that base
>>>> image and when they go back to the Image configuration screen, Hob has
>>>> changed the base image they selected of its own accord.
>>> 
>>> Though the base image is changed to "Create your own image", however
>>>all
>>> the contents in the base image (except those customized) are still
>>> there. If user changes recipes/packages, actually they are trying to
>>> create their own image not a base image.
>> 
>> I don't think so, Dongxiao: for BitBake, the user is trying to create
>> their own image. For me (Hob user) I am trying to create
>> core-image-minimal without recipe x.
>> 
>> But I see we are going to get into one of those circular arguments. We
>> need evidence that this is a problem. Until I can provide you with
>>that, I
>> accept the easiest way to handle this is changing the user selection to
>> "Create your own image" when customisation happens.
>> 
>> What a hard life ;)
>> 
>>> 
>>>> 
>>>> Could the template have some "hidden" information indicating if a base
>>>> image has been customised and therefore the default contents of the
>>>>base
>>>> image should be ignored and replaced with the remembered recipes and
>>>> packages? This way the template would still work, but Hob users will
>>>> still
>>>> see their selected base image.
>>> 
>>> Base image is also a recipe, so we could not ignore its related
>>>recipes,
>>> unless we switch to a new one whose dependency recipes/packages are
>>> None. Otherwise, it will change the core base of the Hob logic.
>>> 
>>> Thanks,
>>> Dongxiao
>>> 
>>>> 
>>>> Belen
>>>> 
>>>> On 04/04/2012 13:58, "Wang, Shane" <shane.wang@intel.com> wrote:
>>>> 
>>>>> Barros Pena, Belen wrote on 2012-04-03:
>>>>> 
>>>>>> From the design side of things, I am not sure this is a good idea.
>>>>>> I've explicitly selected 'base image x'. If I then customise it, I
>>>>>> still think I am working on 'base image x'. I might not understand
>>>>>> why my selection of base image has been changed automatically. In
>>>>>> general, it is not a good idea to have software that changes things
>>>>>> I do of its own accord. Such behaviours undermine the sense of
>>>>>> control users should have when interacting with software.
>>>>>> 
>>>>>> Cheers
>>>>>> 
>>>>>> Belen
>>>>>> 
>>>>> 
>>>>> What we want is to change the item in the base image combo. The
>>>>> target image is still based on the base image the user selected plus
>>>>> delta. We have the strict definition for the predefined base images.
>>>>> For instance, sato includes 300 recipes. An image including 299
>>>>> recipes is not called sato but your own image (say, sato-minus)
>>>>> 
>>>>> The reason why we do that is because for templates, we will remember
>>>>> the item in the image combo as the base image in some bb file, and we
>>>>> also remember what we selected for the recipes and the packages.
>>>>> However, the base image covers all of them by default and because of
>>>>> that, bitbake can't recognize the delta and will include all (300
>>>>> recipes), which causes the wrong behavior.
>>>>> 
>>>>> --
>>>>> Shane
>>>> 
>>> 
>>>
>
>

---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

Patch

diff --git a/lib/bb/ui/crumbs/builder.py b/lib/bb/ui/crumbs/builder.py
index 8427623..20d4652 100755
--- a/lib/bb/ui/crumbs/builder.py
+++ b/lib/bb/ui/crumbs/builder.py
@@ -258,6 +258,9 @@  class Builder(gtk.Window):
         self.recipe_model = recipe_model
         self.package_model = package_model
 
+        # Indicate whether user has customized the image
+        self.customized = False
+
         # create visual elements
         self.create_visual_elements()
 
diff --git a/lib/bb/ui/crumbs/imageconfigurationpage.py b/lib/bb/ui/crumbs/imageconfigurationpage.py
index 9271c48..d3cae9d 100644
--- a/lib/bb/ui/crumbs/imageconfigurationpage.py
+++ b/lib/bb/ui/crumbs/imageconfigurationpage.py
@@ -289,6 +289,8 @@  class ImageConfigurationPage (HobPage):
         if not selected_image:
             return
 
+        self.builder.customized = False
+
         selected_recipes = []
 
         image_path = self.builder.recipe_model.pn_path[selected_image]
diff --git a/lib/bb/ui/crumbs/packageselectionpage.py b/lib/bb/ui/crumbs/packageselectionpage.py
index d855e58..e071b07 100755
--- a/lib/bb/ui/crumbs/packageselectionpage.py
+++ b/lib/bb/ui/crumbs/packageselectionpage.py
@@ -90,6 +90,7 @@  class PackageSelectionPage (HobPage):
         super(PackageSelectionPage, self).__init__(builder, "Packages")
 
         # set invisiable members
+        self.recipe_model = self.builder.recipe_model
         self.package_model = self.builder.package_model
 
         # create visual elements
@@ -193,6 +194,11 @@  class PackageSelectionPage (HobPage):
             self.package_model.exclude_item(item_path=path)
 
         self.refresh_selection()
+        if not self.builder.customized:
+            self.builder.customized = True
+            self.builder.configuration.selected_image = self.recipe_model.__dummy_image__
+            self.builder.rcppkglist_populated()
+
         self.builder.window_sensitive(True)
 
     def table_toggled_cb(self, table, cell, view_path, toggled_columnid, view_tree):
diff --git a/lib/bb/ui/crumbs/recipeselectionpage.py b/lib/bb/ui/crumbs/recipeselectionpage.py
index e4616a8..2d438d5 100755
--- a/lib/bb/ui/crumbs/recipeselectionpage.py
+++ b/lib/bb/ui/crumbs/recipeselectionpage.py
@@ -187,6 +187,11 @@  class RecipeSelectionPage (HobPage):
             self.recipe_model.exclude_item(item_path=path)
 
         self.refresh_selection()
+        if not self.builder.customized:
+            self.builder.customized = True
+            self.builder.configuration.selected_image = self.recipe_model.__dummy_image__
+            self.builder.rcppkglist_populated()
+
         self.builder.window_sensitive(True)
 
     def table_toggled_cb(self, table, cell, view_path, toggled_columnid, view_tree):