[bitbake-devel,04/11] Hob: Fix the image installation dependency

Submitted by Dongxiao Xu on March 14, 2012, 9:26 a.m.

Details

Message ID c30b412003be68dd9c060e2d227f85232e4492ff.1331716896.git.dongxiao.xu@intel.com
State Accepted
Commit a16b2245d7f5ef8509df0c543f9432c98367c79c
Headers show

Commit Message

Dongxiao Xu March 14, 2012, 9:26 a.m.
Get the image installation content from rdepends and rrecommends
variables.

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
---
 lib/bb/ui/crumbs/hoblistmodel.py |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

Patch hide | download patch | download mbox

diff --git a/lib/bb/ui/crumbs/hoblistmodel.py b/lib/bb/ui/crumbs/hoblistmodel.py
index 0b7c0cb..0378828 100644
--- a/lib/bb/ui/crumbs/hoblistmodel.py
+++ b/lib/bb/ui/crumbs/hoblistmodel.py
@@ -546,9 +546,7 @@  class RecipeListModel(gtk.ListStore):
             group = event_model["pn"][item]["section"]
             install = []
 
-            depends = event_model["depends"].get(item, [])
-            rdepends = event_model["rdepends-pn"].get(item, [])
-            depends = depends + rdepends
+            depends = event_model["depends"].get(item, []) + event_model["rdepends-pn"].get(item, [])
 
             if ('task-' in name):
                 if ('lib32-' in name or 'lib64-' in name):
@@ -557,7 +555,7 @@  class RecipeListModel(gtk.ListStore):
                     atype = 'task'
             elif ('-image-' in name):
                 atype = 'image'
-                install = rdepends
+                install = event_model["rdepends-pkg"].get(item, []) + event_model["rrecs-pkg"].get(item, [])
             elif ('meta-' in name):
                 atype = 'toolchain'
             elif (name == 'dummy-image' or name == 'dummy-toolchain'):

Comments

Joshua Lock March 14, 2012, 7:37 p.m.
On 14/03/12 02:26, Dongxiao Xu wrote:
> Get the image installation content from rdepends and rrecommends
> variables.
>
> Signed-off-by: Dongxiao Xu<dongxiao.xu@intel.com>
> ---
>   lib/bb/ui/crumbs/hoblistmodel.py |    6 ++----
>   1 files changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/lib/bb/ui/crumbs/hoblistmodel.py b/lib/bb/ui/crumbs/hoblistmodel.py
> index 0b7c0cb..0378828 100644
> --- a/lib/bb/ui/crumbs/hoblistmodel.py
> +++ b/lib/bb/ui/crumbs/hoblistmodel.py
> @@ -546,9 +546,7 @@ class RecipeListModel(gtk.ListStore):
>               group = event_model["pn"][item]["section"]
>               install = []
>
> -            depends = event_model["depends"].get(item, [])
> -            rdepends = event_model["rdepends-pn"].get(item, [])
> -            depends = depends + rdepends
> +            depends = event_model["depends"].get(item, []) + event_model["rdepends-pn"].get(item, [])
>
>               if ('task-' in name):
>                   if ('lib32-' in name or 'lib64-' in name):
> @@ -557,7 +555,7 @@ class RecipeListModel(gtk.ListStore):
>                       atype = 'task'
>               elif ('-image-' in name):
>                   atype = 'image'
> -                install = rdepends
> +                install = event_model["rdepends-pkg"].get(item, []) + event_model["rrecs-pkg"].get(item, [])

rrecs should be recommendations, not requirements - are we making the 
conscious decision to include all recommended packages when building 
with Hob?

