build: 打包支持rpm
This commit is contained in:
141
build.sh
141
build.sh
@@ -1,5 +1,33 @@
|
||||
#!/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[@]}"
|
||||
|
||||
ProjectL=omc
|
||||
ProjectU=OMC
|
||||
VERSION=2.2407.1
|
||||
@@ -9,43 +37,92 @@ RelVer=${VERSION}-${RelDate}
|
||||
EmsBEDir=/home/agtuser/probject/nms_cxy
|
||||
EmsFEDir=/home/agtuser/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
|
||||
DebBuildDirOMCBin=${DebBuildDir}/usr/local/omc/bin
|
||||
DebBuildDirOMCEtc=${DebBuildDir}/usr/local/omc/etc
|
||||
DebBuildDirOMCFront=${DebBuildDir}/usr/local/omc/htdocs/front
|
||||
DebBuildDirOMC=${DebBuildDir}/usr/local/omc
|
||||
DebBuildDirOMCBin=${DebBuildDirOMC}/bin
|
||||
DebBuildDirOMCFront=${DebBuildDirOMC}/htdocs/front
|
||||
DebReleaseDebsDir=${EmsBEDir}/build/release/debs/amd64
|
||||
|
||||
# 还原打包目录
|
||||
rm -rf ${DebBuildDir}
|
||||
git checkout .
|
||||
case "${pkgtype}" in
|
||||
rpm)
|
||||
# 还原打包目录
|
||||
rm -rf ${RpmBuildDir}
|
||||
git checkout .
|
||||
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 ${DebBuildDirOMCFront}/*
|
||||
cp -rf ${EmsFEDir}/* ${DebBuildDirOMCFront}
|
||||
echo '/*use nginx*/' | sudo tee ${DebBuildDirOMCFront}/config.js
|
||||
# 前端dist文件
|
||||
rm -rf ${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}/*
|
||||
|
||||
# 打包可执行文件
|
||||
cd $EmsBEDir/omc
|
||||
echo "Make omc ..."
|
||||
make
|
||||
cp -rf ${EmsBEDir}/omc/omc ${DebBuildDirOMCBin}/omc
|
||||
chmod +x ${DebBuildDirOMCBin}/*
|
||||
# 打包rpm
|
||||
cd ${EmsBEDir}
|
||||
chmod 755 ${RpmBuildDir}
|
||||
chmod 755 ${RpmBuildDirOMC}
|
||||
DebPkgFile=omc-r${RelVer}-ky10-nms_cxy.rpm
|
||||
rpmbuild -bb -D "_topdir ${RpmBuildDir}" ${RpmBuildDir}/SPECS/omc.spec
|
||||
|
||||
cp -rf ${DebBuildDirOMCEtc}/db/common/* ${DebBuildDirOMCEtc}/db/install
|
||||
cp -rf ${DebBuildDirOMCEtc}/db/common/* ${DebBuildDirOMCEtc}/db/upgrade
|
||||
# 生成MD5文件
|
||||
cd $RpmReleaseDebsDir
|
||||
rm -f omc-md5sum.txt
|
||||
md5sum ${RpmReleaseDebsDir}/${DebPkgFile} >omc-md5sum.txt
|
||||
;;
|
||||
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
|
||||
|
||||
# 打包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=omc-r${RelVer}-ub22-nms_cxy.deb
|
||||
dpkg -b ${DebBuildDir} ${DebReleaseDebsDir}/${DebPkgFile}
|
||||
# 前端dist文件
|
||||
rm -rf ${DebBuildDirOMCFront}
|
||||
cp -rf ${EmsFEDir}/* ${DebBuildDirOMCFront}
|
||||
echo '/*use nginx*/' | tee ${DebBuildDirOMCFront}/config.js
|
||||
|
||||
# 生成MD5文件
|
||||
cd $DebReleaseDebsDir
|
||||
rm -f omc-md5sum.txt
|
||||
md5sum ${DebReleaseDebsDir}/${DebPkgFile} >omc-md5sum.txt
|
||||
|
||||
# 打包可执行文件
|
||||
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=omc-r${RelVer}-ub22-nms_cxy.deb
|
||||
dpkg -b ${DebBuildDir} ${DebReleaseDebsDir}/${DebPkgFile}
|
||||
|
||||
# 生成MD5文件
|
||||
cd $DebReleaseDebsDir
|
||||
rm -f omc-md5sum.txt
|
||||
md5sum ${DebReleaseDebsDir}/${DebPkgFile} >omc-md5sum.txt
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
exit 4
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user