* [ptxdist] 'ptxdist cargosync' cannot download missing crates since 2026.06.0
@ 2026-07-18 19:24 Artur Wiebe via ptxdist
2026-08-12 5:47 ` Michael Olbrich
0 siblings, 1 reply; 2+ messages in thread
From: Artur Wiebe via ptxdist @ 2026-07-18 19:24 UTC (permalink / raw)
To: ptxdist; +Cc: Artur Wiebe
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
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [ptxdist] 'ptxdist cargosync' cannot download missing crates since 2026.06.0
2026-07-18 19:24 [ptxdist] 'ptxdist cargosync' cannot download missing crates since 2026.06.0 Artur Wiebe via ptxdist
@ 2026-08-12 5:47 ` Michael Olbrich
0 siblings, 0 replies; 2+ messages in thread
From: Michael Olbrich @ 2026-08-12 5:47 UTC (permalink / raw)
To: Artur Wiebe via ptxdist; +Cc: Artur Wiebe
Hi,
On Sat, Jul 18, 2026 at 09:24:34PM +0200, Artur Wiebe via ptxdist wrote:
> ptxdist cargosync iceoryx2
>
> --------------------------
> target: iceoryx2.cargosync
> --------------------------
>
>
> Reading Cargo.lock...
>
> Processing addr2line 0.25.1 ...
> Downloading $(call ptx/mirror, CRATESIO, addr2line/0.25.1/download) ...
This should be fixed now in master. Thanks for the report.
Michael
>
>
> 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
>
>
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-08-12 5:48 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-07-18 19:24 [ptxdist] 'ptxdist cargosync' cannot download missing crates since 2026.06.0 Artur Wiebe via ptxdist
2026-08-12 5:47 ` Michael Olbrich
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox