From e72fc5cfb5b30bc097159681fc6bce46ba6c257c Mon Sep 17 00:00:00 2001 From: xuezhixin Date: Wed, 6 Nov 2024 15:55:43 +0800 Subject: [PATCH] removed detection abi script --- 0054-removed-detection-abi-script.patch | 643 ++++++++++++++++++++++++ migration-tools.spec | 7 +- 2 files changed, 649 insertions(+), 1 deletion(-) create mode 100644 0054-removed-detection-abi-script.patch diff --git a/0054-removed-detection-abi-script.patch b/0054-removed-detection-abi-script.patch new file mode 100644 index 0000000..5a3c330 --- /dev/null +++ b/0054-removed-detection-abi-script.patch @@ -0,0 +1,643 @@ +From 0864ae482d003c316f7f03839e49d54133981698 Mon Sep 17 00:00:00 2001 +From: xuezhixin +Date: Fri, 10 Nov 2023 17:42:55 +0800 +Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4ABI=E6=A3=80=E6=B5=8B?= + =?UTF-8?q?=E8=84=9A=E6=9C=AC?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +--- + sysmig_agent/Abisystmcompchk.sh | 458 -------------------------------- + sysmig_agent/Abitranrept.sh | 153 ----------- + 2 files changed, 611 deletions(-) + delete mode 100755 sysmig_agent/Abisystmcompchk.sh + delete mode 100755 sysmig_agent/Abitranrept.sh + +diff --git a/sysmig_agent/Abisystmcompchk.sh b/sysmig_agent/Abisystmcompchk.sh +deleted file mode 100755 +index 15938fc..0000000 +--- a/sysmig_agent/Abisystmcompchk.sh ++++ /dev/null +@@ -1,458 +0,0 @@ +-#!/bin/bash +-########################变量定义################################# +- +-LOCAL_DIR=/var/tmp/uos-migration/data +- +-#原始数据目录 +-UOS_DIR=$LOCAL_DIR/uos/rpms +-DIFF_DIR=$LOCAL_DIR/all-diff +- +-#输出结果目录 +-EXP_DIR=$LOCAL_DIR/exp-rst +- +-#系统基本信息文件 +-SYSTEM_INFO=systeminfo.txt +- +-#软件包对比文件 +-PKG_COMP_LIST_01=pkginfo_1.txt +-PKG_COMP_LIST_02=pkginfo_2.txt +-PKG_COMP_LIST_04=pkginfo_4.txt +- +-#不兼容兼容定义 +-START_CHANGE="================ changes of START===============" +-ENDS_CHANGE="================ end of changes of END===============" +- +-#兼容、不兼容检查结果输出列表 +-ABI_COMPAT_PKG=abi-compat-pkg.txt +-ABI_INCOMPAT_PKG=abi-incompat-pkg.txt +- +-#生成总包文件 +-UOS_PKG_RPMS_LIST=uos-pkg-rpms-list.txt +-OTH_PKG_RPMS_LIST=oth-pkg-rpms-list.txt +- +-ABI_DIFF_PKG_ERR=abi-diff-pkg-err.txt +-SUFFIX=.oked +- +-CACHE_SPACE="/var/tmp/uos-migration/UOS_analysis_report/rpmva-before.txt" +- +-#1. 创建目录 +-create_file_path() +-{ +- #接收yum仓库下载的rpm目录 +- if [ ! -d "$UOS_DIR" ] +- then +- mkdir -p $UOS_DIR +- echo "mkdir -p $UOS_DIR success ... " +- fi +- +- #数据导出目录 +- if [ ! -d "$EXP_DIR" ] +- then +- mkdir -p $EXP_DIR +- echo "mkdir -p $EXP_DIR success ... " +- fi +- +- #abidiff工具检测结果目录 +- if [ ! -d "$DIFF_DIR" ] +- then +- mkdir -p $DIFF_DIR +- echo "mkdir -p $DIFF_DIR success ... " +- fi +-} +- +-#2. 获取rpm包列表,并解压rpm包 +-get_rpm_list() +-{ +- #清理历史数据 +- if [ -f "$EXP_DIR/$UOS_PKG_RPMS_LIST" ] +- then +- rm -f $EXP_DIR/$UOS_PKG_RPMS_LIST +- fi +- +- if [ -f "$EXP_DIR/$OTH_PKG_RPMS_LIST" ] +- then +- rm -f $EXP_DIR/$OTH_PKG_RPMS_LIST +- fi +- +- #获取当前系统包列表 +- for line in `rpm -qa | sort` +- do +- var=${line%-*} +- echo ${var%-*} >> $EXP_DIR/$OTH_PKG_RPMS_LIST +- done +- +- #源仓库批量下载当前系统包列表 +- for downpkg in `cat $EXP_DIR/$OTH_PKG_RPMS_LIST` +- do +- string=$downpkg +- downpkg_list="${downpkg_list} ${string}" +- done +- +- yumdownloader --destdir=$UOS_DIR $downpkg_list --skip-broken +- +- #获取迁移系统包列表 +- cd $UOS_DIR && for line1 in `ls *.rpm`;do var1=${line1%-*} echo ${var1%-*} >> $EXP_DIR/$UOS_PKG_RPMS_LIST ;done +- +- #当前系统与迁移系统共有的包列表 +- grep -f $EXP_DIR/$UOS_PKG_RPMS_LIST $EXP_DIR/$OTH_PKG_RPMS_LIST > $EXP_DIR/$PKG_COMP_LIST_04 +- +- #当前系统有,迁移系统无的包列表 +- grep -wvf $EXP_DIR/$UOS_PKG_RPMS_LIST $EXP_DIR/$OTH_PKG_RPMS_LIST > $EXP_DIR/$PKG_COMP_LIST_02 +- +- #根据包名找到对应的.rpm包,通过判断:(包名长度+1)个字符为数字判断是否为要解压的包 +- for data in `cat $EXP_DIR/$PKG_COMP_LIST_04` +- do +- data_len=`expr length "$data"` +- len_char=`expr $data_len + 1` +- +- cmd_rst=`ls $data*` +- #针对同一包名多个查找结果处理 +- for pkg_name in $cmd_rst +- do +- char=${pkg_name:$len_char:1} +- echo "$char" | [ -n "`sed -n '/^[0-9][0-9]*$/p'`" ] && rpm2cpio $pkg_name | cpio -idmv +- if [ $? == 0 ];then +- +- #条件不完整,可根据情况添加检测的目录 +- rpm -qpl $pkg_name | grep -v ".build-id\|\/etc\/\|\/share\/" > $EXP_DIR/rpm-pkg-info.txt +- deal_file $EXP_DIR/rpm-pkg-info.txt $data +- mv $UOS_DIR/$pkg_name $UOS_DIR/$pkg_name$SUFFIX +- fi +- done +- done +-} +- +- +-#根据解压列表,过滤出兼容性检测的文件 +-deal_file() +-{ +- #清理数据 +- rm -f $EXP_DIR/$2.diff +- +- for line in `cat $1` +- do +- rst=`file -i $line` +- if [[ ${rst#*charset=} == "binary" ]];then +- +- #获取要对比的文件名 +- uos_bin=${line##*\/} +- +- #获取要对比的文件名路径 +- uos_path_1=${line#*\/} +- uos_path=${uos_path_1%%\/*} +- +- #获取本系统文件名 +- rst_find=`find /$uos_path -name $uos_bin` +- if [[ ${rst_find} != 0 ]];then +- +- #做对比到处结果 +- abidiff .$line $rst_find > $EXP_DIR/abidiff_comp_rst.txt +- #abidiff工具检测结果不存在报错 +- if [[ ! -f "$EXP_DIR/abidiff_comp_rst.txt" ]];then +- echo "abidiff $line $rst_find err!!!!" +- continue +- else +- if [[ -s $EXP_DIR/abidiff_comp_rst.txt ]];then +- +- #存在不为空,按照abipkgdiff工具结果格式生成报告 +- echo ${START_CHANGE//START/\'$uos_bin\'} >> $DIFF_DIR/$2.diff +- cat $EXP_DIR/abidiff_comp_rst.txt >> $DIFF_DIR/$2.diff +- echo ${ENDS_CHANGE//END/\'$uos_bin\'} >> $DIFF_DIR/$2.diff +- echo " " >> $DIFF_DIR/$2.diff +- else +- #存在为空,直接导入结果列表 +- cat $EXP_DIR/abidiff_comp_rst.txt >> $DIFF_DIR/$2.diff +- fi +- fi +- fi +- fi +- done +-} +- +-#3. abi检查结果,包括兼容、非兼容的二进制包 +-# 逐个处理 .diff 结果文件 +-get_abi_comp_rest() +-{ +- echo "" +- echo "------------------------- 获取abi兼容、非兼容包列表开始 -------------------------" +- TOTAL_NUM=0 +- TOTAL_COMP_NUM=0 +- FILE_SO=".so" +- FILE_EXEC=".exec" +- FILE_MOD=".mod" +- DATA_LINE_1="================ changes" +- DATA_LINE_2="Functions changes summary: " +- DATA_LINE_3="Variables changes summary: " +- DATA_LINE_4="Function symbols changes summary: " +- DATA_LINE_5="Variable symbols changes summary: " +- ABI_DIFF_PKG_ABNO=abi-diff-pkg-abno.txt +- ABI_INCOMPAT_PKG_ERR=abi-incompat-pkg-err.txt +- +- ABI_COMPAT_PKG_LINE="包名" +- ABI_INCOMPAT_PKG_LINE1="abi不兼容的包有INCOMP_PKG_NUM|" +- ABI_INCOMPAT_PKG_LINE2="包名|不兼容类型|不兼容来源|说明" +- +- cd $DIFF_DIR +- +- #初始化文件头信息 +- echo $ABI_COMPAT_PKG_LINE >> $EXP_DIR/$ABI_COMPAT_PKG +- echo $ABI_INCOMPAT_PKG_LINE1 >> $EXP_DIR/$ABI_INCOMPAT_PKG +- echo $ABI_INCOMPAT_PKG_LINE2 >> $EXP_DIR/$ABI_INCOMPAT_PKG +- +- for abi_diff_file in `ls *.diff` +- do +- TOTAL_NUM=`expr $TOTAL_NUM + 1` +- NAME=${abi_diff_file%.*} +- FILE_SIZE=`ls -l $abi_diff_file | awk '{print $5}'` +- if [ $FILE_SIZE -eq 0 ];then +- #abi兼容性对比结果文件大小为 0 ,该软件包兼容 +- echo $NAME >> $EXP_DIR/$ABI_COMPAT_PKG +- TOTAL_COMP_NUM=`expr $TOTAL_COMP_NUM + 1` +- else +- #将差错报告按以下条件重定向到文件,并分析 +- grep "^================ changes" --after-context=4 $abi_diff_file > $abi_diff_file.tmp +- if [ $? -ne 0 ];then +- grep_rest_tmp="$abi_diff_file|================ changes|grep non-existent!" +- echo $grep_rest_tmp >> $EXP_DIR/$ABI_DIFF_PKG_ABNO +- else +- sed -i '/^--$/d' $abi_diff_file.tmp +- fi +- NUM1=0 +- #兼容性开关,0-兼容;1-不兼容 +- COMP_FLAG=0 +- while read line +- do +- if [[ $line == *$DATA_LINE_1* ]];then +- NUM2=$(( $NUM1 % 5 )) +- if [ $NUM2 = 0 ];then +- str1=${line%\'*} +- data_line="${str1#*\'}" +- if [[ $data_line =~ $FILE_SO ]] +- then +- COMP_TYPE="库差异" +- elif [[ $data_line =~ $FILE_EXEC ]] +- then +- COMP_TYPE="可执行文件" +- elif [[ $data_line =~ $FILE_MOD ]] +- then +- COMP_TYPE="视频文件" +- else +- COMP_TYPE="二进制差异" +- fi +- else +- #该情况不规范,需要查看 +- echo "$NAME|$COMP_TYPE|$data_line|$line" >> $EXP_DIR/$ABI_DIFF_PKG_ERR +- fi +- elif [[ $line == *$DATA_LINE_2* ]];then +- str2="${line#*: }" +- removed_num=${str2% Removed*} +- change_line=${str2% Changed*} +- change_num=${tmp#*, } +- added_line=${str2% Added*} +- added_num=${tmp1##*,} +- if [[ $removed_num -eq 0 ]] && [[ $change_num -eq 0 ]] && [[ $added_num -eq 0 ]] +- then +- abi_var_comp_2="${abi_diff_file%.*}|$line|兼容" +- else +- abi_var_incomp_2="$NAME|$COMP_TYPE|$data_line|$line" +- echo $abi_var_incomp_2 >> $EXP_DIR/$ABI_INCOMPAT_PKG +- #此时abi编译以来库文件或者二进制包不兼容,那么该rpm包不兼容 +- COMP_FLAG=1 +- fi +- elif [[ $line == *$DATA_LINE_3* ]];then +- str3="${line#*: }" +- removed_num=${str3% Removed*} +- change_line=${str3% Changed*} +- change_num=${tmp#*, } +- added_line=${str3% Added*} +- added_num=${tmp1##*,} +- if [[ $removed_num -eq 0 ]] && [[ $change_num -eq 0 ]] && [[ $added_num -eq 0 ]] +- then +- #abi检查结果中,rpm包以来的库文件或者二进制文件兼容 +- abi_var_comp_3="${abi_diff_file%.*}|$line|兼容" +- else +- abi_var_incomp_3="$NAME|$COMP_TYPE|$data_line|$line|" +- echo $abi_var_incomp_3 >> $EXP_DIR/$ABI_INCOMPAT_PKG +- #此时abi编译以来库文件或者二进制包不兼容,那么该rpm包不兼容 +- COMP_FLAG=1 +- fi +- elif [[ $line == *$DATA_LINE_4* ]];then +- str4=${line#*: } +- removed_num=${str4% Removed*} +- if [ $removed_num -ne 0 ] +- then +- #abi检查结果中,rpm包依赖的库文件或者二进制文件不兼容 +- abi_var_incomp_4="$NAME|$COMP_TYPE|$data_line|$str4" +- echo $abi_var_incomp_4 >> $EXP_DIR/$ABI_INCOMPAT_PKG +- COMP_FLAG=1 +- else +- #此时abi编译依赖库文件或者二进制包兼容 +- abi_var_comp_4="${abi_diff_file%.*}|$line|兼容" +- fi +- elif [[ $line == *$DATA_LINE_5* ]];then +- str5=${line#*: } +- removed_num=${str5% Removed*} +- if [ $removed_num -ne 0 ] +- then +- #abi检查结果中,rpm包依赖的库文件或者二进制文件不兼容 +- abi_var_incomp_5="$NAME|$COMP_TYPE|$data_line|$str5" +- echo $abi_var_incomp_5 >> $EXP_DIR/$ABI_INCOMPAT_PKG +- COMP_FLAG=1 +- else +- #此时abi编译依赖库文件或者二进制包兼容 +- abi_var_comp_5="${abi_diff_file%.*}|$line|兼容" +- fi +- else +- ohter_err_info="$NAME|$COMP_TYPE|$data_line|$line|" +- echo $other_err_info >> $EXP_DIR/$ABI_INCOMPAT_PKG_ERR +- fi +- NUM1=`expr $NUM1 + 1` +- done < ./$abi_diff_file.tmp +- #根据兼容性开发COMP_FLAG判断该rpm包是否兼容 +- if [ $COMP_FLAG -eq 0 ] +- then +- echo $NAME >> $EXP_DIR/$ABI_COMPAT_PKG +- else +- NUM10=`expr $NUM1 + 1` +- fi +- +- fi +- done +- rm -f *.diff.tmp +- +- ABI_INCOMP_NUM_TMP=`cat $EXP_DIR/$ABI_INCOMPAT_PKG | awk -F "|" '{print $1}' | sort | uniq | wc -l` +- ABI_INCOMP_NUM=`expr $ABI_INCOMP_NUM_TMP - 2` +- sed -i 's/INCOMP_PKG_NUM/'$ABI_INCOMP_NUM'/g' $EXP_DIR/$ABI_INCOMPAT_PKG +- echo "兼容包列表:$EXP_DIR/$ABI_COMPAT_PKG" +- echo "非兼容包列表:$EXP_DIR/$ABI_INCOMPAT_PKG" +- echo "------------------------- 获取abi兼容、非兼容包列表结束 -------------------------" +-} +- +-#4. 获取系统基本信息 +-get_system_info() +-{ +- #数据清理 +- rm -f $EXP_DIR/$SYSTEM_INFO +- +- #SYSTEM_INFO_1_LINE1="|当前系统|迁移系统" +- SYSTEM_INFO_1_LINE1="|当前系统" +- #SYSTEM_INFO_2_LINE2="系统版本|CUR_VERSION|TRA_VERSION" +- SYSTEM_INFO_2_LINE2="系统版本|CUR_VERSION" +- #SYSTEM_INFO_3_LINE3="内核版本|CUR_KERNEL_VERSION|TRA_KERNEL_VERSION" +- SYSTEM_INFO_3_LINE3="内核版本|CUR_KERNEL_VERSION" +- +- SYSTEM_INFO_5_LINE5="/var/cache可用空间|CUR_USE_SPACE" +- SYSTEM_INFO_6_LINE6="架构|CUR_ARCH" +- +- #SYSTEM_INFO_8_LINE8="软件包|被替换的软件包|安装的软件包" +- SYSTEM_INFO_8_LINE8="软件包|被替换的软件包" +- #SYSTEM_INFO_9_LINE9="软件包数量|REPLACE_PKG_NUM|INSTALL_PKG_NUM" +- SYSTEM_INFO_9_LINE9="软件包数量|REPLACE_PKG_NUM" +- +- SYSTEM_INFO_11_LINE11="ABI" +- SYSTEM_INFO_12_LINE12="兼容数量|COMP_NUM" +- SYSTEM_INFO_13_LINE13="不兼容数量|INCOMP_NUM" +- SYSTEM_INFO_14_LINE14="总数|SUM_NUM" +- +- echo $SYSTEM_INFO_1_LINE1 >> $EXP_DIR/$SYSTEM_INFO +- +- #获取系统版本 +- cur_sysinfo_1=`cat /etc/os-release | grep PRETTY_NAME` +- cur_sysinfo_2=${cur_sysinfo_1#*=} +- cur_sysinfo_len_1=`echo ${cur_sysinfo_1#*=} | wc -L` +- cur_sysinfo_len=`expr $cur_sysinfo_len_1 - 2` +- +- cur_sysinfo=${cur_sysinfo_2:1:$cur_sysinfo_len} +- +- system_info_2_line2=${SYSTEM_INFO_2_LINE2//CUR_VERSION/$cur_sysinfo} +- echo $system_info_2_line2 >> $EXP_DIR/$SYSTEM_INFO +- +- #获取内核版本 +- cur_kernel_info=`uname -r` +- +- system_info_3_line3=${SYSTEM_INFO_3_LINE3//CUR_KERNEL_VERSION/$cur_kernel_info} +- echo $system_info_3_line3 >> $EXP_DIR/$SYSTEM_INFO +- echo " " >> $EXP_DIR/$SYSTEM_INFO +- +- #cache空间及架构 +- cur_cache_space_tmp=`head -1 $CACHE_SPACE` +- cur_cache_space=${cur_cache_space_tmp#*为} +- cur_system_arch=`uname -m` +- +- system_info_5_line5=${SYSTEM_INFO_5_LINE5//CUR_USE_SPACE/$cur_cache_space} +- echo $system_info_5_line5 >> $EXP_DIR/$SYSTEM_INFO +- +- system_info_6_line6=${SYSTEM_INFO_6_LINE6//CUR_ARCH/$cur_system_arch} +- echo $system_info_6_line6 >> $EXP_DIR/$SYSTEM_INFO +- echo " " >> $EXP_DIR/$SYSTEM_INFO +- +- echo $SYSTEM_INFO_8_LINE8 >> $EXP_DIR/$SYSTEM_INFO +- +- abi_comp_pkg_num_tmp=`cat $EXP_DIR/$ABI_COMPAT_PKG | wc -l` +- cur_pkg_num=`expr $abi_comp_pkg_num_tmp - 1` +- +- system_info_9_line9=${SYSTEM_INFO_9_LINE9//REPLACE_PKG_NUM/$cur_pkg_num} +- echo $system_info_9_line9 >> $EXP_DIR/$SYSTEM_INFO +- echo " " >> $EXP_DIR/$SYSTEM_INFO +- +- echo $SYSTEM_INFO_11_LINE11 >> $EXP_DIR/$SYSTEM_INFO +- system_info_12_line12=${SYSTEM_INFO_12_LINE12//COMP_NUM/$cur_pkg_num} +- echo $system_info_12_line12 >> $EXP_DIR/$SYSTEM_INFO +- +- abi_incomp_pkg_num_tmp=`cat $EXP_DIR/$ABI_INCOMPAT_PKG | awk -F "|" '{print $1}'| sort | uniq |wc -l` +- abi_incomp_pkg_num=`expr $abi_incomp_pkg_num_tmp - 2` +- system_info_13_line13=${SYSTEM_INFO_13_LINE13//INCOMP_NUM/$abi_incomp_pkg_num} +- echo $system_info_13_line13 >> $EXP_DIR/$SYSTEM_INFO +- +- abi_pkg_num=`expr $abi_comp_pkg_num + $abi_incomp_pkg_num` +- system_info_14_line14=${SYSTEM_INFO_14_LINE14//SUM_NUM/$abi_pkg_num} +- echo $system_info_14_line14 >> $EXP_DIR/$SYSTEM_INFO +- +- #echo "====================End enter get_system_info==============" +-} +- +-#5. 软件包对比 +-pkg_comp_rst() +-{ +- #软件包对比文件头定义 +- PKGINFO_1_LINE1="待替换/安装的软件包共SUM1个,新安装的软件包共SUM2个" +- PKGINFO_2_LINE2="当前系统持有(不替换)|迁移系统软件包总表" +- PKGINFO_3_LINE3="OTH_VERSION|UOS_VERSION" +- +- #echo "==============Start enter pkg_comp_rst=========" +- #清理数据 +- rm -f $EXP_DIR/$PKG_COMP_LIST_01 +- +- pkg_sum_num=`cat $EXP_DIR/$UOS_PKG_RPMS_LIST | wc -l` +- pkg_num_inst_tmp=`cat $EXP_DIR/$ABI_COMPAT_PKG | wc -l` +- pkg_num_inst=`expr $pkg_num_inst_tmp - 1` +- +- +- pkginfo_1_line1_tmp=${PKGINFO_1_LINE1//SUM1/$pkg_sum_num} +- pkginfo_1_line1=${pkginfo_1_line1_tmp//SUM2/$pkg_num_inst} +- +- echo $pkginfo_1_line1 >> $EXP_DIR/$PKG_COMP_LIST_01 +- +- echo $PKGINFO_2_LINE2 >> $EXP_DIR/$PKG_COMP_LIST_01 +- +- #获取系统版本 +- cur_sysinfo_1=`cat /etc/os-release | grep PRETTY_NAME` +- cur_sysinfo_2=${cur_sysinfo_1#*=} +- cur_sysinfo_len_1=`echo ${cur_sysinfo_1#*=} | wc -L` +- cur_sysinfo_len=`expr $cur_sysinfo_len_1 - 2` +- +- cur_sysinfo=${cur_sysinfo_2:1:$cur_sysinfo_len} +- +- trans_sysinfo_1="UOS Server Enterprise " +- +- pkginfo_3_line3_tmp=${PKGINFO_3_LINE3//OTH_VERSION/$cur_sysinfo} +- pkginfo_3_line3=${pkginfo_3_line3_tmp//UOS_VERSION/$trans_sysinfo_1} +- echo $pkginfo_3_line3 >> $EXP_DIR/$PKG_COMP_LIST_01 +- +-} +- +-create_file_path +-get_rpm_list +-get_abi_comp_rest +-get_system_info +-pkg_comp_rst +\ No newline at end of file +diff --git a/sysmig_agent/Abitranrept.sh b/sysmig_agent/Abitranrept.sh +deleted file mode 100755 +index 891e6f2..0000000 +--- a/sysmig_agent/Abitranrept.sh ++++ /dev/null +@@ -1,153 +0,0 @@ +-#!/bin/bash +- +-#系统迁移后调用该脚本获取迁移后系统信息,为迁移后生成报告准备 +- +-LOCAL_DIR=/var/tmp/uos-migration/data +-#LOCAL_DIR=/var/data +- +-#输出结果目录 +-EXP_DIR=$LOCAL_DIR/exp-rst +- +-#系统基本信息文件 +-SYSTEM_INFO=systeminfo.txt +-TRAND_END_SYSINFO=trans-end-sysinfo.txt +- +-#软件包对比文件 +-PKG_COMP_LIST_01=pkginfo_1.txt +-PKG_COMP_LIST_01_TRANS=pkginfo_1_trans.txt +-PKG_COMP_LIST_03=pkginfo_3.txt +- +-#1. 获取迁移后系统基本信息 +-get_system_info() +-{ +- #数据清理 +- rm -f $EXP_DIR/$TRAND_END_SYSINFO +- +- line_num=1 +- while read line +- do +- if [ $line_num -eq 1 ];then +- SYSTEM_INFO_1_LINE1="$line|迁移系统" +- echo $SYSTEM_INFO_1_LINE1 >> $EXP_DIR/$TRAND_END_SYSINFO +- fi +- +- if [ $line_num -eq 2 ];then +- #获取系统版本 +- cur_sysinfo_1=`cat /etc/os-release | grep PRETTY_NAME` +- cur_sysinfo_2=${cur_sysinfo_1#*=} +- cur_sysinfo_len_1=`echo ${cur_sysinfo_1#*=} | wc -L` +- cur_sysinfo_len=`expr $cur_sysinfo_len_1 - 2` +- +- cur_sysinfo=${cur_sysinfo_2:1:$cur_sysinfo_len} +- +- SYSTEM_INFO_2_LINE2="$line|$cur_sysinfo" +- echo $SYSTEM_INFO_2_LINE2 >> $EXP_DIR/$TRAND_END_SYSINFO +- fi +- +- if [ $line_num -eq 3 ];then +- #当前系统版本 +- cur_kernel_info=`uname -r` +- SYSTEM_INFO_3_LINE3="$line|$cur_kernel_info" +- echo $SYSTEM_INFO_3_LINE3 >> $EXP_DIR/$TRAND_END_SYSINFO +- fi +- +- if [ $line_num -eq 4 ];then +- echo "" >> $EXP_DIR/$TRAND_END_SYSINFO +- fi +- +- if [ $line_num -eq 5 ];then +- echo $line >> $EXP_DIR/$TRAND_END_SYSINFO +- fi +- +- if [ $line_num -eq 6 ];then +- echo $line >> $EXP_DIR/$TRAND_END_SYSINFO +- fi +- +- if [ $line_num -eq 7 ];then +- echo "" >> $EXP_DIR/$TRAND_END_SYSINFO +- fi +- +- if [ $line_num -eq 8 ];then +- SYSTEM_INFO_8_LINE8="$line|安装的软件包" +- echo $SYSTEM_INFO_8_LINE8 >> $EXP_DIR/$TRAND_END_SYSINFO +- fi +- +- if [ $line_num -eq 9 ];then +- install_num=`rpm -qa | grep uelc20 | wc -l` +- SYSTEM_INFO_9_LINE9="$line|$install_num" +- echo $SYSTEM_INFO_9_LINE9 >> $EXP_DIR/$TRAND_END_SYSINFO +- fi +- +- if [ $line_num -eq 10 ];then +- echo "" >> $EXP_DIR/$TRAND_END_SYSINFO +- fi +- +- if [ $line_num -eq 11 ];then +- echo $line >> $EXP_DIR/$TRAND_END_SYSINFO +- fi +- +- if [ $line_num -eq 12 ];then +- echo $line >> $EXP_DIR/$TRAND_END_SYSINFO +- fi +- +- if [ $line_num -eq 13 ];then +- echo $line >> $EXP_DIR/$TRAND_END_SYSINFO +- fi +- +- if [ $line_num -eq 14 ];then +- echo $line >> $EXP_DIR/$TRAND_END_SYSINFO +- fi +- +- line_num=`expr $line_num + 1` +- +- done < $EXP_DIR/$SYSTEM_INFO +-} +- +-#5. 软件包对比 +-pkg_comp_rst() +-{ +- VAR_LINE="迁移系统特有(新安装)" +- +- #清理数据 +- rm -f $EXP_DIR/$PKG_COMP_LIST_01_TRANS +- +- line_num=1 +- +- while read line +- do +- +- if [ $line_num -eq 1 ];then +- echo $line >> $EXP_DIR/$PKG_COMP_LIST_01_TRANS +- fi +- +- if [ $line_num -eq 2 ];then +- var_1=${line%|*} +- var_2=${line#*|} +- PKGINFO_2_LINE2="$var_1|$VAR_LINE|$var_2" +- echo $PKGINFO_2_LINE2 >> $EXP_DIR/$PKG_COMP_LIST_01_TRANS +- fi +- +- if [ $line_num -eq 3 ];then +- echo $line >> $EXP_DIR/$PKG_COMP_LIST_01_TRANS +- fi +- +- line_num=`expr $line_num + 1` +- done < $EXP_DIR/$PKG_COMP_LIST_01 +- +- #获取已安装包列表 +- for line1 in `rpm -qa | grep uelc20` +- #for line1 in `rpm -qa | grep el8` +- do +- var1=${line1%-*} +- echo ${var1%-*} >> $EXP_DIR/$PKG_COMP_LIST_03 +- done +- +- #迁移完成后uelc20包列表不为空,如果为空创建空文件以便统计汇总xls +- if [ ! -f $EXP_DIR/$PKG_COMP_LIST_03 ];then +- touch $EXP_DIR/$PKG_COMP_LIST_03 +- fi +-} +- +-get_system_info +-pkg_comp_rst +- +-- +2.20.1 + diff --git a/migration-tools.spec b/migration-tools.spec index b44430f..005204d 100644 --- a/migration-tools.spec +++ b/migration-tools.spec @@ -1,6 +1,6 @@ Name: migration-tools Version: 1.0.2 -Release: 53 +Release: 54 License: MulanPSL-2.0 Summary: A tool to help users migrate the Centos system to the UOS system and openEuler system Source0: %{name}-%{version}.tar.gz @@ -60,6 +60,8 @@ Patch50: 0050-check-free-space-in-system-disk.patch Patch51: 0051-add-basic-system-detection-information-and-upload-the-database.patch Patch52: 0052-increase-the-weight-of-abi-detection-result.patch Patch53: 0053-get-repository-detection-result.patch +Patch54: 0054-removed-detection-abi-script.patch + BuildArch: noarch BuildRequires: systemd @@ -158,6 +160,9 @@ rm -rf /usr/bin/migration-tools %endif %changelog +* Tue Nov 5 2024 xuezhixin - 1.0.2-54 +- 0054-removed-detection-abi-script.patch + * Tue Nov 5 2024 xuezhixin - 1.0.2-53 - 0053-get-repository-detection-result.patch -- Gitee