#!/bin/bash ProcList="restagent crontask sshsvc captrace data2html" ProjectL=omc VERSION=2.2403.1 RelDate=`date +%Y%m%d` Release=${RelDate} RelVer=${VERSION}-${RelDate} Ky10Arch=ky10.aarch64 RpmPkgName=${ProjectL}-${RelVer}.ky10.aarch64.rpm RpmPkgRename=${ProjectL}-r${RelVer}-ky10.rpm DebPkgName=${ProjectL}-r${RelVer}-ub*.deb GitLocalRoot=${HOME}/local.git EmsBEDir=${GitLocalRoot}/be.ems EmsBuildRoot=${GitLocalRoot}/build.ems RpmArch=`arch` RpmsDir=${EmsBuildRoot}/rpmbuild/RPMS/ ReleaseDir=${EmsBuildRoot}/release DumpToolDir=${EmsBEDir}/tools/misc PLATFORM=amd64 ARMPLATFORM=aarch64 GitLocalRoot=${HOME}/local.git EmsBuildRoot=${GitLocalRoot}/build.ems BuildDir=${EmsBuildRoot}/build BuildOMCDir=${BuildDir}/usr/local/omc BuildOMCBinDir=${BuildOMCDir}/bin BuildOMCEtcDir=${BuildOMCDir}/etc BuildLibDir=${BuildDir}/lib BuildLibSystemDir=${BuildLibDir}/systemd/system DebBuildDir=${EmsBuildRoot}/debbuild DebFEBuildDir=${EmsBuildRoot}/debbuild/usr/local/omc/htdocs DebBuild2204Dir=${EmsBuildRoot}/debbuild/22.04 DebFEBuild2204Dir=${EmsBuildRoot}/debbuild/22.04/usr/local/omc/htdocs RpmBuildDir=${EmsBuildRoot}/rpmbuild RpmFEBuildDir=${RpmBuildDir}/BUILD/usr/local/omc/htdocs OmcInstallDir=/usr/local/omc ReleaseDir=${EmsBuildRoot}/release EmsBEDir=${GitLocalRoot}/be.ems ConfigEtcDir=${EmsBEDir}/config/etc ConfigSystemdDir=${EmsBEDir}/config/systemd EmsFEDir=${GitLocalRoot}/fe.ems EmsFEVue3Dir=${GitLocalRoot}/fe.ems.vue3/dist LibDir=${EmsBEDir}/lib RESTAGENT=restagent CRONTASK=crontask SshSvcBin=sshsvc CapTraceBin=captrace Data2htmlBin=data2html NBI_ALARM=nbi_alarm NBI_AGENT=nbi_agent 4A_AGENT=4a_agent RestagentDir=${EmsBEDir}/${RESTAGENT} CrontaskDir=${EmsBEDir}/${CRONTASK} SshSvcDir=${EmsBEDir}/${SshSvcBin} CapTraceDir=${EmsBEDir}/${CapTraceBin} Data2htmlDir=${EmsBEDir}/${Data2htmlBin} DBSQLSrcDir=${EmsBEDir}/database MiscDir=${EmsBEDir}/misc FrontBuildDir=${BuildOMCDir}/htdocs FrontSrcDir=${EmsBEDir}/front ReleaseDebs=${ReleaseDir}/debs/${PLATFORM} CrontaskSize=27788951 RestagentSize=29525312 BinWriterDir=${HOME}/bin if [ ${shell grep VERSION_ID /etc/os-release} = 'VERSION_ID="22.04"' ]; then DebBuildDir :=${DebBuild2204Dir} DebFEBuildDir :=${DebFEBuild2204Dir} #DebPkgFile :=${PROJECT}-${VERSION}-22.04-${Release).${PLATFORM).deb DebPkgFile :=${PROJECT}-r${VERSION}-${Release}-ub22.deb elif [ ${shell grep VERSION_ID /etc/os-release} = 'VERSION_ID="18.04"' ]; then DebPkgFile :=${PROJECT}-r${VERSION}-${Release}-ub18.deb fi if [[ ${RpmArch} =~ "x86_64" ]];then RelArch=amd64 elif [[ ${RpmArch} =~ "aarch64" ]];then RelArch=arm64 fi cd $EmsBEDir for procName in $ProcList;do cd $EmsBEDir/$procName echo "Make $procName ..." make done #Get SQL from database if [ "$2"="db" ]; then cd ${DumpToolDir} chmod +x ${DumpToolDir}/dumpdb.sh ${DumpToolDir}/dumpdb.sh fi case "$1" in rpm) cd $EmsBEDir make rpm mv -f $RpmsDir/$RpmArch/$RpmPkgName $ReleaseDir/"$1"s/$RelArch/$RpmPkgRename cd $ReleaseDir/"$1"s/$RelArch rm -f omc-md5sum.txt # rpm --addsign *.rpm md5sum $RpmPkgRename >omc-md5sum.txt ;; deb) 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}/${RESTAGENT} ${BuildOMCBinDir} cp -rf ${CrontaskDir}/${CRONTASK} ${BuildOMCBinDir} cp -rf ${SshSvcDir}/${SshSvcBin} ${BuildOMCBinDir} cp -rf ${CapTraceDir}/${CapTraceBin} ${BuildOMCBinDir} cp -rf ${Data2htmlDir}/${Data2htmlBin} ${BuildOMCBinDir} cp -rf ${MiscDir}/* ${BuildOMCBinDir} cp -rf ${ConfigEtcDir}/* ${BuildOMCEtcDir} rm -rf ${BuildOMCEtcDir}/db/* cp -rf ${DBSQLSrcDir}/* ${BuildOMCEtcDir}/db/ 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 ${BuildDir}/* ${DebBuildDir}/ #cp -rf ${BuildDir}/nginx/* ${DebBuildDir}/etc/nginx/conf.d #cp -rf ${BuildDir}/systemd/*.service ${DebBuildDir}/lib/systemd/system/ chmod +x ${DebBuildDir}/usr/local/omc/bin/* #sed -i.bak 's/YYYYMMDD/${shell date +"%Y%m%d"}/g' ${DebBuildDir}/DEBIAN/control sed -i 's/YYYYMMDD/${shell date +"%Y%m%d"}/g' ${DebBuildDir}/DEBIAN/control perl -0777 -i -pe 's/ne:\n user: root/ne:\n user: agtuser/g' ${DebBuildDir}/usr/local/omc/etc/default/restconf.yaml dpkg -b ${DebBuildDir} ${ReleaseDebs}/${DebPkgFile} cd $ReleaseDir/"$1"s/$RelArch rm -f omc-md5sum.txt # rpm --addsign *.rpm md5sum $DebPkgName >omc-md5sum.txt ;; *) echo "mkpkg" echo "Usage: $0 rpm|deb" ;; esac