配置版本信息
为了实现软件管理,建议开发者在正式构建软件包前,配置软件包版本等相关信息,便于在后期做安装或者升级操作时,系统可以获取到软件的版本信息。
示例中涉及到的文件路径为“{project_dir}/src/app/add_customized_config”,文件目录结构如下。
├── module_type.py // omsdk软件类型配置文件 ├── replace_module_type.sh // 替换软件配置文件的脚本
操作步骤
- 编辑软件配置文件module_type.py,以便于进行软件包版本信息的获取。
# -*- coding: UTF-8 -*- from enum import Enum from typing import Set class ModuleType(Enum): # 默认支持OMSDK升级 FIRMWARE = "MindXOM" # 该文件为OM SDK重要配置文件,为防止解析错误,其余地方禁止修改 # 在此处可注册添加额外需要升级的固件类型 # 固件类型需要与自定义升级包中的version.xml的Module字段值一致 SDK_UPGRADE = "SDK-Upgrade" @classmethod def values(cls) -> Set[str]: return {elem.value for elem in cls}
因配置文件依赖OM SDK必要的库文件,只允许开发者在上述示例中加粗处进行新增,其余地方禁止修改。所添加的固件类型需要与自定义升级包中的version.xml的Module字段值一致。
- 将om-sdk.tar.gz软件包自带的签名工具({omsdk 根目录}/software/ibma/lib/Linux/upgrade/module_type.py)文件替换为开发者生成的签名工具(module_type.py),如replace_module_type.sh。
#!/bin/bash CUR_DIR=$(dirname "$(readlink -f "$0")") OMSDK_TAR_PATH="${CUR_DIR}/../../../platform/omsdk" # 构建工程OM SDK软件包的解压目录 function replace_cms_verify() { cp -f "${CUR_DIR}/module_type.py" "${OMSDK_TAR_PATH}/software/ibma/lib/Linux/upgrade/module_type.py" } replace_cms_verify
- 在“project_dir/build/build.sh”中实现调用自定义签名的编译脚本。
# 添加自定义omsdk软件配置 # PRODUCT_SCRIPT_PATH={project_dir}/src/app bash "${PRODUCT_SCRIPT_PATH}/add_customized_config/replace_module_type.sh"
父主题: 构建软件包