* 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@lists.openembedded.org [-- 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@lists.openembedded.org 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@lists.openembedded.org 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@lists.openembedded.org 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@lists.openembedded.org 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@lists.openembedded.org 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 a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox