131 lines
4.0 KiB
Bash
131 lines
4.0 KiB
Bash
#!/bin/bash
|
|
|
|
usage() {
|
|
echo "Usage: $0 [OPTION] deb|rpm"
|
|
echo
|
|
echo "Build omc package, option as follow:"
|
|
echo " deb|rpm, deb: ubuntu|debian package build by dpkg"
|
|
echo " rpm: centos/redhat package, build by rpm"
|
|
echo
|
|
}
|
|
|
|
pkgtype=""
|
|
new_args=()
|
|
# Traverse all parameters
|
|
for arg in "$@"; do
|
|
if [[ "$arg" == "deb" || "$arg" == "rpm" ]]; then
|
|
pkgtype=$arg
|
|
else
|
|
new_args+=("$arg") # Add non pkgtype parameters to a new parameter list
|
|
fi
|
|
done
|
|
|
|
if [ -z "$pkgtype" ]; then
|
|
usage
|
|
exit 1
|
|
fi
|
|
|
|
# Use a new parameter list
|
|
set -- "${new_args[@]}"
|
|
|
|
VERSION=2.2407.1
|
|
RelDate=`date +%Y%m%d`
|
|
RelVer=${VERSION}-${RelDate}
|
|
|
|
EmsBEDir=/home/omcuser/probject/nms_cxy
|
|
EmsFEDir=/home/omcuser/probject/ems_frontend_vue3/dist
|
|
|
|
SystemDir=${EmsBEDir}/build/system
|
|
# rpm
|
|
RpmBuildDir=${EmsBEDir}/build/rpmbuild
|
|
RpmBuildDirOMC=${RpmBuildDir}/BUILD/usr/local/omc
|
|
RpmBuildDirOMCBin=${RpmBuildDirOMC}/bin
|
|
RpmBuildDirOMCFront=${RpmBuildDirOMC}/htdocs/front
|
|
RpmReleaseDebsDir=${EmsBEDir}/build/release/rpms/arm64
|
|
# deb
|
|
DebBuildDir=${EmsBEDir}/build/debbuild
|
|
DebBuildDirOMC=${DebBuildDir}/usr/local/omc
|
|
DebBuildDirOMCBin=${DebBuildDirOMC}/bin
|
|
DebBuildDirOMCFront=${DebBuildDirOMC}/htdocs/front
|
|
DebReleaseDebsDir=${EmsBEDir}/build/release/debs/amd64
|
|
|
|
case "${pkgtype}" in
|
|
rpm)
|
|
# 还原打包目录
|
|
rm -rf ${RpmBuildDir}
|
|
git checkout .
|
|
git pull
|
|
cp -rf ${SystemDir}/* ${RpmBuildDir}/BUILD
|
|
cp -rf ${RpmBuildDirOMC}/etc/db/common/* ${RpmBuildDirOMC}/etc/db/install
|
|
cp -rf ${RpmBuildDirOMC}/etc/db/common/* ${RpmBuildDirOMC}/etc/db/upgrade
|
|
rm -rf ${RpmBuildDirOMC}/etc/db/common
|
|
|
|
# 前端dist文件
|
|
rm -rf ${RpmBuildDirOMCFront}
|
|
mkdir -p ${RpmBuildDirOMCFront}
|
|
cp -rf ${EmsFEDir}/* ${RpmBuildDirOMCFront}
|
|
echo '/*use nginx*/' | tee ${RpmBuildDirOMCFront}/config.js
|
|
|
|
# 打包可执行文件
|
|
cd $EmsBEDir/omc
|
|
echo "Make omc ..."
|
|
make
|
|
cp -rf ${EmsBEDir}/omc/omc ${RpmBuildDirOMCBin}/omc
|
|
chmod +x ${RpmBuildDirOMCBin}/*
|
|
|
|
# 打包rpm
|
|
cd ${EmsBEDir}
|
|
chmod 755 ${RpmBuildDir}
|
|
chmod 755 ${RpmBuildDirOMC}
|
|
rpmbuild -bb -D "_topdir ${RpmBuildDir}" ${RpmBuildDir}/SPECS/omc.spec
|
|
|
|
RpmPkgFile=${RpmReleaseDebsDir}/omc-r${RelVer}-ky10-nms_cxy.rpm
|
|
mv ${RpmBuildDir}/RPMS/aarch64/omc-${RelVer}.ky10.aarch64.rpm ${RpmPkgFile}
|
|
|
|
# 生成MD5文件
|
|
rm -f omc-md5sum.txt
|
|
md5sum ${RpmPkgFile} >${RpmReleaseDebsDir}/omc-md5sum.txt
|
|
echo ${RpmPkgFile}
|
|
;;
|
|
deb)
|
|
# 还原打包目录
|
|
rm -rf ${DebBuildDir}
|
|
git checkout .
|
|
cp -rf ${SystemDir}/* ${DebBuildDir}/
|
|
cp -rf ${DebBuildDirOMC}/etc/db/common/* ${DebBuildDirOMC}/etc/db/install
|
|
cp -rf ${DebBuildDirOMC}/etc/db/common/* ${DebBuildDirOMC}/etc/db/upgrade
|
|
rm -rf ${DebBuildDirOMC}/etc/db/common
|
|
|
|
# 前端dist文件
|
|
rm -rf ${DebBuildDirOMCFront}
|
|
mkdir -p ${DebBuildDirOMCFront}
|
|
cp -rf ${EmsFEDir}/* ${DebBuildDirOMCFront}
|
|
echo '/*use nginx*/' | tee ${DebBuildDirOMCFront}/config.js
|
|
|
|
# 打包可执行文件
|
|
cd $EmsBEDir/omc
|
|
echo "Make omc ..."
|
|
make
|
|
cp -rf ${EmsBEDir}/omc/omc ${DebBuildDirOMCBin}/omc
|
|
chmod +x ${DebBuildDirOMCBin}/*
|
|
|
|
# 打包deb
|
|
cd ${EmsBEDir}
|
|
chmod 755 ${DebBuildDir}
|
|
chmod 755 ${DebBuildDir}/DEBIAN/preinst
|
|
chmod 755 ${DebBuildDir}/DEBIAN/postinst
|
|
chmod 755 ${DebBuildDir}/DEBIAN/postrm
|
|
sed -i "s/YYYYMMDD/${RelDate}/g" ${DebBuildDir}/DEBIAN/control
|
|
DebPkgFile=${DebReleaseDebsDir}/omc-r${RelVer}-ub22-nms_cxy.deb
|
|
dpkg -b ${DebBuildDir} ${DebPkgFile}
|
|
|
|
# 生成MD5文件
|
|
rm -f omc-md5sum.txt
|
|
md5sum ${DebPkgFile} >${DebReleaseDebsDir}/omc-md5sum.txt
|
|
echo ${DebPkgFile}
|
|
;;
|
|
*)
|
|
usage
|
|
exit 4
|
|
;;
|
|
esac |