2022-07-04 01:48:13 +00:00
|
|
|
oem=$1 #厂商
|
|
|
|
cpu=$(arch) #cpu架构
|
|
|
|
sys=$(cat /etc/issue)
|
|
|
|
sys=${sys%% *} #操作系统
|
|
|
|
dpkgpath="" #打包路径
|
|
|
|
dpkgarch="" #打包时的版本
|
|
|
|
libname="" #动态库名字
|
|
|
|
libpath="" #打包时库路径
|
2022-08-04 08:20:59 +00:00
|
|
|
time2=$(date "+%g%j") #版本控制
|
2022-07-04 08:31:52 +00:00
|
|
|
dpkgtype="app"
|
2022-08-04 08:20:59 +00:00
|
|
|
ver3=10
|
|
|
|
|
2022-08-29 09:54:02 +00:00
|
|
|
mainverstr=$(cat ../sdk/include/huagao/brand.h |grep VERSION_MAIN)
|
|
|
|
mainverstr=${mainverstr: -2}
|
|
|
|
mainverstr=$(echo $mainverstr)
|
|
|
|
minver=$(cat ../sdk/include/huagao/brand.h |grep VERSION_SUB)
|
|
|
|
minver=${minver: -2}
|
|
|
|
minver=$(echo $minver)
|
2022-08-09 09:22:55 +00:00
|
|
|
|
2022-07-04 01:48:13 +00:00
|
|
|
|
2022-07-04 06:26:02 +00:00
|
|
|
if [ "$oem" != "hg" ] && [ "$oem" != "lsc" ] && [ "$oem" != "hw" ] && [ "$oem" != ""hgweb ] && [ "$oem" != ""lscweb ] && [ "$oem" != ""hwweb ];
|
2022-07-04 01:48:13 +00:00
|
|
|
then
|
|
|
|
echo "参数错误!!!"
|
2022-07-04 06:26:02 +00:00
|
|
|
echo "参数:华高:hg || hgweb 立思层:lsc || lscweb 汉王:hw || hwweb"
|
2022-07-04 01:48:13 +00:00
|
|
|
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"
|
2022-08-09 09:29:09 +00:00
|
|
|
libpath="mips64el-linux-gnu"
|
2022-07-04 01:48:13 +00:00
|
|
|
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"
|
2022-07-04 06:26:02 +00:00
|
|
|
elif [ "$oem" == "hg" ];then
|
2022-07-04 01:48:13 +00:00
|
|
|
dpkgpath="com.huagaochina.huagoscan"
|
2022-07-04 06:26:02 +00:00
|
|
|
elif [ "$oem" == "hgweb" ];then
|
|
|
|
dpkgpath="huagaowebscan"
|
|
|
|
elif [ "$oem" == "lscweb" ];then
|
|
|
|
dpkgpath="lanxumwebscan"
|
|
|
|
elif [ "$oem" == "hwweb" ];then
|
|
|
|
dpkgpath="hanvonwebscan"
|
2022-07-04 01:48:13 +00:00
|
|
|
fi
|
|
|
|
|
2022-07-04 06:26:02 +00:00
|
|
|
elif [ "$sys" == "Kylin" ]; then
|
2022-07-04 01:48:13 +00:00
|
|
|
syspath="kylin"
|
|
|
|
|
|
|
|
|
|
|
|
if [ "$oem" == "hw" ] ;then
|
2022-08-05 02:57:49 +00:00
|
|
|
|
2022-07-04 01:48:13 +00:00
|
|
|
dpkgpath="scanner-driver-hanvon"
|
|
|
|
elif [ "$oem" == "lsc" ];then
|
|
|
|
dpkgpath="scanner-driver-lanxum"
|
2022-07-04 06:26:02 +00:00
|
|
|
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"
|
2022-07-04 01:48:13 +00:00
|
|
|
fi
|
|
|
|
else
|
|
|
|
syspath="kylin"
|
|
|
|
|
|
|
|
if [ "$oem" == "hw" ] ;then
|
|
|
|
dpkgpath="scanner-driver-hanvon"
|
2022-08-05 02:57:49 +00:00
|
|
|
elif [ "$oem" == "lsc" ];then
|
2022-07-04 01:48:13 +00:00
|
|
|
dpkgpath="scanner-driver-lanxum"
|
2022-07-04 06:26:02 +00:00
|
|
|
elif [ "$oem" == "hg" ];then
|
2022-07-04 01:48:13 +00:00
|
|
|
dpkgpath="scanner-driver-huagao"
|
2022-07-04 06:26:02 +00:00
|
|
|
elif [ "$oem" == "hgweb" ];then
|
|
|
|
dpkgpath="huagaowebscan"
|
|
|
|
elif [ "$oem" == "lscweb" ];then
|
|
|
|
dpkgpath="lanxumwebscan"
|
|
|
|
elif [ "$oem" == "hwweb" ];then
|
|
|
|
dpkgpath="hanvonwebscan"
|
2022-07-04 01:48:13 +00:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2022-08-05 02:57:49 +00:00
|
|
|
|
|
|
|
if [ "$oem" == "lsc" ] || [ "$oem" == "lscweb" ] ;then
|
|
|
|
ver3=14
|
2022-08-12 08:02:00 +00:00
|
|
|
elif [ "$oem" == "hw" ] || [ "$oem" == "hwweb" ] ;then
|
|
|
|
ver3=16
|
2022-08-05 02:57:49 +00:00
|
|
|
fi
|
2022-08-04 09:24:58 +00:00
|
|
|
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
|
2022-07-04 01:48:13 +00:00
|
|
|
|
2022-08-04 09:24:58 +00:00
|
|
|
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
|
|
|
|
|
2022-07-04 01:48:13 +00:00
|
|
|
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
|
2022-08-08 02:36:48 +00:00
|
|
|
./build.sh $oem
|
2022-07-04 01:48:13 +00:00
|
|
|
if [ $? -ne 0 ];then
|
|
|
|
echo "code_app-------->编译失败"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2022-08-29 09:54:02 +00:00
|
|
|
|
2022-08-09 09:22:55 +00:00
|
|
|
echo $minver
|
|
|
|
echo "3rd version replacing pattern: "${ver3}
|
|
|
|
echo $dpkgpath
|
|
|
|
ver="$mainverstr.$minver.$ver3.$time2"
|
|
|
|
echo $ver
|
|
|
|
|
2022-07-04 01:48:13 +00:00
|
|
|
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
|
2022-07-04 06:26:02 +00:00
|
|
|
sed -i "3s/.*/$Architecture/g" dpkg/$syspath/$oem/DEBIAN/control
|
2022-07-04 01:48:13 +00:00
|
|
|
|
2022-07-29 09:28:21 +00:00
|
|
|
cp dpkg/60-sane.rules dpkg/$syspath/$oem/etc/udev/rules.d/60-"$oem"sane.rules
|
|
|
|
if [ $? -ne 0 ];then
|
2022-08-08 02:10:02 +00:00
|
|
|
echo "not find:60-sane.rule "
|
2022-07-29 09:28:21 +00:00
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2022-07-04 06:26:02 +00:00
|
|
|
if [ "$oem" == "lscweb" ] || [ "$oem" == "hwweb" ] || [ "$oem" == "hgweb" ]; then
|
|
|
|
cp release/$syspath/$cpu/* dpkg/$syspath/$oem/opt/$dpkgpath/bin
|
2022-07-04 01:48:13 +00:00
|
|
|
else
|
2022-07-04 06:26:02 +00:00
|
|
|
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
|
2022-09-02 07:29:46 +00:00
|
|
|
sed -i "s/aarch64-linux-gnu/$libpath/g" dpkg/$syspath/$oem/opt/apps/$dpkgpath/bin/*.sh dpkg/$syspath/$oem/DEBIAN/postinst
|
|
|
|
sed -i "s/mips64el-linux-gnuabi64/$libpath/g" dpkg/$syspath/$oem/opt/apps/$dpkgpath/bin/*.sh dpkg/$syspath/$oem/DEBIAN/postinst
|
2022-07-04 06:26:02 +00:00
|
|
|
elif [ "$cpu" == "aarch64" ]; then
|
2022-09-02 07:29:46 +00:00
|
|
|
sed -i "s/x86_64-linux-gnu/$libpath" dpkg/$syspath/$oem/opt/apps/$dpkgpath/bin/*.sh dpkg/$syspath/$oem/DEBIAN/postinst
|
|
|
|
sed -i "s/mips64el-linux-gnuabi64/$libpath" dpkg/$syspath/$oem/opt/apps/$dpkgpath/bin/*.sh dpkg/$syspath/$oem/DEBIAN/postinst
|
2022-07-04 06:26:02 +00:00
|
|
|
elif [ "$cpu" == "mips64" ]; then
|
2022-09-02 07:29:46 +00:00
|
|
|
sed -i "s/x86_64-linux-gnu/$libpath" dpkg/$syspath/$oem/opt/apps/$dpkgpath/bin/*.sh dpkg/$syspath/$oem/DEBIAN/postinst
|
|
|
|
sed -i "s/aarch64-linux-gnu/$libpath" dpkg/$syspath/$oem/opt/apps/$dpkgpath/bin/*.sh dpkg/$syspath/$oem/DEBIAN/postinst
|
2022-07-04 06:26:02 +00:00
|
|
|
fi
|
2022-09-02 07:29:46 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
mv dpkg/$syspath/$oem/opt/apps/$dpkgpath/*.so dpkg/$syspath/$oem/opt/apps/$dpkgpath/lib
|
|
|
|
mv dpkg/$syspath/$oem/opt/apps/$dpkgpath/*.ttf dpkg/$syspath/$oem/opt/apps/$dpkgpath/lib
|
|
|
|
mv dpkg/$syspath/$oem/opt/apps/$dpkgpath/*.key dpkg/$syspath/$oem/opt/apps/$dpkgpath/lib
|
|
|
|
mv dpkg/$syspath/$oem/opt/apps/$dpkgpath/*.so.* dpkg/$syspath/$oem/opt/apps/$dpkgpath/lib
|
|
|
|
mv dpkg/$syspath/$oem/opt/apps/$dpkgpath/*Scan dpkg/$syspath/$oem/opt/apps/$dpkgpath/bin
|
|
|
|
mv dpkg/$syspath/$oem/opt/apps/$dpkgpath/*App dpkg/$syspath/$oem/opt/apps/$dpkgpath/bin
|
2022-07-04 06:26:02 +00:00
|
|
|
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
|
2022-07-04 01:48:13 +00:00
|
|
|
fi
|
2022-08-08 02:10:02 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
if [ $? -ne 0 ];then
|
|
|
|
echo "not find:libsane-"$oem"sane.so"
|
|
|
|
exit 1
|
2022-07-04 01:48:13 +00:00
|
|
|
fi
|
2022-08-08 02:36:30 +00:00
|
|
|
pwd
|
2022-07-04 08:31:52 +00:00
|
|
|
|
2022-07-04 01:48:13 +00:00
|
|
|
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
|
|
|
|
|
2022-07-04 08:31:52 +00:00
|
|
|
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
|
2022-09-02 07:29:46 +00:00
|
|
|
if [ "$cpu" == "x86_64" ]; then
|
|
|
|
cpu="amd64"
|
|
|
|
fi
|
2022-09-21 06:22:55 +00:00
|
|
|
dpkg -b backup/$syspath/$oem/$ver backup/dpkg/$time2/$dpkgtype/$dpkgpath"_"$ver"_"$dpkgarch.deb
|