The repo's generated ODK scaffold (src/ontology/Makefile, src/scripts/*) is ODK v1.5.4, but the local/CI ODK image is v1.6.1. Because of that skew, sh run.sh make update_repo fails:
cp: cannot stat 'target/metpo/src/scripts/update_repo.sh': No such file or directory
make: *** [Makefile:603: update_repo] Error 1
The v1.5.4 update_repo.sh generates a v1.6.1 seed into target/ then copies files back, but the newer seed lays scripts out differently, so the copy-back aborts. It changes no tracked files (clean abort), but it means update_repo cannot be used until the repo is upgraded to 1.6.1 via the proper ODK upgrade procedure (re-seed), not a one-liner. The build's recurring Your ODK configuration has changed… run 'make update_repo' warning is a side effect of this and is otherwise cosmetic.
Why this matters / what to preserve on upgrade. Several IRI-scheme values are currently maintained as hand-edits to the generated Makefile because update_repo can't apply them:
A working update_repo after upgrade will regenerate the Makefile and revert these unless the values are made configurable in metpo-odk.yaml (or re-applied). The upgrade task must verify the version/product IRIs stay single-metpo/ and that metpo-base.* still contains METPO terms.
Related: #436, #463, #464, #433.
The repo's generated ODK scaffold (
src/ontology/Makefile,src/scripts/*) is ODK v1.5.4, but the local/CI ODK image is v1.6.1. Because of that skew,sh run.sh make update_repofails:The v1.5.4
update_repo.shgenerates a v1.6.1 seed intotarget/then copies files back, but the newer seed lays scripts out differently, so the copy-back aborts. It changes no tracked files (clean abort), but it meansupdate_repocannot be used until the repo is upgraded to 1.6.1 via the proper ODK upgrade procedure (re-seed), not a one-liner. The build's recurringYour ODK configuration has changed… run 'make update_repo'warning is a side effect of this and is otherwise cosmetic.Why this matters / what to preserve on upgrade. Several IRI-scheme values are currently maintained as hand-edits to the generated Makefile because
update_repocan't apply them:URIBASE=https://w3id.org,ONTBASE=https://w3id.org/metpo(Version IRI has duplicated metpo/ path segment #436, Finalize w3id IRI scheme: collapse version-IRI doubling (#436), declare w3id canonical (#435) #462)--base-iri $(URIBASE)/metpo(metpo-base.* release artifacts contain no METPO terms (base-IRI filter mismatch) #463, Populate empty -base release artifacts; clarify README IRI wording (#463) #464) — the ODK default is$(URIBASE)/METPO, which does not match METPO's lowercase w3id term IRIs and silently empties the-baseproducts.A working
update_repoafter upgrade will regenerate the Makefile and revert these unless the values are made configurable inmetpo-odk.yaml(or re-applied). The upgrade task must verify the version/product IRIs stay single-metpo/and thatmetpo-base.*still contains METPO terms.Related: #436, #463, #464, #433.