Openembedded Core Discussions
 help / color / mirror / Atom feed
* lib/oe/sstatesig: Ensure packagegroups don't continually rebuild
@ 2013-11-05 22:15 Richard Purdie
  2013-11-06 18:51 ` Otavio Salvador
  0 siblings, 1 reply; 6+ messages in thread
From: Richard Purdie @ 2013-11-05 22:15 UTC (permalink / raw)
  To: openembedded-core; +Cc: Eggleton, Paul

packagegroups are allarch and shouldn't change depending on the target
or machine selected. In general they should have good stable namespaces
for their dependencies. As such we can exclude them from rebuilding when
dependency checksums change.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index 852fb7e..33ff892 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -11,6 +11,9 @@ def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCache):
     def isKernel(fn):
         inherits = " ".join(dataCache.inherits[fn])
         return inherits.find("module-base.bbclass") != -1 or inherits.find("linux-kernel-base.bbclass") != -1
+    def isPackageGroup(fn):
+        inherits = " ".join(dataCache.inherits[fn])
+        return "packagegroup.bbclass" in inherits
 
     # Always include our own inter-task dependencies
     if recipename == depname:
@@ -27,6 +30,10 @@ def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCache):
 
     # Only target packages beyond here
 
+    # packagegroups are assumed to have well behaved names which don't change between architecures/tunes
+    if isPackageGroup(fn):
+        return False  
+
     # Drop native/cross/nativesdk dependencies from target recipes
     if isNative(depname) or isCross(depname) or isNativeSDK(depname):
         return False



^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: lib/oe/sstatesig: Ensure packagegroups don't continually rebuild
  2013-11-05 22:15 lib/oe/sstatesig: Ensure packagegroups don't continually rebuild Richard Purdie
@ 2013-11-06 18:51 ` Otavio Salvador
  2013-11-06 23:42   ` Richard Purdie
  0 siblings, 1 reply; 6+ messages in thread
From: Otavio Salvador @ 2013-11-06 18:51 UTC (permalink / raw)
  To: Richard Purdie; +Cc: Eggleton, Paul, openembedded-core

On Tue, Nov 5, 2013 at 8:15 PM, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> packagegroups are allarch and shouldn't change depending on the target
> or machine selected. In general they should have good stable namespaces
> for their dependencies. As such we can exclude them from rebuilding when
> dependency checksums change.
>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

What about machine-base and core-boot? this may change depending on machine.

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: lib/oe/sstatesig: Ensure packagegroups don't continually rebuild
  2013-11-06 18:51 ` Otavio Salvador
@ 2013-11-06 23:42   ` Richard Purdie
  2013-11-07 15:58     ` Otavio Salvador
  0 siblings, 1 reply; 6+ messages in thread
From: Richard Purdie @ 2013-11-06 23:42 UTC (permalink / raw)
  To: Otavio Salvador; +Cc: Eggleton, Paul, openembedded-core

On Wed, 2013-11-06 at 16:51 -0200, Otavio Salvador wrote:
> On Tue, Nov 5, 2013 at 8:15 PM, Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> > packagegroups are allarch and shouldn't change depending on the target
> > or machine selected. In general they should have good stable namespaces
> > for their dependencies. As such we can exclude them from rebuilding when
> > dependency checksums change.
> >
> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> 
> What about machine-base and core-boot? this may change depending on machine.

Those already get marked as machine specific. I'd not expect
dependencies to be changing package names there for example so I'm not
sure this is an issue.

Cheers,

Richard




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: lib/oe/sstatesig: Ensure packagegroups don't continually rebuild
  2013-11-06 23:42   ` Richard Purdie
@ 2013-11-07 15:58     ` Otavio Salvador
  2013-11-07 22:57       ` Richard Purdie
  0 siblings, 1 reply; 6+ messages in thread
From: Otavio Salvador @ 2013-11-07 15:58 UTC (permalink / raw)
  To: Richard Purdie; +Cc: openembedded-core, Eggleton, Paul

On Wed, Nov 6, 2013 at 9:42 PM, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> On Wed, 2013-11-06 at 16:51 -0200, Otavio Salvador wrote:
>> On Tue, Nov 5, 2013 at 8:15 PM, Richard Purdie
>> <richard.purdie@linuxfoundation.org> wrote:
>> > packagegroups are allarch and shouldn't change depending on the target
>> > or machine selected. In general they should have good stable namespaces
>> > for their dependencies. As such we can exclude them from rebuilding when
>> > dependency checksums change.
>> >
>> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
>>
>> What about machine-base and core-boot? this may change depending on machine.
>
> Those already get marked as machine specific. I'd not expect
> dependencies to be changing package names there for example so I'm not
> sure this is an issue.

In:

+    def isPackageGroup(fn):
+        inherits = " ".join(dataCache.inherits[fn])
+        return "packagegroup.bbclass" in inherits

We must check PACKAGE_ARCH, no?

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: lib/oe/sstatesig: Ensure packagegroups don't continually rebuild
  2013-11-07 15:58     ` Otavio Salvador
