1
0

add: new build script

This commit is contained in:
2024-03-07 17:01:10 +08:00
parent 02b88827eb
commit 0b68a7b3da

148
build.sh Normal file
View File

@@ -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