背景
build.mcpp 的 env 契约(MCPP_MANIFEST_DIR / MCPP_OUT_DIR / MCPP_TARGET /
MCPP_FEATURE_*)没有提供依赖包的安装路径。当一个包的 build.mcpp 需要读取
依赖包的 payload(实际案例:compat.opencv 的 unifont feature 依赖数据资产包
compat.opencv-unifont,build.mcpp 要把字体 blob2hdr 进 builtin_font_uni.h),
只能靠 store 布局约定自寻:
// <data>/xpkgs/<self>/<ver> -> <data>/runtimedir/<file>(裸 .gz payload 实测落点)
fs::path rt = man.parent_path().parent_path().parent_path() / "runtimedir" / fname;
// fallback:扫 <data>/xpkgs/*opencv-unifont*/ 找文件名
能用,但把 store 内部布局变成了包侧 API。
期望
为声明了 deps 的包,在 build.mcpp 子进程注入:
MCPP_DEP_<SANITIZED_NAME>_DIR=<该依赖的 verdir 或 payload 根>
(与 MCPP_FEATURE_ 同款 sanitize)。顺带一提:裸文件(非归档)payload 目前
verdir 里只有元数据、实体在共享 runtimedir ——若能把它挂进 verdir(硬链/副本),
MCPP_DEP_*_DIR 语义会更完整。
环境
mcpp 0.0.97 · linux x86_64 · 实例见 mcpp-index PR #79(compat.opencv unifont feature)
背景
build.mcpp 的 env 契约(MCPP_MANIFEST_DIR / MCPP_OUT_DIR / MCPP_TARGET /
MCPP_FEATURE_*)没有提供依赖包的安装路径。当一个包的 build.mcpp 需要读取
依赖包的 payload(实际案例:compat.opencv 的
unifontfeature 依赖数据资产包compat.opencv-unifont,build.mcpp 要把字体 blob2hdr 进 builtin_font_uni.h),
只能靠 store 布局约定自寻:
能用,但把 store 内部布局变成了包侧 API。
期望
为声明了 deps 的包,在 build.mcpp 子进程注入:
(与 MCPP_FEATURE_ 同款 sanitize)。顺带一提:裸文件(非归档)payload 目前
verdir 里只有元数据、实体在共享 runtimedir ——若能把它挂进 verdir(硬链/副本),
MCPP_DEP_*_DIR 语义会更完整。
环境
mcpp 0.0.97 · linux x86_64 · 实例见 mcpp-index PR #79(compat.opencv unifont feature)