core: 移除 init.txt 向后兼容,仅支持 services.yaml

- InitParser: 移除 parseTxt(),load() 不再回退 init.txt
- pmc_mtd: parse_self_init_list 移除 TXT 分支,非 .yaml 文件报错退出
- main.cpp: --help 中 -i 参数描述移除 .txt
- Makefile: install/uninstall 移除 init.txt 拷贝/删除
- services.yaml: 头注释移除 init.txt 相关措辞
- 删除 init.txt 文件
- README (core + 项目根): 全部 init.txt 引用替换为 services.yaml
- core README: 补全 liblogc/yaml-cpp 依赖声明,修正文件结构
This commit is contained in:
qing committed 2026-08-10 05:39:00 +00:00
1 parent f041bf284b
commit b0d71a4c58
9 files changed
+53 -119

No files matched your search

+6 -8
View File
@@ -93,14 +93,11 @@ catch(std::exception& exp) {
/* 解析自启动列表、添加自启动项
*
* 兼容两种格式:
* - services.yaml(结构化声明,含 args/env/depends_on/sleep_before)
* - init.txt(纯命令列表,每行一条 bash 命令,# 开头为注释)
* 仅支持 services.yaml 格式(结构化声明,含 args/env/depends_on/sleep_before)
*
* path 可以是:
* - 目录路径 → 自动查找 services.yaml 或 init.txt
* - 目录路径 → 自动查找目录下的 services.yaml
* - .yaml 文件 → 按 YAML 解析
* - 其他文件 → 按 TXT 解析(向后兼容 init.txt)
*
* 如果在解析过程中出错,只是打印异常 */
void parse_self_init_list(std::string &path)
@@ -110,14 +107,15 @@ try {
std::vector<registry::ServiceConfig> services;
if (fs::is_directory(path)) {
/* 目录模式:InitParser::load 自动查找 services.yaml → init.txt */
/* 目录模式:InitParser::load 查找 services.yaml */
services = registry::InitParser::load(path);
} else if (path.size() > 5 && path.substr(path.size() - 5) == ".yaml") {
/* YAML 文件模式 */
services = registry::InitParser::parseYaml(path);
} else {
/* TXT 文件模式(向后兼容 init.txt) */
services = registry::InitParser::parseTxt(path);
/* 不再支持 init.txt 纯命令列表格式 */
std::cerr << "parse_self_init_list: 不支持的配置格式,请使用 services.yaml" << std::endl;
return;
}
if (services.empty()) {