diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..45bf81a --- /dev/null +++ b/build.sh @@ -0,0 +1,148 @@ +#!/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 \ No newline at end of file