DB43/T 2258-2021 信息技术应用创新工程建设规范第 11 部分:迁移适配通用技术要求

DB43/T 2258-2021 Information Technology Application Innovation Engineering Construction Specification Part 11: Migration Adapting General Technical Requirements

湖南省地方标准 简体中文 现行 页数:23页 | 格式:PDF

基本信息

标准号
DB43/T 2258-2021
标准类型
湖南省地方标准
标准状态
现行
中国标准分类号(CCS)
国际标准分类号(ICS)
发布日期
2021-12-29
实施日期
2022-03-29
发布单位/组织
湖南省市场监督管理局
归口单位
-
适用范围
-

文前页预览

研制信息

起草单位:
起草人:
出版信息:
页数:23页 | 字数:- | 开本: -

内容描述

ICS01.140.20

CCSL70

43

湖南省地方标准

DB43/T2258—2021

信息技术应用创新工程建设规范

第11部分:迁移适配通用技术要求

EngineeringspecificationfortheApplication

InnovationProjectofInformationTechnology

Part11:Generaltechnicalrequirementsofmigrationandadaptation

2021-12-29发布2022-03-29实施

湖南省市场监督管理局发布

DB43/T2258—2021

目次

前言························································································································Ⅲ

引言························································································································Ⅴ

1范围·····················································································································1

2规范性引用文件······································································································1

3术语和定义············································································································1

4缩略语··················································································································1

5应用软件迁移适配要求·····························································································2

5.1迁移适配评估···································································································2

5.2编译型应用软件迁移适配实施要求········································································2

5.3解释型应用软件迁移适配实施要求········································································3

5.4存储位置要求···································································································3

5.5权限要求·········································································································3

5.6安装脚本要求···································································································3

5.7兼容性要求······································································································4

5.8功能验证·········································································································4

5.9性能优化·········································································································4

6编译型内核驱动软件迁移适配要求··············································································5

6.1迁移适配评估···································································································5

6.2迁移适配实施要求·····························································································5

6.3功能验证·········································································································6

6.4性能优化·········································································································6

附录A(规范性)Qt开发环境迁移···············································································7

附录B(规范性)Gtk开发环境迁移············································································11

附录C(规范性)Python开发环境迁移·······································································14

附录D(资料性)驱动软件迁移适配的软件分析方法······················································15

I

DB43/T2258—2021

II

DB43/T2258—2021

前言

本文件按照GB/T1.1—2020《标准化工作导则第1部分:标准化文件的结构和起草规则》的规

定起草。

请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。

《信息技术应用创新工程建设规范》分为以下几个部分:

——第1部分:台式微型计算机通用技术要求;

——第2部分:便携式微型计算机通用技术要求;

——第3部分:服务器通用技术要求;

——第4部分:操作系统通用技术要求;

——第5部分:操作系统硬件兼容性通用技术要求;

——第6部分:操作系统软件兼容性通用技术要求;

——第7部分:办公套件通用技术要求;

——第8部分:电子公文通用技术要求;

——第9部分:驱动开发通用技术要求;

——第10部分:应用开发通用技术要求;

——第11部分:迁移适配通用技术要求;

——第12部分:国产化信息系统建设质量管理规范;

——第13部分:国产化信息系统运行维护规范;

——第14部分:国产化信息系统建设验收规范;

——第15部分:云计算通用技术要求。

本部分为第11部分。

本部分由湖南省国家密码管理局提出。

本部分由湖南省工业和信息化厅归口。

本部分起草单位:银河麒麟软件(长沙)有限公司、中国人民解放军国防科技大学、飞腾信息技术有

限公司、湖南湘江鲲鹏信息科技有限责任公司、湖南中软信息系统有限公司、湖南长城科技信息有限公

司、湖南国科微电子股份有限公司、长沙景嘉微电子股份有限公司、珠海金山办公软件有限公司、鹏城

实验室。

本部分主要起草人:魏立峰、吴庆波、张铎、孙立明、彭欢、蒋林轩、战茅、王晓川、朱浩、王静、

谌志华、蔡威、张月、韩光、吕超、董昱、曹泽文、孙洪桥、付志鹏。

III

DB43/T2258—2021

IV

DB43/T2258—2021

引言

湖南省为深入贯彻国家网络强国战略,全面落实中央有关文件精神,部署开展湖南省信息技术应用

创新工程建设,保障全省各级党政机关关键信息基础设施信息安全和信息系统安全可靠运行。针对自主

可控产品体系初具规模,但相关产品和工程实施标准规范还很缺乏的现状,为了规范工程建设,加速工

