%define __check_files %{nil} %define __spec_build_pre %{nil} %define __arch_install_post %{nil} %define release_version 1 %define release_date %(echo `date +%%Y%%m%%d`) %define project_lname omc %define project_Uname OMC Name: %{project_lname} Summary: 5GC OMC Version: 2.2502.1 Release: %{release_date} Vendor: omc URL: https://www.omc.com/ License: commercial Group: Applications/Communications #BuildRoot: $PWD/rpmoutput %description 5GC OMC %prep rm -rf ${RPM_BUILD_ROOT}/* mkdir -p ${RPM_BUILD_ROOT} cp -rf ${RPM_BUILD_DIR}/* ${RPM_BUILD_ROOT}/ chmod +rx ${RPM_BUILD_ROOT}/usr/local/omc chmod +rx ${RPM_BUILD_ROOT}/usr/local/omc/* chmod +rx ${RPM_BUILD_ROOT}/usr/local/bin/* chmod +x ${RPM_BUILD_ROOT}/usr/local/omc/htdocs/front chmod +rx ${RPM_BUILD_ROOT}/usr/lib64/* # 安装完成后执行 %post OMCRootDir=/usr/local/omc OMCEtcDir=${OMCRootDir}/etc FERootDir=${OMCRootDir}/htdocs/front OMCBinDir=${OMCRootDir}/bin OMCStaticDir=${OMCRootDir}/static UsrLocalBinDir=/usr/local/bin OMCDaemon=omcd NginxEtcDir=/etc/nginx CFileList="restconf.yaml sshsvc.yaml omc.conf" LogoFileList="zh_brand.png zh_icon.png en_brand.png en_icon.png" echo -n "Stopping OMC service ... " systemctl stop restagent.service systemctl stop sshsvc.service echo "done" for CFile in ${CFileList}; do if [ ! -e "${OMCEtcDir}/${CFile}" ]; then cp -f ${OMCEtcDir}/default/${CFile} ${OMCEtcDir} #else # mv -f ${OMCEtcDir}/${CFile} ${OMCEtcDir}/${CFile}.bak # cp -f ${OMCEtcDir}/default/${CFile} ${OMCEtcDir} #if [ -e "${OMCBinDir}/upgconf.sh" ]; then # ${OMCBinDir}/upgconf.sh #fi fi done if [ ! -e "${FERootDir}/config.js" ]; then cp ${FERootDir}/default/config.js ${FERootDir}; fi for LogoFile in ${LogoFileList}; do if [ ! -e "${OMCStaticDir}/logo/${LogoFile}" ]; then cp ${OMCStaticDir}/omc.d/logo/${LogoFile} ${OMCStaticDir}/logo; fi done if ! id -u omc >/dev/null 2>&1 ; then useradd -d /opt/omc -m -s /bin/bash -p1000ftp@kp omc; else echo "user omc exist"; fi mkdir -p /opt/omc/ftp mkdir -p /opt/omc/ftp/log cd ${UsrLocalBinDir} if [ ! -e ${OMCDaemon} ]; then ln -s ${OMCBinDir}/omcsvc.sh ${OMCDaemon}; fi # setting firewall PortList="80 443 44080 44443 33030 22222" for Port in ${PortList}; do firewall-cmd --zone=public --add-port=${Port}/tcp --permanent done firewall-cmd --reload systemctl daemon-reload systemctl enable restagent.service systemctl enable sshsvc.service # read environment parameter and to do if [ "$M_PARAM" = "install" -o "$M_PARAM" = "upgrade" ]; then echo "M parameter: $M_PARAM" if [ -n "$C_PARAM" ]; then echo "C parameter: $C_PARAM" ${OMCRootDir}/bin/setomc.sh -m $M_PARAM -c $C_PARAM else ${OMCRootDir}/bin/setomc.sh -m $M_PARAM fi # exit while failed to run setomc.sh if [ $? -ne 0 ]; then echo "setomc.sh execution failed. Exiting." exit 1 fi fi echo -n "Starting OMC service ... " systemctl start sshsvc.service systemctl start restagent.service echo "done" # 卸载时执行 %postun UsrLocalBinDir=/usr/local/bin rm -f ${UsrLocalBinDir}/omcd # setting firewall PortList="80 443 44080 44443 33030 22222" for Port in ${PortList}; do firewall-cmd --zone=public --remove-port=${Port}/tcp --permanent done firewall-cmd --reload if [ "$1" = "0" ] ; then sudo systemctl stop restagent.service sudo systemctl stop sshsvc.service #rm -rf /usr/local/omc rm -rf /etc/nginx/conf.d/omc.conf sudo systemctl disable restagent.service sudo systemctl disable sshsvc.service sudo systemctl daemon-reload else sudo systemctl daemon-reload sudo systemctl stop restagent.service sudo systemctl stop sshsvc.service sudo systemctl start sshsvc.service sudo systemctl start restagent.service fi # 规定那些文件必须放入安装程序中,如果没有就报错 %files %defattr(-,root,root) /usr/local/omc/.ssh /usr/local/omc/mmllog /usr/local/omc/mmlhome /usr/local/omc/bin /usr/local/omc/etc /usr/local/omc/htdocs # %exclude /usr/local/omc/htdocs/front/wiregasm/wiregasm.wasm.gz /usr/local/omc/log /usr/local/omc/backup /usr/local/omc/upload /usr/local/omc/software /usr/local/omc/license /usr/local/omc/database /usr/local/omc/static #/etc/nginx/conf.d/omc.conf /lib/systemd/system/restagent.service /lib/systemd/system/sshsvc.service