oem=$1 #厂商 cpu=$(arch) #cpu架构 sys=$(cat /etc/issue) sys=${sys%% *} #操作系统 dpkgpath="" #打包路径 dpkgarch="" #打包时的版本 libname="" #动态库名字 libpath="" #打包时库路径 time2=$(date "+%g%j") #版本控制 dpkgtype="app" mainverstr="4" ver3=10 if [ "$oem" != "hg" ] && [ "$oem" != "lsc" ] && [ "$oem" != "hw" ] && [ "$oem" != ""hgweb ] && [ "$oem" != ""lscweb ] && [ "$oem" != ""hwweb ]; then echo "参数错误!!!" echo "参数:华高:hg || hgweb 立思层:lsc || lscweb 汉王:hw || hwweb" exit 1 fi if [ "$cpu" == "x86_64" ]; then dpkgarch="amd64" libpath="x86_64-linux-gnu" elif [ "$cpu" == "aarch64" ]; then dpkgarch="arm64" libpath="aarch64-linux-gnu" elif [ "$cpu" == "mips64" ]; then dpkgarch="mips64el" libpath="mips64el-linux-gnuabi64" else echo "没有已知架构" exit 1 fi if [ "$sys" == "UnionTech" ];then syspath="uos" if [ "$oem" == "hw" ]; then dpkgpath="com.hanvonchina.hanvonscan" elif [ "$oem" == "lsc" ];then dpkgpath="com.lanxumchina.lanxumscan" elif [ "$oem" == "hg" ];then dpkgpath="com.huagaochina.huagoscan" elif [ "$oem" == "hgweb" ];then dpkgpath="huagaowebscan" elif [ "$oem" == "lscweb" ];then dpkgpath="lanxumwebscan" elif [ "$oem" == "hwweb" ];then dpkgpath="hanvonwebscan" fi elif [ "$sys" == "Kylin" ]; then syspath="kylin" if [ "$oem" == "hw" ] ;then dpkgpath="scanner-driver-hanvon" elif [ "$oem" == "lsc" ];then dpkgpath="scanner-driver-lanxum" elif [ "$oem" == "hg" ];then dpkgpath="scanner-driver-huagao" elif [ "$oem" == "hgweb" ];then dpkgpath="huagaowebscan" elif [ "$oem" == "lscweb" ];then dpkgpath="lanxumwebscan" elif [ "$oem" == "hwweb" ];then dpkgpath="hanvonwebscan" fi else syspath="kylin" if [ "$oem" == "hw" ] ;then dpkgpath="scanner-driver-hanvon" elif [ "$oem" == "lsc" ];then dpkgpath="scanner-driver-lanxum" elif [ "$oem" == "hg" ];then dpkgpath="scanner-driver-huagao" elif [ "$oem" == "hgweb" ];then dpkgpath="huagaowebscan" elif [ "$oem" == "lscweb" ];then dpkgpath="lanxumwebscan" elif [ "$oem" == "hwweb" ];then dpkgpath="hanvonwebscan" fi fi if [ "$oem" == "lsc" ] || [ "$oem" == "lscweb" ] ;then ver3=16 elif [ "$oem" == "hw" ] || [ "$oem" == "hwweb" ] ;then ver3=14 fi ver3=$[$ver3 * 10] if [ "$cpu" == "x86_64" ]; then ver3=$[$ver3 + 1] elif [ "$cpu" == "aarch64" ]; then ver3=$[$ver3 + 2] elif [ "$cpu" == "mips64" ]; then ver3=$[$ver3 + 3] fi ver3=$[$ver3 * 100] if [ "$sys" == "UnionTech" ];then # uos ... ver3=$[$ver3 + 20] elif [ "$sys" == "Kylin" ];then # kylin ... ver3=$[$ver3 + 21] else # unknown OS, set as linux ver3=$[$ver3 + 10] fi cd ../release/$syspath/$cpu/ rm * -R git checkout . git pull cd ../../../sdk git checkout . git pull cd ../code_device git checkout . git pull ./build.sh $oem if [ $? -ne 0 ];then echo "code_device-------->编译失败" exit 1 fi cd ../code_app git checkout . git pull ./build.sh $oem if [ $? -ne 0 ];then echo "code_app-------->编译失败" exit 1 fi minver=$(cat ../sdk/include/huagao/brand.h |grep VERSION_SUB) minver=${minver: -2} echo $minver echo "3rd version replacing pattern: "${ver3} echo $dpkgpath ver="$mainverstr.$minver.$ver3.$time2" echo $ver Version="Version: $ver" Architecture="Architecture: $dpkgarch" packagename="package: $dpkgpath" echo $Architecture $Version cd .. echo "dpkg/$syspath/$oem/usr/lib/$libpath" echo "dpkg/$syspath/$oem/opt/apps/$dpkgpath/files/lib" sed -i "1s/.*/$packagename/g" dpkg/$syspath/$oem/DEBIAN/control sed -i "2s/.*/$Version/g" dpkg/$syspath/$oem/DEBIAN/control sed -i "3s/.*/$Architecture/g" dpkg/$syspath/$oem/DEBIAN/control cp dpkg/60-sane.rules dpkg/$syspath/$oem/etc/udev/rules.d/60-"$oem"sane.rules if [ $? -ne 0 ];then echo "not find:60-sane.rule " exit 1 fi if [ "$oem" == "lscweb" ] || [ "$oem" == "hwweb" ] || [ "$oem" == "hgweb" ]; then cp release/$syspath/$cpu/* dpkg/$syspath/$oem/opt/$dpkgpath/bin else mv dpkg/$syspath/$oem/usr/lib/* dpkg/$syspath/$oem/usr/lib/$libpath if [ "$sys" == "UnionTech" ];then if [ "$cpu" == "x86_64" ]; then sed -i "s/aarch64-linux-gnu/$libpath/g" dpkg/$syspath/$oem/opt/apps/$dpkgpath/files/bin/*.sh sed -i "s/mips64el-linux-gnuabi64/$libpath/g" dpkg/$syspath/$oem/opt/apps/$dpkgpath/files/bin/*.sh sed -i "s/arm64/amd64/g" dpkg/$syspath/$oem/opt/apps/$dpkgpath/info sed -i "s/mips64el/amd64/g" dpkg/$syspath/$oem/opt/apps/$dpkgpath/info elif [ "$cpu" == "aarch64" ]; then sed -i "s/x86_64-linux-gnu/$libpath" dpkg/$syspath/$oem/opt/apps/$dpkgpath/files/bin/*.sh sed -i "s/mips64el-linux-gnuabi64/$libpath" dpkg/$syspath/$oem/opt/apps/$dpkgpath/files/bin/*.sh sed -i "s/amd64/arm64/g" dpkg/$syspath/$oem/opt/apps/$dpkgpath/info sed -i "s/mips64el/arm64/g" dpkg/$syspath/$oem/opt/apps/$dpkgpath/info elif [ "$cpu" == "mips64" ]; then sed -i "s/x86_64-linux-gnu/$libpath" dpkg/$syspath/$oem/opt/apps/$dpkgpath/files/bin/*.sh sed -i "s/aarch64-linux-gnu/$libpath" dpkg/$syspath/$oem/opt/apps/$dpkgpath/files/bin/*.sh sed -i "s/amd64/mips64/g" dpkg/$syspath/$oem/opt/apps/$dpkgpath/info sed -i "s/arm64/mips64/g" dpkg/$syspath/$oem/opt/apps/$dpkgpath/info fi cp release/$syspath/$cpu/* dpkg/$syspath/$oem/opt/apps/$dpkgpath/files/lib mv dpkg/$syspath/$oem/opt/apps/$dpkgpath/files/lib/*Scan dpkg/$syspath/$oem/opt/apps/$dpkgpath/files/bin cp dpkg/$syspath/$oem/opt/apps/$dpkgpath/files/lib/libsane-"$oem"sane.so dpkg/$syspath/$oem/usr/lib/$libpath/sane/libsane-"$oem"sane.so.1 elif [ "$sys" == "Kylin" ];then if [ "$cpu" == "x86_64" ]; then sed -i "s/aarch64-linux-gnu/$libpath/g" dpkg/$syspath/$oem/opt/apps/$dpkgpath/*.sh dpkg/$syspath/$oem/DEBIAN/postinst sed -i "s/mips64el-linux-gnuabi64/$libpath/g" dpkg/$syspath/$oem/opt/apps/$dpkgpath/*.sh dpkg/$syspath/$oem/DEBIAN/postinst elif [ "$cpu" == "aarch64" ]; then sed -i "s/x86_64-linux-gnu/$libpath" dpkg/$syspath/$oem/opt/apps/$dpkgpath/*.sh dpkg/$syspath/$oem/DEBIAN/postinst sed -i "s/mips64el-linux-gnuabi64/$libpath" dpkg/$syspath/$oem/opt/apps/$dpkgpath/*.sh dpkg/$syspath/$oem/DEBIAN/postinst elif [ "$cpu" == "mips64" ]; then sed -i "s/x86_64-linux-gnu/$libpath" dpkg/$syspath/$oem/opt/apps/$dpkgpath/*.sh dpkg/$syspath/$oem/DEBIAN/postinst sed -i "s/aarch64-linux-gnu/$libpath" dpkg/$syspath/$oem/opt/apps/$dpkgpath/*.sh dpkg/$syspath/$oem/DEBIAN/postinst fi cp release/$syspath/$cpu/* dpkg/$syspath/$oem/opt/apps/$dpkgpath/ cp dpkg/$syspath/$oem/opt/apps/$dpkgpath/libsane-"$oem"sane.so dpkg/$syspath/$oem/usr/lib/$libpath/sane/libsane-"$oem"sane.so.1 else if [ "$cpu" == "x86_64" ]; then sed -i "s/aarch64-linux-gnu/$libpath/g" dpkg/$syspath/$oem/opt/apps/$dpkgpath/*.sh dpkg/$syspath/$oem/DEBIAN/postinst sed -i "s/mips64el-linux-gnuabi64/$libpath/g" dpkg/$syspath/$oem/opt/apps/$dpkgpath/*.sh dpkg/$syspath/$oem/DEBIAN/postinst elif [ "$cpu" == "aarch64" ]; then sed -i "s/x86_64-linux-gnu/$libpath" dpkg/$syspath/$oem/opt/apps/$dpkgpath/*.sh dpkg/$syspath/$oem/DEBIAN/postinst sed -i "s/mips64el-linux-gnuabi64/$libpath" dpkg/$syspath/$oem/opt/apps/$dpkgpath/*.sh dpkg/$syspath/$oem/DEBIAN/postinst elif [ "$cpu" == "mips64" ]; then sed -i "s/x86_64-linux-gnu/$libpath" dpkg/$syspath/$oem/opt/apps/$dpkgpath/*.sh dpkg/$syspath/$oem/DEBIAN/postinst sed -i "s/aarch64-linux-gnu/$libpath" dpkg/$syspath/$oem/opt/apps/$dpkgpath/*.sh dpkg/$syspath/$oem/DEBIAN/postinst fi cp release/$syspath/$cpu/* dpkg/$syspath/$oem/opt/apps/$dpkgpath/ cp dpkg/$syspath/$oem/opt/apps/$dpkgpath/libsane-"$oem"sane.so dpkg/$syspath/$oem/usr/lib/$libpath/sane/libsane-"$oem"sane.so.1 fi fi if [ $? -ne 0 ];then echo "not find:libsane-"$oem"sane.so" exit 1 fi pwd chmod 755 dpkg -R chmod 755 backup -R if [ -d "backup/$syspath/$oem/$ver" ];then rm -rf backup/$syspath/$oem/$ver fi if [ ! -d "backup/$syspath/$oem/$ver" ]; then mkdir -p backup/$syspath/$oem/$ver fi cp -rf dpkg/$syspath/$oem/* backup/$syspath/$oem/$ver if [ "$oem" == "hg" ] || [ "$oem" == "lsc" ] || [ "$oem" == "hw" ]; then if [ ! -d "backup/dpkg/$time2/$dpkgtype" ];then mkdir -p backup/dpkg/$time2/$dpkgtype fi else dpkgtype="web" if [ ! -d "backup/dpkg/$time2/$dpkgtype" ];then mkdir -p backup/dpkg/$time2/$dpkgtype fi fi #dpkg -b backup/$syspath/$oem/$ver dpkg/$syspath/backup/$oem/$dpkgpath"_"$cpu"_"$ver.deb dpkg -b backup/$syspath/$oem/$ver backup/dpkg/$time2/$dpkgtype/$dpkgpath"_"$ver"_"$cpu.deb