中文
注册

软件包重构

软件包重构功能分析待迁移软件包的构成,重构并生成鲲鹏平台兼容的软件包。该功能只支持在鲲鹏平台环境上运行。

前提条件

  • 已成功登录鲲鹏DevKit。
  • RPM包只能在类RHEL系统上执行,重构过程中需要依赖系统组件rpmrebuild/rpmbuild/rpm2cpio,请提前检查系统环境是否已满足。

    安装rpmrebuild:自行下载rpmrebuild组件,并上传至服务器执行以下命令安装。

    1
    rpm -ivh xxx.rpm
    

    安装rpmbuild:执行以下命令检查yum源中的rpmbuild的RPM包并安装。

    1
    2
    yum list | grep rpm-build
    yum install -y rpm-build
    

    如果yum源中不存在rpmbuild的RPM包,请自行下载对应组件,并上传至服务器执行以下命令安装。

    1
    rpm -ivh xxx.rpm
    
  • DEB包只能在类Debian系统上执行,重构过程中需要依赖系统组件ar/dpkg-deb,请提前检查系统环境是否已满足。
  • 如果RPM包或者DEB包里面包含JAR包或EAR包,或者需要对JAR包和EAR包进行重构,请检查系统是否存在JAR命令,如果不存在,请安装JDK工具。
  • 当前工具已新增arm/aarch64路径并添加依赖库,如果JAR和EAR包中依赖库路径存在架构相关关键字,请自行检查源码中加载依赖库路径是否正确。

操作步骤

  1. 在页面左侧,选择“软件包重构”单击“”进入创建分析任务区。

    打开“软件包重构”页面,如图1所示。

    “/opt”为默认安装目录,这里以此默认路径为例,请根据实际情况替换。

    图1 软件包重构
  2. 填写“软件包存放路径”。可以通过以下两种方式实现:
    • 单击“上传”按钮上传软件包。
      • 当前支持对RPM包、DEB包、JAR包和EAR包进行重构。
      • 只允许同时上传一个软件包,软件包不超过1GB。
      • 手动上传软件包时,需先检查是否存在上传目录,若不存在,则需创建工具指定路径,并给devkit用户开通读写和执行权限。
    • 先将软件包手动上传到服务器上本工具的指定路径下(例如“/opt/DevKit/workspace/devadmin/porting/packagerebuild/”),给DevKit用户开读写和执行权限,再单击填写框选择下拉框中的软件包即可,也可以手动填写软件包名称。
  3. 配置依赖文件。

    仅提供部分JAR文件自动下载功能,文件将下载到“/opt/DevKit/workspace/xx/porting/data”目录下(xx代表用户名),其他软件包重构过程中需要的依赖资源文件,请自行上传。

    依赖文件有以下两种上传方式。

    • 单击“上传”按钮上传,将需要上传的依赖文件拖拽至上传框内。
    • 单击“点击添加上传”,选择单个或多个需要上传的依赖文件,单击“上传”按钮上传。

      可同时上传多个依赖文件,框内如有同名文件时,将被选择的新文件覆盖,且每个最大不超过1GB。

    工具默认勾选“授权访问外部网络获取重构软件包需要的依赖文件”

  4. 单击“确认重构”进入软件包重构进程,并弹出重构进度对话框。
    • 软件包重构过程中可以离开当前页面进行其他操作。
    • 用户可在任务进行过程中单击关闭,取消任务。
    • 当用户在CentOS 7.6环境下运行,且上传的RPM包存在于依赖字典时,会提示用户配置鲲鹏镜像源,如图2所示,配置好之后再重新进行重构。
      图2 提示配置鲲鹏镜像源
    • 当用户在非CentOS 7.6环境下运行,且上传的RPM包存在于依赖字典时,会提示用户下载已构建好的RPM包,并提供迁移指导,如图3所示。
      图3 提供下载包和迁移指导
    • 当用户在进行JAR包重构时,若上传的JAR包在鲲鹏Maven仓库内存在,则会提示用户从鲲鹏Maven仓库下载对应JAR包或通过配置鲲鹏Maven仓库源的方式直接进行使用,如图4所示,无需进行重构。
      图4 提示下载JAR包或者配置鲲鹏镜像源获取JAR包
    • 当用户上传的RPM包或JAR包不存在于依赖字典中,则直接进行重构。

    如果软件包重构失败并出现JAR文件下载失败的提示:

    • 请检查网络配置、参考配置代理检查代理配置或检查“/opt”目录空间大小。
    • 手动下载JAR文件后重新执行2~4

      需要手动下载的JAR文件名称及下载路径可以在重构报告中查看。

    如果软件包重构失败并出现缺少对应SO/静态库/JAR/二进制文件的提示:自行获取SO/静态库/JAR/二进制文件后重新执行2~4

    • 可在重构报告中查看详细信息并按照提示操作。
    • 缺少SO/静态库/二进制文件时,自行获取对应名称的SO/静态库/二进制文件(如通过下载方式获取SO/静态库/二进制文件,请解压RPM或DEB包取出对应名称的SO/静态库/二进制文件)放入“/opt/DevKit/workspace/xx/porting/data”目录(xx代表用户名)。
  5. 重构成功后,单击“下载重构软件包”可查看执行结果,如图5所示。
    图5 重构报告
    • 软件包重构结果默认保存在“/opt/DevKit/workspace/xx/porting/report/packagerebuild/task_name/”路径下(xx代表用户名,task_name即任务名称),执行完成后您可以进入该路径查看已重构的软件包。用户也可以点击页面上的历史报告,查看重构失败原因并按建议进行处理,失败报告的详细信息请参考重构失败说明
    • 用户可在历史记录区下载和删除已重构的软件包。
    • 用户可将重构的软件包部署到鲲鹏平台进行验证。

重构失败说明

失败报告如图6所示:

图6 重构失败
表1 失败报告参数说明

参数

说明

重构信息

显示任务名称、报告生成时间、软件包存放路径以及重构结果。

已更新依赖文件

显示已经更新的依赖文件名和路径。文件来源主要是用户上传和工具自动下载。

缺少依赖文件

重构过程中缺失的依赖文件。

  • 针对兼容鲲鹏平台的动态库、静态库文件、软件包、可执行文件、JAR包等,用户可以直接单击“下载”,再将此依赖文件上传到服务器。对于一些未开源的依赖文件,工具无法提供下载URL,请自行获取。
  • 针对鲲鹏平台兼容性未知的文件,请先在鲲鹏平台上验证。若不兼容,请联系供应方获取鲲鹏兼容版本,或获取源码并编译成鲲鹏兼容版本,或使用其他方案替代。

重构失败常见场景,请参见重构软件包常见失败场景进行处理。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词