瓜田里冲浪的小兔子 發表於 2023-6-3 16:12:00

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

<p><strong>1.打包脚本</strong></p>
<p>package文件夹下放一个程序文件夹OvitFrame文件夹、package.sh脚本、install.sh脚本;执行package.sh脚本将OvitFrame文件夹压缩成一个压缩包,然后将install.sh和压缩包用cat命令生成一个run包;然后就</p>
<div class="cnblogs_code">
<pre>#!/bin/<span style="color: rgba(0, 0, 0, 1)">bash
#将源文件打包成压缩包
tar czvf OvitFrame.tar.gz OvitFrame
#创建.run的输出目录
mkdir </span>-<span style="color: rgba(0, 0, 0, 1)">p output

#从外界获取输入的版本号
version</span>=<span style="color: rgba(128, 0, 128, 1)">5.0</span>.<span style="color: rgba(128, 0, 128, 1)">300</span><span style="color: rgba(0, 0, 0, 1)">
datetime</span>=$(date <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">+%Y%m%d%H%M%S</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">)
# 打包生成.run文件
cat install.sh OvitFrame.tar.gz </span>&gt; output/OvitFrame<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">$datetime</span><span style="color: rgba(128, 0, 0, 1)">"</span>_<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">$version</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">.run
# 删除之前的文件压缩包
rm</span>-f OvitFrame.tar.gz</pre>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>安装脚本</p>
<div class="cnblogs_code">
<pre>#!/bin/<span style="color: rgba(0, 0, 0, 1)">bash

#跳转行数,负责定位到压缩包所在的位置,这个值是指这个脚本的行数加1,这个脚本共有72行
lines</span>=<span style="color: rgba(128, 0, 128, 1)">76</span><span style="color: rgba(0, 0, 0, 1)">

#检查系统的架构是否符合
</span><span style="color: rgba(0, 0, 255, 1)">if</span> [[ <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">x86_64</span><span style="color: rgba(128, 0, 0, 1)">"</span> =~ <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">$(arch)</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> ]]
then
    echo </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">架构相同</span><span style="color: rgba(128, 0, 0, 1)">"</span>
<span style="color: rgba(0, 0, 255, 1)">else</span><span style="color: rgba(0, 0, 0, 1)">
    echo </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">架构不同, 本机架构为$(arch)</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
    exit </span><span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">
fi

homepath</span>=~<span style="color: rgba(0, 0, 0, 1)">
#获取安装路径
echo </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">输入安装路径, 按下回车确认,默认路径(${homepath})</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
read </span>-p <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">请输入:</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> installpath
</span><span style="color: rgba(0, 0, 255, 1)">if</span> [ ! -n <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">$installpath</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)"> ]; then
    installpath</span>=<span style="color: rgba(0, 0, 0, 1)">$homepath
fi


#解压对应的程序包
#根据安装脚本的行数,跳转到压缩包所在的位置
tail </span>-n +$lines $<span style="color: rgba(128, 0, 128, 1)">0</span> &gt;<span style="color: rgba(0, 0, 0, 1)"> OvitFrame.tar.gz

#解压缩
tar zxvf OvitFrame.tar.gz

#将解压缩之后文件拷贝到对应的安装目录
mkdir </span>-p $installpath/install/<span style="color: rgba(0, 0, 0, 1)">
cp </span>-r OvitFrame $installpath/install/<span style="color: rgba(0, 0, 0, 1)">

#检查用户路径,获取桌面路径
test </span>-f ~/.config/user-dirs.dirs &amp;&amp; . ~/.config/user-<span style="color: rgba(0, 0, 0, 1)">dirs.dirs
desktopDir</span>=~/${XDG_DESKTOP_DIR##*/<span style="color: rgba(0, 0, 0, 1)">}
echo $desktopDir
#要在可执行程序同路径下创建OvitFrame.desktop快捷方式
sed </span>-i <span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">s#INSTALLPATH#${installpath}#g</span><span style="color: rgba(128, 0, 0, 1)">"</span> $installpath/install/OvitFrame/<span style="color: rgba(0, 0, 0, 1)">OvitFrame.desktop

#applications文件夹如果不存在则创建
</span><span style="color: rgba(0, 0, 255, 1)">if</span> [ ! -d ~/.local/share/<span style="color: rgba(0, 0, 0, 1)">applications ];then
    mkdir </span>-p ~/.local/share/<span style="color: rgba(0, 0, 0, 1)">applications
fi

#拷贝桌面快捷方式
echo </span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)"> $installpath/install/OvitFrame/OvitFrame.desktop</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
cp $installpath</span>/install/OvitFrame/OvitFrame.desktop ~/.local/share/<span style="color: rgba(0, 0, 0, 1)">applications

#自定义协议启动
xdg</span>-mime <span style="color: rgba(0, 0, 255, 1)">default</span> OvitFrame.desktop x-scheme-handler/<span style="color: rgba(0, 0, 0, 1)">clerk

#快捷方式发送到桌面,并修改可执行权限
cp $installpath</span>/install/OvitFrame/<span style="color: rgba(0, 0, 0, 1)">OvitFrame.desktop ${desktopDir}
chmod </span>+x ${desktopDir}/<span style="color: rgba(0, 0, 0, 1)">OvitFrame.desktop
chmod </span><span style="color: rgba(128, 0, 128, 1)">777</span> $installpath/install/OvitFrame<span style="color: rgba(0, 128, 0, 1)">/*</span><span style="color: rgba(0, 128, 0, 1)">
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</span></pre>
</div>
<p>&nbsp;</p>

</div>
<div id="MySignature" role="contentinfo">
    自己开发了一个股票智能分析软件,功能很强大,需要的关注微信公众号:QStockView<br><br>
来源:https://www.cnblogs.com/bclshuai/p/17454138.html
頁: [1]
查看完整版本: 国产化麒麟系统编译程序打run包脚本和说明