@ 2013-11-07 22:57       ` Richard Purdie
  2013-11-08 11:55         ` Otavio Salvador
  0 siblings, 1 reply; 6+ messages in thread
From: Richard Purdie @ 2013-11-07 22:57 UTC (permalink / raw)
  To: Otavio Salvador; +Cc: openembedded-core, Eggleton, Paul

On Thu, 2013-11-07 at 13:58 -0200, Otavio Salvador wrote:
> On Wed, Nov 6, 2013 at 9:42 PM, Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> > On Wed, 2013-11-06 at 16:51 -0200, Otavio Salvador wrote:
> >> On Tue, Nov 5, 2013 at 8:15 PM, Richard Purdie
> >> <richard.purdie@linuxfoundation.org> wrote:
> >> > packagegroups are allarch and shouldn't change depending on the target
> >> > or machine selected. In general they should have good stable namespaces
> >> > for their dependencies. As such we can exclude them from rebuilding when
> >> > dependency checksums change.
> >> >
> >> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> >>
> >> What about machine-base and core-boot? this may change depending on machine.
> >
> > Those already get marked as machine specific. I'd not expect
> > dependencies to be changing package names there for example so I'm not
> > sure this is an issue.
> 
> In:
> 
> +    def isPackageGroup(fn):
> +        inherits = " ".join(dataCache.inherits[fn])
> +        return "packagegroup.bbclass" in inherits
> 
> We must check PACKAGE_ARCH, no?

No. The fact they're marked as MACHINE_ARCH ensures they change when
they need to, we don't need sstate to do that as well.

Cheers,

Richard



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: lib/oe/sstatesig: Ensure packagegroups don't continually rebuild
  2013-11-07 22:57       ` Richard Purdie
@ 2013-11-08 11:55         ` Otavio Salvador
  0 siblings, 0 replies; 6+ messages in thread
From: Otavio Salvador @ 2013-11-08 11:55 UTC (permalink / raw)
  To: Richard Purdie; +Cc: Eggleton, Paul, openembedded-core

On Thu, Nov 7, 2013 at 8:57 PM, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> On Thu, 2013-11-07 at 13:58 -0200, Otavio Salvador wrote:
>> On Wed, Nov 6, 2013 at 9:42 PM, Richard Purdie
>> <richard.purdie@linuxfoundation.org> wrote:
>> > On Wed, 2013-11-06 at 16:51 -0200, Otavio Salvador wrote:
>> >> On Tue, Nov 5, 2013 at 8:15 PM, Richard Purdie
>> >> <richard.purdie@linuxfoundation.org> wrote:
>> >> > packagegroups are allarch and shouldn't change depending on the target
>> >> > or machine selected. In general they should have good stable namespaces
>> >> > for their dependencies. As such we can exclude them from rebuilding when
>> >> > dependency checksums change.
>> >> >
>> >> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
>> >>
>> >> What about machine-base and core-boot? this may change depending on machine.
>> >
>> > Those already get marked as machine specific. I'd not expect
>> > dependencies to be changing package names there for example so I'm not
>> > sure this is an issue.
>>
>> In:
>>
>> +    def isPackageGroup(fn):
>> +        inherits = " ".join(dataCache.inherits[fn])
>> +        return "packagegroup.bbclass" in inherits
>>
>> We must check PACKAGE_ARCH, no?
>
> No. The fact they're marked as MACHINE_ARCH ensures they change when
> they need to, we don't need sstate to do that as well.

Fine :)

-- 
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-11-08 11:55 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-05 22:15 lib/oe/sstatesig: Ensure packagegroups don't continually rebuild Richard Purdie
2013-11-06 18:51 ` Otavio Salvador
2013-11-06 23:42   ` Richard Purdie
2013-11-07 15:58     ` Otavio Salvador
2013-11-07 22:57       ` Richard Purdie
2013-11-08 11:55         ` Otavio Salvador

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox