diff --git a/build.sh b/build.sh index 1749820..a6e2c22 100755 --- a/build.sh +++ b/build.sh @@ -1,10 +1,11 @@ #!/bin/bash usage() { - echo "Usage: $0 [OPTION] deb|rpm" + echo "Usage: $0 [OPTION] deb|badeb|rpm" echo echo "Build omc package, option as follow:" - echo " deb|rpm, deb: ubuntu|debian package build by dpkg" + echo " deb|badeb|rpm, deb: ubuntu|debian package build by dpkg" + echo " badeb: ubuntu|debian package build by dpkg" echo " rpm: centos/redhat package, build by rpmbuild" echo " -r, =build root directory build root directory, default directory is $HOME/omc.git" echo " -d dump SQL from database" @@ -15,7 +16,7 @@ pkgtype="" new_args=() # Traverse all parameters for arg in "$@"; do - if [[ "$arg" == "deb" || "$arg" == "rpm" ]]; then + if [[ "$arg" == "deb" || "$arg" == "badeb" || "$arg" == "rpm" ]]; then pkgtype=$arg else new_args+=("$arg") # Add non pkgtype parameters to a new parameter list @@ -70,14 +71,17 @@ ReleaseDir=${EmsBuildRoot}/release DumpToolDir=${EmsBEDir}/tools/misc BuildDir=${EmsBuildRoot}/build +CustomizedDir=${EmsBuildRoot}/customized BuildOMCDir=${BuildDir}/usr/local/omc BuildOMCBinDir=${BuildOMCDir}/bin BuildOMCEtcDir=${BuildOMCDir}/etc BuildLibDir=${BuildDir}/lib BuildLibSystemDir=${BuildLibDir}/systemd/system DebBuildDir=${EmsBuildRoot}/debbuild +DebBuildOMCDir=${EmsBuildRoot}/debbuild/usr/local/omc DebFEBuildDir=${EmsBuildRoot}/debbuild/usr/local/omc/htdocs DebBuild2204Dir=${EmsBuildRoot}/debbuild/22.04 +DebBuild2204OMCDir=${EmsBuildRoot}/debbuild/22.04/usr/local/omc DebFEBuild2204Dir=${EmsBuildRoot}/debbuild/22.04/usr/local/omc/htdocs RpmBuildDir=${EmsBuildRoot}/rpmbuild RpmFEBuildDir=${RpmBuildDir}/BUILD/usr/local/omc/htdocs @@ -230,6 +234,8 @@ case "${pkgtype}" in chmod 755 ${DebBuildDir}/DEBIAN/postinst chmod 755 ${DebBuildDir}/DEBIAN/postrm cp -rf ${BuildDir}/* ${DebBuildDir}/ + cp -rf ${CustomizedDir}/agt.d ${DebBuildOMCDir}/static + cp -rf ${CustomizedDir}/omc.d ${DebBuildOMCDir}/static, #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/* @@ -242,6 +248,74 @@ case "${pkgtype}" in # rpm --addsign *.rpm md5sum ${DebPkgName} >omc-md5sum.txt ;; + badeb) + ProcList="restagent crontask sshsvc captrace data2html" + cd $EmsBEDir + for procName in $ProcList;do + cd $EmsBEDir/$procName + echo "Make $procName ..." + make + done + + VersionID=`grep VERSION_ID /etc/os-release` + if [[ ${VersionID} =~ 'VERSION_ID="22.04"' ]]; then + DebBuildDir=${DebBuild2204Dir} + DebBuildOMCDir=${DebBuild2204OMCDir} + DebFEBuildDir=${DebFEBuild2204Dir} + #DebPkgFile=${PROJECT}-${VERSION}-22.04-${Release).${PLATFORM).deb + DebPkgFile=${PROJECT}-r${VERSION}-${RelDate}-ub22-ba.deb + elif [[ ${VersionID} =~ 'VERSION_ID="18.04"' ]]; then + DebPkgFile=${PROJECT}-r${VERSION}-${RelDate}-ub18-ba.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}/${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 ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/install + cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/upgrade + cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/upgvue3 + #Get SQL from database, overwrite from git + if [ "${dumpdb}" = "yes" ]; then + cd ${DumpToolDir} + chmod +x ${DumpToolDir}/dumpsql.sh + ${DumpToolDir}/dumpsql.sh + fi + 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 ${CustomizedDir}/ba.d ${DebBuildOMCDir}/static + find "${DebBuildOMCDir}/etc/db" -type f -name '*.sql' -exec sed -i '' 's/[一-龥]//g' {} + + echo "Replace all chinese charecter." + 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: omcuser/g' ${DebBuildDir}/usr/local/omc/etc/default/restconf.yaml + dpkg -b ${DebBuildDir} ${ReleasePkgDir}/${DebPkgFile} + + cd ${ReleasePkgDir} + rm -f omc-md5sum.txt + md5sum ${DebPkgName} >omc-md5sum.txt + ;; *) usage exit 4 diff --git a/makepkg.sh b/makepkg.sh index 9e4346c..23a803a 100755 --- a/makepkg.sh +++ b/makepkg.sh @@ -1,10 +1,11 @@ #!/bin/bash usage() { - echo "Usage: $0 deb|rpm [option]..." + echo "Usage: $0 deb|badeb|rpm [option]..." echo echo "Make omc package, option as follow:" - echo " deb|rpm, deb: ubuntu|debian package build by dpkg" + echo " deb|badeb|rpm, deb: ubuntu|debian package build by dpkg" + echo " badeb: BA ubuntu|debian package build by dpkg" echo " rpm: centos/redhat package, build by rpmbuild" echo " -r, =build root directory build root directory, default directory is $HOME/omc.git" echo " -d dump SQL from database" @@ -18,7 +19,7 @@ new_args=() be_args=() # Traverse all parameters for arg in "$@"; do - if [[ "$arg" == "deb" || "$arg" == "ba-deb" || "$arg" == "rpm" ]]; then + if [[ "$arg" == "deb" || "$arg" == "badeb" || "$arg" == "rpm" ]]; then pkgtype=$arg be_args+=("$arg") else