Makefile: ensure that schema source files are in place before schema recompilation occurs - #2257
Conversation
|
Ok, my apologies: I definitely should have tested this before opening a pull request. From attempting the build process locally: it seems that in fact the I've moved this back into 'draft' pull request status while confirming more of the details. |
|
It probably is worth adding a |
|
cc @Davidy22 - I made a bit of a mess developing this PR - my apologies for not testing this until after I opened it - but I believe that it is ready now and resolves a genuine build-time race condition for |
|
Sorry about the delay in checking the build, and seems like github did some deprecating in the time between your testing and me checking this. I could do that seperately and you could pull, or you could bump the version for the |
|
Thanks for running the CI checks and taking a look! I generally prefer to keep changes like those separate, so if that's OK with you, I'll wait until that is resolved and then will rebase/pull. |
|
Alright, there's still some things to resolve with CI but it should be in a state where you can update your branch and checks here should pass. |
Davidy22
left a comment
There was a problem hiding this comment.
Alright, I was fairly sure the visible change wasn't going to break anything, CI results agree, merging.
|
Somewhat-delayed reply: thank you @Davidy22! |
When
makeis invoked in parallel mode (-jparameter), the dependencies of an individual makefile target may be resolved in unpredictable order.That meant that sometimes,
compile-schemaswould incorrectly begin to run before all of thegschemaXML files had been written to the schema destination directory.This change relocates the
glib-compile-schemasstep to ensure that it occurs after the schema files have been written.In addition, the existing
SCHEMA_DIRvariable is used instead ofgsettingsschemadirto refer to the schema directory.Resolves #2219
Edit: 20240914: redraft this description for brevity.