Name: omc Version: {version} Release: {date} Summary: OMC-Team License: GPL Group: Applications/Communications BuildArch: {arch} # 软件说明 %description OMC-Team for NE # 打包前脚本 ======== %prep rm -rf ${RPM_BUILD_ROOT} && mkdir -p ${RPM_BUILD_ROOT} cp -rf ${RPM_BUILD_DIR}/* ${RPM_BUILD_ROOT}/ # 安装前脚本 ======== %pre rm -rf /usr/local/etc/omc/default # 安装后脚本 ======== %post RootDir=/usr/local/etc/omc # 执行安装后配置 echo "" echo "Output: $RootDir" echo "Please Run:" echo " sudo systemctl start|stop|status|restart omc.service" echo "Setting Firewall:" echo " add: " echo " firewall-cmd --zone=public --add-port=33030/tcp --permanent && firewall-cmd --reload" echo " remove: " echo " firewall-cmd --zone=public --remove-port=33030/tcp --permanent && firewall-cmd --reload" echo "" # 检查是否是第一次安装或是升级 if [ ! -f $RootDir/omc.yaml ]; then # 第一次安装,执行相关操作 chmod +rx /usr/local/bin/omc cp $RootDir/default/omc.yaml $RootDir/omc.yaml cp $RootDir/default/oam_manager.yaml $RootDir/oam_manager.yaml systemctl daemon-reload systemctl enable omc.service systemctl daemon-reload systemctl stop omc.service systemctl start omc.service else # 升级时的操作 systemctl daemon-reload systemctl start omc.service fi # 卸载前脚本 ======== %preun # 停止服务 systemctl daemon-reload systemctl stop omc.service # 卸载后脚本 ======== %postun case "$1" in 0) # 卸载操作 # 删除服务文件 systemctl daemon-reload systemctl disable omc.service rm -rf /lib/systemd/system/omc.service systemctl daemon-reload # 移除相关文件 rm -rf /usr/local/bin/omc rm -rf /usr/local/etc/omc ;; 1) # 更新操作 ;; esac # 包含的文件 ======== %files %defattr(-,root,root,-) /usr/local/etc/omc/* /usr/local/bin/omc /lib/systemd/system/omc.service # 更新日志 ======== %changelog * Wed Jan 01 2025 omc - {version} - Build package {date}.