add: new build script
This commit is contained in:
148
build.sh
Normal file
148
build.sh
Normal 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
|
||||
Reference in New Issue
Block a user