Files
openwrt-packages/lang/rust/patches/0002-rustc-bootstrap-cache.patch
Jeffery To f9f1e0220f rust: Fix compile error if build dir and DL_DIR on separate filesystems
The rust bootstrap downloads files into a "tmp" directory then moves the
files into the "cache" directory using std::fs::rename. There are no
issues in the original/unpatched case as "tmp" and "cache" are
subdirectories in the build directory ($(HOST_BUILD_DIR)/build) and so
are nearly guaranteed to be on the same filesystem.

35768bf31e changed where files are
saved/cached (in $(DL_DIR)/rustc). If HOST_BUILD_DIR and DL_DIR are on
separate filesystems, then using std::fs::rename to move the files will
fail.[1]

This updates 0002-rustc-bootstrap-cache.patch to account for this case,
i.e. if std::fs::rename fails, fall back to copying the file then
removing the original.

[1]: https://github.com/openwrt/packages/pull/22457

Fixes: 35768bf31e ("rust: Cache bootstrap downloads to $(DL_DIR)/rustc")

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2023-10-30 13:29:33 -07:00

2.1 KiB