Files
nms_cxy/build.sh
2024-03-25 15:38:13 +08:00

163 lines
6.0 KiB
Bash

#!/bin/bash
ProjectL=omc
ProjectU=OMC
PROJECT=${ProjectL}
VERSION=2.2403.3
RelDate=`date +%Y%m%d`
RelVer=${VERSION}-${RelDate}
Ky10Arch=ky10.aarch64
RpmPkgName=${ProjectL}-${RelVer}.ky10.aarch64.rpm
RpmPkgRename=${ProjectL}-r${RelVer}-ky10.rpm
DebPkgName=${ProjectL}-r${RelVer}-ub*.deb
EmsBEDir=/home/agtuser/probject/nms_cxy
EmsBuildRoot=${EmsBEDir}/build
RpmArch=`arch`
RpmsDir=${EmsBEDir}/build/rpmbuild/RPMS/
ReleaseDir=${EmsBEDir}/build/release
PLATFORM=amd64
ARMPLATFORM=aarch64
BuildDir=${EmsBEDir}/build/build
BuildOMCDir=${EmsBEDir}/build/build/usr/local/omc
BuildOMCBinDir=${EmsBEDir}/build/build/usr/local/omc/bin
BuildOMCEtcDir=${EmsBEDir}/build/build/usr/local/omc/etc
BuildLibSystemDir=${EmsBEDir}/build/build/lib/systemd/system
DebBuildDir=${EmsBEDir}/build/debbuild
DebFEBuildDir=${EmsBEDir}/build/debbuild/usr/local/omc/htdocs
DebBuild2204Dir=${EmsBEDir}/build/debbuild/22.04
DebFEBuild2204Dir=${EmsBEDir}/build/debbuild/22.04/usr/local/omc/htdocs
RpmBuildDir=${EmsBEDir}/build/rpmbuild
RpmFEBuildDir=${EmsBEDir}/build/rpmbuild/BUILD/usr/local/omc/htdocs
OmcInstallDir=/usr/local/omc
ConfigEtcDir=${EmsBEDir}/build/config/etc
ConfigSystemdDir=${EmsBEDir}/build/config/systemd
EmsFEVue3Dir=/home/agtuser/Docker/nginx/html/dist
RestagentDir=${EmsBEDir}/omc
CrontaskDir=/usr/local/omc/bin
SshSvcDir=/usr/local/omc/bin
CapTraceDir=/usr/local/omc/bin
Data2htmlDir=/usr/local/omc/bin
DBSQLSrcDir=${EmsBEDir}/build/database
MiscDir=${EmsBEDir}/build/misc
FrontBuildDir=${EmsBEDir}/build/build/usr/local/omc/htdocs
ReleaseDebs=${EmsBEDir}/build/release/debs/amd64
CrontaskSize=27788951
RestagentSize=29525312
if [[ ${RpmArch} =~ "x86_64" ]];then
RelArch=amd64
elif [[ ${RpmArch} =~ "aarch64" ]];then
RelArch=arm64
fi
ProcList="omc"
cd $EmsBEDir
for procName in $ProcList;do
cd $EmsBEDir/$procName
echo "Make $procName ..."
make
done
case "$1" in
rpm)
# make rpm
# clear build cache
rm -rf ${FrontBuildDir}/front/*
rm -rf ${RpmFEBuildDir}/front/*
rm -rf ${EmsBEDir}/build/rpmbuild/BUILD/usr/local/omc/etc/db/*
cp -rf ${RestagentDir}/omc ${BuildOMCBinDir}
cp -rf ${CrontaskDir}/crontask ${BuildOMCBinDir}
cp -rf ${SshSvcDir}/sshsvc ${BuildOMCBinDir}
cp -rf ${CapTraceDir}/captrace ${BuildOMCBinDir}
cp -rf ${Data2htmlDir}/data2html ${BuildOMCBinDir}
cp -rf ${MiscDir}/* ${BuildOMCBinDir}
# rm -rf ${BinDir2}/ne-hosts
cp -rf ${ConfigEtcDir}/* ${BuildOMCEtcDir}
rm -rf ${BuildOMCEtcDir}/db/*
cp -rf ${DBSQLSrcDir}/* ${BuildOMCEtcDir}/db/
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/install
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/upgrade
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/upgvue3
cp -rf ${ConfigSystemdDir}/* ${BuildLibSystemDir}
#unzip ${FrontSrcDir}/front.zip -d ${FrontBuildDir} >/dev/null
mkdir -p ${FrontBuildDir}/front
cp -rf ${EmsFEVue3Dir}/* ${FrontBuildDir}/front >/dev/null
chmod 755 ${BuildOMCBinDir}/*
# chmod 755 ${BinDir2}/*
cp -rf ${EmsBEDir}/build/build/* ${EmsBEDir}/build/rpmbuild/BUILD/
#cp -rf ${EmsBEDir}/build/build/nginx ${EmsBEDir}/build/rpmbuild/BUILD/etc/
#cp -rf ${EmsBEDir}/build/build/systemd ${EmsBEDir}/build/rpmbuild/BUILD/lib/
cd ${EmsBEDir}/build/rpmbuild
rpmbuild -bb -D "_topdir ${EmsBEDir}/build/rpmbuild" ${EmsBEDir}/build/rpmbuild/SPECS/omc.spec
mv -f $RpmsDir/$RpmArch/$RpmPkgName $ReleaseDir/"$1"s/$RelArch/$RpmPkgRename
cd $ReleaseDir/"$1"s/$RelArch
rm -f omc-md5sum.txt
md5sum $RpmPkgRename >omc-md5sum.txt
;;
deb)
VersionID=`grep VERSION_ID /etc/os-release`
if [[ ${VersionID} =~ 'VERSION_ID="22.04"' ]]; then
DebBuildDir=${DebBuild2204Dir}
DebFEBuildDir=${DebFEBuild2204Dir}
#DebPkgFile=${PROJECT}-${VERSION}-22.04-${Release).${PLATFORM).deb
DebPkgFile=${PROJECT}-r${VERSION}-${RelDate}-ub22.deb
elif [[ ${VersionID} =~ 'VERSION_ID="18.04"' ]]; then
DebPkgFile=${PROJECT}-r${VERSION}-${RelDate}-ub18.deb
else
echo "Invalid OS release: ${VersionID}"
exit 1
fi
cd ${EmsBEDir}
#make deb
# clear build cache
rm -rf ${FrontBuildDir}/front/*
rm -rf ${DebFEBuildDir}/front/*
rm -rf ${DebBuildDir}/usr/local/omc/etc/db/*
cp -rf ${RestagentDir}/omc ${BuildOMCBinDir}
cp -rf ${CrontaskDir}/crontask ${BuildOMCBinDir}
cp -rf ${SshSvcDir}/sshsvc ${BuildOMCBinDir}
cp -rf ${CapTraceDir}/captrace ${BuildOMCBinDir}
cp -rf ${Data2htmlDir}/data2html ${BuildOMCBinDir}
cp -rf ${MiscDir}/* ${BuildOMCBinDir}
cp -rf ${ConfigEtcDir}/* ${BuildOMCEtcDir}
rm -rf ${BuildOMCEtcDir}/db/*
cp -rf ${DBSQLSrcDir}/* ${BuildOMCEtcDir}/db/
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/install
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/upgrade
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/upgvue3
cp -rf ${ConfigSystemdDir}/* ${BuildLibSystemDir}
cp -rf ${EmsFEVue3Dir}/* ${FrontBuildDir}/front >/dev/null
chmod 755 ${BuildOMCBinDir}/*
chmod 755 ${DebBuildDir}/DEBIAN/preinst
chmod 755 ${DebBuildDir}/DEBIAN/postinst
chmod 755 ${DebBuildDir}/DEBIAN/postrm
cp -rf ${EmsBEDir}/build/build/* ${DebBuildDir}/
# cp -rf ${EmsBEDir}/build/build/nginx/* ${DebBuildDir}/etc/nginx/conf.d
# cp -rf ${EmsBEDir}/build/build/systemd/*.service ${DebBuildDir}/lib/systemd/system/
chmod +x ${DebBuildDir}/usr/local/omc/bin/*
sed -i "s/YYYYMMDD/${RelDate}/g" ${DebBuildDir}/DEBIAN/control
perl -0777 -i -pe 's/ne:\n user: root/ne:\n user: agtuser/g' ${DebBuildDir}/usr/local/omc/etc/default/omc.yaml
dpkg -b ${DebBuildDir} ${ReleaseDebs}/${DebPkgFile}
cd $ReleaseDir/"$1"s/$RelArch
rm -f omc-md5sum.txt
md5sum $DebPkgName >omc-md5sum.txt
;;
*)
echo "mkpkg"
echo "Usage: $0 rpm|deb"
;;
esac