程进度,扩大建设结果,同时有力提升自主可控产业发展水平,确保信息安全,由湖南省国家密码管理

局作为业务主管单位、湖南省工业和信息化厅作为技术归口单位,由中国人民解放军国防科技大学、中

国电子信息产业集团有限公司等单位与湖南省合作制定了《信息技术应用创新工程建设规范》地方标准。

《信息技术应用创新工程建设规范》主要由自主可控核心产品、典型应用、工程管理等方面的规范

组成,重点解决应用创新工程建设当中产品选型、应用开发、工程实施等基础环节的实际问题,可为应

用创新工程的用户使用单位、集成建设单位和相关产品研制单位,在产品和应用规范化、软硬件兼容适

配、工程实施标准等方面提供一般性指引。

《信息技术应用创新工程建设规范》未来将根据自主可控产业和应用创新工程的发展变化进行相应

的必要调整和补充。

V

DB43/T2258—2021

VI

DB43/T2258—2021

信息技术应用创新工程建设规范

第11部分:迁移适配通用技术要求

1范围

本文件规定了应用软件程序和设备驱动程序在不同操作系统之间迁移适配的技术要求,应用软件迁

移适配要求包括开发环境迁移适配、代码重编译、运行环境迁移适配、存储位置、权限、安装脚本和兼

容性要求,设备驱动程序迁移适配包括代码设计、代码适配、代码重编译、打包、内核兼容性等要求,

并提出迁移后的功能验证和性能优化要求。

本文件适用于指导信息技术应用创新工程建设中应用软件和设备驱动程序在不同操作系统上的迁

移适配工作,也为应用软件和设备驱动程序迁移后的软件测试提供指导。

2规范性引用文件

下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,

仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本

文件。

DB43/T1777.6—2020信息技术应用创新工程建设规范第6部分:操作系统软件兼容性通用技

术要求

DB43/T2260—2021信息技术应用创新工程建设规范第9部分:驱动开发通用技术要求

DB43/T2259—2021信息技术应用创新工程建设规范第10部分:应用开发通用技术要求

3术语和定义

下列术语和定义适用于本文件。

3.1

动态链接库dynamiclinklibrary

是一种不可执行的二进制程序文件,它允许程序共享执行特殊任务所必需的代码和其他资源。

3.2

驱动程序driver

驱动程序是硬件厂商根据操作系统编写的配置文件,操作系统通过驱动来与控制设备和进行通信。

3.3

版本魔术信息vermagicinformation

版本魔术信息是一个描述内核版本号以及基础内核配置的字符串。

4缩略语

下列缩略语适用于本文件:

1

DB43/T2258—2021

CRC:循环冗余校验(CyclicRedundancyCheck)

DKMS:动态内核模块支持(DynamicKernelModuleSupport)

GDK:图形开发工具包(GraphicsDevelopmentKit)

GPU:图形处理器(GraphicsProcessingUnit)

GTK:跨多种平台的图形工具包(GIMPToolkit)

5应用软件迁移适配要求

5.1迁移适配评估

在迁移适配工作开始之前,应按以下要求进行迁移适配评估:

a)迁移软件源码分析:分析迁移软件的主要功能和模块组成,建立功能模块与功能实现的映

射关系;

b)基础运行环境分析:分析迁移软件所在源平台和目标平台的开发环境、运行环境、开发规范

以及处理器指令集的差异,评估这些差异对迁移软件代码的影响;

c)第三方软件栈分析:分析目标平台上的第三方软件栈(包括数据库、中间件、办公套件、浏

览器等)数据、二次开发接口、操作习惯等是否兼容,确定可以重用、需要迁移改造的功能模

块和代码段范围,确定迁移适配的技术路线;

d)迁移适配工作量评估:根据迁移适配可能的技术路线,从技术方案和管理实施等角度评估

不同组合的迁移工作量、复杂度和成本;

e)迁移环境准备:主要包括硬件设备、操作系统以及调试工具等的准备和部署。

5.2编译型应用软件迁移适配实施要求

5.2.1开发环境迁移适配要求

a)应分析应用软件的架构和实现技术、与操作系统平台的耦合度和依赖度,确定迁移所涉及的

各类系统机制;

b)将与系统调用无关的部分代码进行剥离,在国产操作系统环境下重建工程,重用代码;

c)根据软件分析中运行环境、开发环境和接口的差异进行代码修改,实现与原系统相同的软件

功能,例如Qt项目迁移,当前主要从Qt4迁移到Qt5,具体迁移参照表应符合附录A的规定;

