@@ -26,27 +26,40 @@ git clone -b master --single-branch https://github.com/immortalwrt/luci.git temp
2626git clone -b master --single-branch https://github.com/immortalwrt/packages.git temp_resp/immortalwrt_packages
2727
2828# =========================================================
29- # Golang/Rust 原生覆盖 (放入 package)
29+ # Golang/Rust 强制覆盖 (直接操作 feeds 目录)
30+ # 确保这段代码在 ./scripts/feeds update -a 之后执行
3031# =========================================================
31- # rm -rf package/custom_overrides
32- # mkdir -p package/custom_overrides
33- # cp -a temp_resp/openwrt_packages/lang/golang package/custom_overrides/
34- # cp -a temp_resp/openwrt_packages/lang/rust package/custom_overrides/
35-
36- # GOLANG_TIME=$(cd temp_resp/openwrt_packages && git log -1 --format=%cd --date=unix -- lang/golang)
37- # RUST_TIME=$(cd temp_resp/openwrt_packages && git log -1 --format=%cd --date=unix -- lang/rust)
38-
39- # if [ -n "$GOLANG_TIME" ]; then
40- # find package/custom_overrides/golang -exec touch -m -d @"$GOLANG_TIME" {} +
41- # else
42- # echo "⚠️ 警告: 无法提取 Golang 的上游时间戳,将使用拷贝时的时间"
43- # fi
32+ echo " 清理旧版 Golang 和 Rust..."
33+ # 1. 删除 feeds 里的原生目录
34+ rm -rf feeds/packages/lang/golang
35+ rm -rf feeds/packages/lang/rust
4436
45- # if [ -n "$RUST_TIME" ]; then
46- # find package/custom_overrides/rust -exec touch -m -d @"$RUST_TIME" {} +
47- # else
48- # echo "⚠️ 警告: 无法提取 Rust 的上游时间戳,将使用拷贝时的时间"
49- # fi
37+ # 2. 如果之前执行过 feeds install,必须清理掉残留的软链接,防止指向空目录
38+ rm -rf package/feeds/packages/golang
39+ rm -rf package/feeds/packages/rust
40+
41+ echo " 注入最新版 Golang 和 Rust..."
42+ # 3. 将新代码直接放入 feeds 目录,伪装成原生 feed 包
43+ cp -a temp_resp/openwrt_packages/lang/golang feeds/packages/lang/
44+ cp -a temp_resp/openwrt_packages/lang/rust feeds/packages/lang/
45+
46+ # =========================================================
47+ # 恢复上游时间戳 (避免不必要的重新编译)
48+ # =========================================================
49+ GOLANG_TIME=$( cd temp_resp/openwrt_packages && git log -1 --format=%cd --date=unix -- lang/golang)
50+ RUST_TIME=$( cd temp_resp/openwrt_packages && git log -1 --format=%cd --date=unix -- lang/rust)
51+
52+ if [ -n " $GOLANG_TIME " ]; then
53+ find feeds/packages/lang/golang -exec touch -m -d @" $GOLANG_TIME " {} +
54+ else
55+ echo " ⚠️ 警告: 无法提取 Golang 的上游时间戳,将使用拷贝时的时间"
56+ fi
57+
58+ if [ -n " $RUST_TIME " ]; then
59+ find feeds/packages/lang/rust -exec touch -m -d @" $RUST_TIME " {} +
60+ else
61+ echo " ⚠️ 警告: 无法提取 Rust 的上游时间戳,将使用拷贝时的时间"
62+ fi
5063
5164
5265# =================================================================
0 commit comments