All of lore.kernel.org
 help / color / mirror / Atom feed
* cleansstate
@ 2020-08-19 23:28 Joe Slater
  2020-08-21 15:14 ` [OE-core] cleansstate Richard Purdie
  0 siblings, 1 reply; 8+ messages in thread
From: Joe Slater @ 2020-08-19 23:28 UTC (permalink / raw)
  To: 'openembedded-core@lists.openembedded.org'

[-- Attachment #1: Type: text/plain, Size: 337 bytes --]

This might be specific to the distro I am typically using (take a guess) but I notice that cleansstate usually pauses at the 33% mark for a significant amount of time.  I don't think this used to be quite as bad as it is now, but it is hard to remember.  Just an observation that someone might be able to confirm/deny/explain.

Joe


[-- Attachment #2: Type: text/html, Size: 1914 bytes --]

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

* Re: [OE-core] cleansstate
  2020-08-19 23:28 cleansstate Joe Slater
@ 2020-08-21 15:14 ` Richard Purdie
  2020-08-22  0:32   ` tom king
  0 siblings, 1 reply; 8+ messages in thread
From: Richard Purdie @ 2020-08-21 15:14 UTC (permalink / raw)
  To: Joe Slater, 'openembedded-core@lists.openembedded.org'

On Wed, 2020-08-19 at 23:28 +0000, Joe Slater wrote:
> This might be specific to the distro I am typically using (take a
> guess) but I notice that cleansstate usually pauses at the 33% mark
> for a significant amount of time.  I don’t think this used to be
> quite as bad as it is now, but it is hard to remember.  Just an
> observation that someone might be able to confirm/deny/explain.

sstateclean iterates through all the sstate directories globbing for
potential things to remove. If your sstate cache is large or remote
(e.g. NFS), this will be slow.

Note it doesn't remove just the current hash but any sstate for the
given recipe.

In normal use you should never be needing sstateclean.

Cheers,

Richard


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

* Re: [OE-core] cleansstate
  2020-08-21 15:14 ` [OE-core] cleansstate Richard Purdie
@ 2020-08-22  0:32   ` tom king
  2020-08-22  7:27     ` Richard Purdie
  0 siblings, 1 reply; 8+ messages in thread
From: tom king @ 2020-08-22  0:32 UTC (permalink / raw)
  To: Richard Purdie; +Cc: Joe Slater, openembedded-core