Gtk迁移主要从gtk2迁移到gtk3,具体内容应符合附录B的规定。

5.2.2代码重编译要求

代码重新编译时,应对编译脚本和编译选项进行移植,将编译脚本和编译选项更改为目标体系结构

支持的编译脚本和编译选项。生成软件包时,命名和打包规范应按照DB43/T1777.6—2020中6.5节要

求执行。

5.2.3运行环境迁移适配要求

应用软件运行前应确认所依赖的第三方运行库是否存在,如缺少对应的动态链接库,应针对不同的

操作系统查找和安装动态链接库对应的软件包。

在采用Deb格式软件包的操作系统中,可通过执行“apt-filesearch动态库名”的方式来查找指

定的动态链接库所对应的软件包;在采用RPM格式软件包的操作系统中,可通过“yumwhatprovides动

态库名”的方式来查找指定的动态链接库所对应的软件包。找到对应的动态库包之后,可通过操作系统

2

DB43/T2258—2021

厂商提供的软件源进行下载和安装。

如已安装动态链接库软件包但是链接地址错误,可以通过将动态链接库所在的目录路径添加到

LD_LIBRARY_PATH环境变量或者系统指定的链接库配置文件/etc/ld.so.conf的方式进行修复。

5.3解释型应用软件迁移适配实施要求

解释型应用软件可在操作系统环境下直接运行,具有较好的跨平台可移植性,大部分软件无需修改

源代码,迁移工作量相对较小。但针对以下情况,应进行少量修改并重新编译:

a)当目标平台和移植前的环境不一致时,则需根据版本差异,修改源代码中库和接口的调用相

关部分,例如Python应用程序,目前主要从python2迁移到python3,迁移后应注意语法变

化和迁移时宜使用的工具,应符合附件C的要求;

b)如果通过JNI或其他形式调用的库是采用C/C++等编译型语言开发,则被调用库的代码需按

照5.2节重新编译或修改;

c)对软件运行需要的第三方软件栈,包括第三方国产数据库、中间件、办公套件、浏览器等软

件栈进行迁移和替换;

d)系统运行时如缺少对应的动态链接库,则需要针对不同的国产操作系统,按照5.2.3节寻找

和安装对应的动态库包。

5.4存储位置要求

应用软件可执行程序、动态库、配置文件、数据文件、缓存文件的存储位置,应符合DB43/T2259

—2021第6章的要求。

5.5权限要求

5.5.1权限分离要求

具有前端交互逻辑的应用软件的可执行程序,应以普通用户权限运行,不应使用sudo、pkexec等

命令来提权运行。

具有前端交互逻辑的应用软件的可执行程序,如果需要特权态执行某些操作,应使用前后端分离的

方式实现,通过dbus等技术与后端具有管理员权限的服务端通讯,实现相关功能。

5.5.2权限提升要求时用户鉴别要求

前端应用程序使用dbus等技术与后端具备管理员权限的服务通讯时,应使用policykit等技术进

行身份鉴别,用于确定用户是否具备该项行为的权限。

5.6安装脚本要求

a)宜将维护者脚本作为软件包的一部分,当安装、升级、移除软件包时,软件包管理系统会自

动执行这些脚本;

b)维护者脚本应是可执行文件,以#!符号开头,且这些脚本应是可读的,可被任何人执行,不

应全局可写;

c)包管理系统可查看维护者脚本的退出状态,如果脚本运行错误,应返回一个非零值;如果脚本

运行正常,应返回零值;

d)用户与软件包通过维护者脚本中的配置文件进行交互时,应先安装一个配置脚本作为控制

信息文件;

e)升级软件包时,包管理系统将调用旧版本和新版本软件包中的脚本组合,用户应检查参数

3

DB43/T2258—2021

以保证正确性;

f)在软件包解压之前应先为正在被升级的包停止相关服务,然后完成所需的配置工作;在移

除软件包之前,应先停止一个软件包的相关进程,然后修改相关文件或连接,和/或卸载软件

包所创建的文件;

g)维护者脚本调用的程序不应在程序名前添加路径,其路径会设置在PATH环境变量中。

5.7兼容性要求

5.7.1与操作系统解耦要求

应用软件不应依赖操作系统提供的任何动态链接库(除基础C库外)。

应用软件不应直接修改操作系统提供的配置文件,宜通过操作系统提供的接口来修改。部分系统配

置可通过新增高优先级配置文件来进行配置覆盖,新增的配置文件以“两位数字-应用名.conf”的形式

命名

相似标准推荐

更多>