>               elif ('meta-' in name):
>                   atype = 'toolchain'
>               elif (name == 'dummy-image' or name == 'dummy-toolchain'):
Dongxiao Xu March 15, 2012, 6:02 a.m.
On Wed, 2012-03-14 at 12:37 -0700, Joshua Lock wrote:
> 
> On 14/03/12 02:26, Dongxiao Xu wrote:
> > Get the image installation content from rdepends and rrecommends
> > variables.
> >
> > Signed-off-by: Dongxiao Xu<dongxiao.xu@intel.com>
> > ---
> >   lib/bb/ui/crumbs/hoblistmodel.py |    6 ++----
> >   1 files changed, 2 insertions(+), 4 deletions(-)
> >
> > diff --git a/lib/bb/ui/crumbs/hoblistmodel.py b/lib/bb/ui/crumbs/hoblistmodel.py
> > index 0b7c0cb..0378828 100644
> > --- a/lib/bb/ui/crumbs/hoblistmodel.py
> > +++ b/lib/bb/ui/crumbs/hoblistmodel.py
> > @@ -546,9 +546,7 @@ class RecipeListModel(gtk.ListStore):
> >               group = event_model["pn"][item]["section"]
> >               install = []
> >
> > -            depends = event_model["depends"].get(item, [])
> > -            rdepends = event_model["rdepends-pn"].get(item, [])
> > -            depends = depends + rdepends
> > +            depends = event_model["depends"].get(item, []) + event_model["rdepends-pn"].get(item, [])
> >
> >               if ('task-' in name):
> >                   if ('lib32-' in name or 'lib64-' in name):
> > @@ -557,7 +555,7 @@ class RecipeListModel(gtk.ListStore):
> >                       atype = 'task'
> >               elif ('-image-' in name):
> >                   atype = 'image'
> > -                install = rdepends
> > +                install = event_model["rdepends-pkg"].get(item, []) + event_model["rrecs-pkg"].get(item, [])
> 
> rrecs should be recommendations, not requirements - are we making the 
> conscious decision to include all recommended packages when building 
> with Hob?

Per my understanding, RRECOMMENDS means that if the recommended package
do exists, then install it. Else if it doesn't, system will not report
error as missing dependency. (Correct me if it is wrong)

Here in Hob code, we will try to install both RDEPENDS and RRECOMMENDS
packages. But note that here the "install" variable is only used to make
selections in "Package Selection" page. Therefore if a recommended
package doesn't exists, it will not be included in the installation
list.

Thanks,
Dongxiao

> 
> >               elif ('meta-' in name):
> >                   atype = 'toolchain'
> >               elif (name == 'dummy-image' or name == 'dummy-toolchain'):
>
Joshua Lock March 15, 2012, 5:47 p.m.
On 14/03/12 23:02, Xu, Dongxiao wrote:
> On Wed, 2012-03-14 at 12:37 -0700, Joshua Lock wrote:
>>
>> On 14/03/12 02:26, Dongxiao Xu wrote:
>>> Get the image installation content from rdepends and rrecommends
>>> variables.
>>>
>>> Signed-off-by: Dongxiao Xu<dongxiao.xu@intel.com>
>>> ---
>>>    lib/bb/ui/crumbs/hoblistmodel.py |    6 ++----
>>>    1 files changed, 2 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/lib/bb/ui/crumbs/hoblistmodel.py b/lib/bb/ui/crumbs/hoblistmodel.py
>>> index 0b7c0cb..0378828 100644
>>> --- a/lib/bb/ui/crumbs/hoblistmodel.py
>>> +++ b/lib/bb/ui/crumbs/hoblistmodel.py
>>> @@ -546,9 +546,7 @@ class RecipeListModel(gtk.ListStore):
>>>                group = event_model["pn"][item]["section"]
>>>                install = []
>>>
>>> -            depends = event_model["depends"].get(item, [])
>>> -            rdepends = event_model["rdepends-pn"].get(item, [])
>>> -            depends = depends + rdepends
>>> +            depends = event_model["depends"].get(item, []) + event_model["rdepends-pn"].get(item, [])
>>>
>>>                if ('task-' in name):
>>>                    if ('lib32-' in name or 'lib64-' in name):
>>> @@ -557,7 +555,7 @@ class RecipeListModel(gtk.ListStore):
>>>                        atype = 'task'
>>>                elif ('-image-' in name):
>>>                    atype = 'image'
>>> -                install = rdepends
>>> +                install = event_model["rdepends-pkg"].get(item, []) + event_model["rrecs-pkg"].get(item, [])
>>
>> rrecs should be recommendations, not requirements - are we making the
>> conscious decision to include all recommended packages when building
>> with Hob?
>
> Per my understanding, RRECOMMENDS means that if the recommended package
> do exists, then install it. Else if it doesn't, system will not report
> error as missing dependency. (Correct me if it is wrong)

I thought that the behaviour was dependant on which package backend you 
use (RPM, etc.) but the Yocto documentation agrees with your assertion 
so this  behaviour seems reasonable.

Cheers,
Joshua