[-- Attachment #1: Type: text/plain, Size: 927 bytes --]

What would be a use case for cleanstate?

Tom

On Fri, Aug 21, 2020 at 8:14 AM Richard Purdie <
richard.purdie@linuxfoundation.org> wrote:

> On Wed, 2020-08-19 at 23:28 +0000, Joe Slater wrote:
> > This might be specific to the distro I am typically using (take a
> > guess) but I notice that cleansstate usually pauses at the 33% mark
> > for a significant amount of time.  I don’t think this used to be
> > quite as bad as it is now, but it is hard to remember.  Just an
> > observation that someone might be able to confirm/deny/explain.
>
> sstateclean iterates through all the sstate directories globbing for
> potential things to remove. If your sstate cache is large or remote
> (e.g. NFS), this will be slow.
>
> Note it doesn't remove just the current hash but any sstate for the
> given recipe.
>
> In normal use you should never be needing sstateclean.
>
> Cheers,
>
> Richard
>
> 
>

[-- Attachment #2: Type: text/html, Size: 1304 bytes --]

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

* Re: [OE-core] cleansstate
  2020-08-22  0:32   ` tom king
@ 2020-08-22  7:27     ` Richard Purdie
  2020-08-24 18:13       ` Joe Slater
  2020-08-24 21:05       ` Rasmus Villemoes
  0 siblings, 2 replies; 8+ messages in thread
From: Richard Purdie @ 2020-08-22  7:27 UTC (permalink / raw)
  To: Tom King; +Cc: Joe Slater, openembedded-core

On Fri, 2020-08-21 at 17:32 -0700, Tom King wrote:
> What would be a use case for cleanstate?

I never really wanted to add it at all. There is/was some case for
wanting to remove sstate objects and ensure something really does
rebuild from source. When sstate was new and had more issues, people
really wanted it and I was pushed into having it exist.

I understand why people want it although it should never really need to
be used.

There are some users who do use it regularly and they really need to
think about why and whether they need to. Personally, I don't use it.

Cheers,

Richard


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

* Re: [OE-core] cleansstate
  2020-08-22  7:27     ` Richard Purdie
@ 2020-08-24 18:13       ` Joe Slater
  2020-08-24 21:05       ` Rasmus Villemoes
  1 sibling, 0 replies; 8+ messages in thread
From: Joe Slater @ 2020-08-24 18:13 UTC (permalink / raw)
  To: Richard Purdie, Tom King; +Cc: openembedded-core

I use it via cleanall to be sure I'm building something as if it had never been built before.  I share sstate between a number of projects (I'm calling where you run bitbake from a project), and sometimes just want to be sure there's no "contamination".

Joe

-----Original Message-----
From: Richard Purdie <richard.purdie@linuxfoundation.org> 
Sent: Saturday, August 22, 2020 12:28 AM
To: Tom King <ka6sox@gmail.com>
Cc: Slater, Joseph <joe.slater@windriver.com>; openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] cleansstate

On Fri, 2020-08-21 at 17:32 -0700, Tom King wrote:
> What would be a use case for cleanstate?

I never really wanted to add it at all. There is/was some case for wanting to remove sstate objects and ensure something really does rebuild from source. When sstate was new and had more issues, people really wanted it and I was pushed into having it exist.

I understand why people want it although it should never really need to be used.

There are some users who do use it regularly and they really need to think about why and whether they need to. Personally, I don't use it.

Cheers,

Richard


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

* Re: [OE-core] cleansstate
  2020-08-22  7:27     ` Richard Purdie
  2020-08-24 18:13       ` Joe Slater
@ 2020-08-24 21:05       ` Rasmus Villemoes
  2020-08-24 21:08         ` Richard Purdie
  1 sibling, 1 reply; 8+ messages in thread
From: Rasmus Villemoes @ 2020-08-24 21:05 UTC (permalink / raw)
  To: richard.purdie, Tom King; +Cc: Joe Slater, openembedded-core

On 22/08/2020 09.27, Richard Purdie via lists.openembedded.org wrote:
> On Fri, 2020-08-21 at 17:32 -0700, Tom King wrote:
>> What would be a use case for cleanstate?
> 
> I never really wanted to add it at all. There is/was some case for
> wanting to remove sstate objects and ensure something really does
> rebuild from source. When sstate was new and had more issues, people
> really wanted it and I was pushed into having it exist.
> 
> I understand why people want it although it should never really need to
> be used.

Well, except when you discover that your sstate is effectively
corrupted/polluted by objects that happen to have the same hashes as
those computed from current recipes, but the build artifacts
would/should be different. Such as when using a file://foo/* glob
pattern in SRC_URI.

Richard, I'm still hoping you'd respond in the
https://lists.openembedded.org/g/openembedded-core/topic/75235594
thread. As I see it, half-way supporting glob patterns in file:// URIs
is a giant footgun.

Rasmus

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

* Re: [OE-core] cleansstate
  2020-08-24 21:05       ` Rasmus Villemoes
@ 2020-08-24 21:08         ` Richard Purdie
  2020-08-25  6:18           ` Rasmus Villemoes
  0 siblings, 1 reply; 8+ messages in thread
From: Richard Purdie @ 2020-08-24 21:08 UTC (permalink / raw)
  To: Rasmus Villemoes, Tom King; +Cc: Joe Slater, openembedded-core

On Mon, 2020-08-24 at 23:05 +0200, Rasmus Villemoes wrote:
> On 22/08/2020 09.27, Richard Purdie via lists.openembedded.org wrote:
> > On Fri, 2020-08-21 at 17:32 -0700, Tom King wrote:
> > > What would be a use case for cleanstate?
> > 
> > I never really wanted to add it at all. There is/was some case for
> > wanting to remove sstate objects and ensure something really does
> > rebuild from source. When sstate was new and had more issues,
> > people
> > really wanted it and I was pushed into having it exist.
> > 
> > I understand why people want it although it should never really
> > need to
> > be used.
> 
> Well, except when you discover that your sstate is effectively
> corrupted/polluted by objects that happen to have the same hashes as
> those computed from current recipes, but the build artifacts
> would/should be different. Such as when using a file://foo/* glob
> pattern in SRC_URI.

Where such issues are reported, we do try and fix them. I hadn't quite
connected that the globbing issue was actually breaking sstate hashes,
that is more worrying :(

> 
> Richard, I'm still hoping you'd respond in the
> https://lists.openembedded.org/g/openembedded-core/topic/75235594
> thread. As I see it, half-way supporting glob patterns in file://
> URIs is a giant footgun.

My leaning is to remove them. You can just do file://foo and I think
that actually works?

The globs are horrible for a lot of different reasons.

Cheers,

Richard


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

* Re: [OE-core] cleansstate
  2020-08-24 21:08         ` Richard Purdie
@ 2020-08-25  6:18           ` Rasmus Villemoes
  0 siblings, 0 replies; 8+ messages in thread
From: Rasmus Villemoes @ 2020-08-25  6:18 UTC (permalink / raw)
  To: Richard Purdie, Tom King; +Cc: Joe Slater, openembedded-core

On 24/08/2020 23.08, Richard Purdie wrote:
> On Mon, 2020-08-24 at 23:05 +0200, Rasmus Villemoes wrote:
>> On 22/08/2020 09.27, Richard Purdie via lists.openembedded.org wrote:
>>> On Fri, 2020-08-21 at 17:32 -0700, Tom King wrote:
>>>> What would be a use case for cleanstate?
>>>

>>> I understand why people want it although it should never really
>>> need to
>>> be used.
>>
>> Well, except when you discover that your sstate is effectively
>> corrupted/polluted by objects that happen to have the same hashes as
>> those computed from current recipes, but the build artifacts
>> would/should be different. Such as when using a file://foo/* glob
>> pattern in SRC_URI.
> 
> Where such issues are reported, we do try and fix them. I hadn't quite
> connected that the globbing issue was actually breaking sstate hashes,
> that is more worrying :(

It does, and you can reproduce yourself using upstream core recipes. Try
building connman-gnome. Then alter one of the png files under images/,
and build again. The recipe does not get rebuilt. Then cleansstate,
build, and yes, then the modified png does get picked up.

Of course, those pngs don't change often, if ever. But in our case the
recipe was for including some firmware blobs for some I/O modules. We
found out when the CI builds that used sstate cache failed to produce
BSPs containing the updated firmware, while the nightly builds that
build from scratch did.

>>
>> Richard, I'm still hoping you'd respond in the
>> https://lists.openembedded.org/g/openembedded-core/topic/75235594
>> thread. As I see it, half-way supporting glob patterns in file://
>> URIs is a giant footgun.
> 
> My leaning is to remove them. You can just do file://foo and I think
> that actually works?

In some of the cases where we had recipes using globs, yes, that was the
solution. In a few other cases we had more complicated patterns (e.g.
*.sh or something else that wasn't just including a whole dir).

Rasmus

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

end of thread, other threads:[~2020-08-25  6:18 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-19 23:28 cleansstate Joe Slater
2020-08-21 15:14 ` [OE-core] cleansstate Richard Purdie
2020-08-22  0:32   ` tom king
2020-08-22  7:27     ` Richard Purdie
2020-08-24 18:13       ` Joe Slater
2020-08-24 21:05       ` Rasmus Villemoes
2020-08-24 21:08         ` Richard Purdie
2020-08-25  6:18           ` Rasmus Villemoes

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.