国产化麒麟系统编译程序打run包脚本和说明

1. 打包脚本

package 文件夹下放一个程序文件夹 OvitFrame 文件夹、package.sh 脚本、install.sh 脚本;执行 package.sh 脚本将 OvitFrame 文件夹压缩成一个压缩包,然后将 install.sh 和压缩包用 cat 命令生成一个 run 包;然后就

#!/bin/bash
#将源文件打包成压缩包
tar czvf OvitFrame.tar.gz OvitFrame
#创建.run 的输出目录
mkdir -p output

#从外界获取输入的版本号
version=5.0.300
datetime
=$(date "+%Y%m%d%H%M%S")

打包生成.run 文件

cat install.sh OvitFrame.tar.gz > output/OvitFrame"$datetime"_"$version".run

删除之前的文件压缩包

rm -f OvitFrame.tar.gz

 

 

安装脚本

#!/bin/bash

#跳转行数, 负责定位到压缩包所在的位置, 这个值是指这个脚本的行数加 1,这个脚本共有 72 行
lines=76

#检查系统的架构是否符合
if [[ "x86_64" =~ "$(arch)" ]]
then
echo
"架构相同"
else
echo
"架构不同, 本机架构为 $(arch)"
exit
0
fi

homepath=~
#获取安装路径
echo
"输入安装路径, 按下回车确认,默认路径 (${homepath})"
read
-p "请输入:" installpath
if [ ! -n "$installpath" ]; then
installpath
=$homepath
fi

#解压对应的程序包
#根据安装脚本的行数, 跳转到压缩包所在的位置
tail -n +$lines $0 > OvitFrame.tar.gz

#解压缩
tar zxvf OvitFrame.tar.gz

#将解压缩之后文件拷贝到对应的安装目录
mkdir -p $installpath/install/
cp
-r OvitFrame $installpath/install/

#检查用户路径, 获取桌面路径
test -f ~/.config/user-dirs.dirs && . ~/.config/user-dirs.dirs
desktopDir
=~/${XDG_DESKTOP_DIR##*/}
echo $desktopDir
#要在可执行程序同路径下创建 OvitFrame.desktop 快捷方式
sed
-i "s#INSTALLPATH#${installpath}#g" $installpath/install/OvitFrame/OvitFrame.desktop

#applications 文件夹如果不存在则创建
if [ ! -d ~/.local/share/applications ];then
mkdir
-p ~/.local/share/applications
fi

#拷贝桌面快捷方式
echo " $installpath/install/OvitFrame/OvitFrame.desktop"
cp $installpath
/install/OvitFrame/OvitFrame.desktop ~/.local/share/applications

#自定义协议启动
xdg-mime default OvitFrame.desktop x-scheme-handler/clerk

#快捷方式发送到桌面, 并修改可执行权限
cp $installpath/install/OvitFrame/OvitFrame.desktop ${desktopDir}
chmod
+x ${desktopDir}/OvitFrame.desktop
chmod
777 $installpath/install/OvitFrame/
chmod 777 $installpath/install/OvitFrame/components/AnalysisCenter/

chmod 777 $installpath/install/OvitFrame/components/LicenseVerify/*
chmod 777 $installpath/install/OvitFrame/components/ls/*
chmod 777 $installpath/install/OvitFrame/components/ls/script/*
chmod 777 $installpath/install/OvitFrame/components/videoPlayer/*

#移除无用文件
rm -rf $installpath/install/OvitFrame/OvitFrame.desktop
rm -rf OvitFrame
rm -rf OvitFrame.tar.gz
#echo "we need root to excuate the script install.sh"
#sudo -s $installpath/install/OvitFrame/install.sh
exit 0