我要评分
获取效率
正确性
完整性
易理解

Software Porting Assessment

The software porting assessment function analyzes the SO library files in the software installation path in the x86 environment and checks whether these files are compatible with the Kunpeng platform.

Command Function

Scans and analyzes software packages (non-source packages) and installed software, and provides porting assessment reports.

Syntax

devkit porting pkg-mig {-i INPUT_PATH | --input INPUT_PATH} [-o OUTPUT_PATH | --output OUTPUT_PATH] [-r {all,json,html,csv} | --report-type {all,json,html,csv}] [-l {0,1,2,3} | --log-level {0,1,2,3}] [--set-timeout TIMEOUT] [-t,--target-os target-os] 

Parameter Description

Table 1 Parameter description

Parameter

Option

Description

-h/--help

-

Obtains help information.

-i/--input

-

Path of the software package to be scanned. Use commas (,) to separate multiple paths. The supported software package formats include RPM, DEB, JAR/WAR, TAR, ZIP, and GZIP.

-t/--target-os

See the -h help information.

Target OS. If this parameter is not set, the current OS is used by default.

-o/--output

-

Path for storing scan reports. By default, scan reports are stored in the current execution path. A report name is the format of Feature name_Timestamp.

--set-timeout

-

Timeout interval of a task, in minutes. If the execution duration exceeds the timeout interval, the task exits. By default, there is no timeout interval. The task will be executed until it is complete.

-l/--log-level

0/1/2/3

Log level, which defaults to 1.
  • 0: DEBUG
  • 1: INFO
  • 2: WARNING
  • 3: ERROR

-r/--report-type

all/json/html/csv

Scan report format, which defaults to all.
  • all: generates reports in JSON, HTML, and CSV formats.
  • json: generates a report only in JSON format.
  • html: generates a report only in HTML format.
  • csv: generates a report only in CSV format.

Example

Replace the path in the following example command with the actual path of the software package to be scanned.

devkit porting pkg-mig -i impala-2.9.0+cdh5.12.1+0-1.cdh5.12.1.p0.3.el7.x86_64.rpm  

The following information is displayed and a report is generated:

Using the local system as target os: openeuler20.03sp1
Configuration:
    Task name: 20240229094505
    Scanned time: 2024-02-29 09:45:05
    Software package path: /home/software/impala-2.9.0+cdh5.12.1+0-1.cdh5.12.1.p0.3.el7.x86_64.rpm
    Target OS: openeuler20.03sp1
    Target OS Kernel Version: 4.19.90
 
Summary:
    Compatible: 6, To be Verified: 25, Total Dependencies: 31
 
For the detailed information, please check: 
/home/DevKit_Software/pkg-mig_20240229014505_dacb.csv
/home/DevKit_Software/pkg-mig_20240229014505_dacb.html
/home/DevKit_Software/pkg-mig_20240229014505_dacb.json

Output Report

Table 2 Output report parameters

Parameter

Description

Configuration

Displays the software package path, software package name, target OS, target OS kernel version, and assessment result.

Architecture-Related Dependencies

Displays the SO files.

  • You can click Download in the Handling Suggestions column to download the dynamic libraries, static library files, software packages, executable files, and JAR packages that are compatible with the Kunpeng platform. You can also download the source code of the Kunpeng version and compile it. For some non–open-source dependency files, the download URLs are not available. You need to obtain the files yourself and use them to replace the architecture-related dependency files.
  • If the compatibility with the Kunpeng platform is unknown, verify the compatibility on the Kunpeng platform first. If the software is not compatible with the Kunpeng platform, obtain a compatible version from the vendor, obtain the source code and compile it, or use alternative software.
    NOTE:

    If a message indicating that the file is compatible with the Kunpeng platform is displayed in the Handling Suggestions column, the object to be analyzed is a ported software package or source package, and the x86 dependency file has a corresponding Kunpeng dependency file on the Kunpeng platform.