ptxdist cargosync iceoryx2 

--------------------------
target: iceoryx2.cargosync
--------------------------


Reading Cargo.lock...

Processing addr2line 0.25.1 ...
Downloading $(call ptx/mirror, CRATESIO, addr2line/0.25.1/download) ...


Unknown URL Type!
URL: $(call

make: *** 
[/usr/local/lib/ptxdist-2026.06.0/rules/post/ptxd_make_world_cargo.make:15: 
/home/dev/demo/root/platform-raspi4b/state/iceoryx2.cargosync] Error 1


Here's the problem (according to Claude):
What broke: ptxdist cargosync downloads each crate from Cargo.lock into SRCDIR 
while generating iceoryx2.cargo.make. In ptxdist 2026.06.0, upstream commit 
ee282ffe7 ("setup: add mirror for crates.io", May 2026) changed the URL that 
cargosync uses for each crate from a real URL 
(https://crates.io/api/v1/crates/<name>/<version>/download) to the make 
expression $(call ptx/mirror, CRATESIO, <name>/<version>/download).
Why that fails: that expression is only meaningful when make evaluates it — 
which happens later, in the normal get stage, when the generated .cargo.make is 
parsed. But cargosync itself runs as a shell script 
(ptxd_make_world_cargo_sync_package in scripts/lib/ptxd_make_world_cargo.sh) 
and passes the string unexpanded to ptxd_make_get, which only understands real 
URL schemes (http://, git://, …). It splits the string on spaces, sees $(call 
as the "URL", and dies with exactly your error — Unknown URL Type! URL: $(call.
The download is only attempted when the .crate file is missing from SRCDIR (if 
[ ! -e "${path}" ]), so upstream's own websocat.cargo.make etc. were 
regenerated on machines that already had all crates cached — that's presumably 
why the regression went unnoticed. I checked upstream git: there's no fix yet

I hope it helps!
Artur


Reply via email to