Name: omc Version: {version} Release: {date} Summary: OMC-Team License: GPL Group: Applications/Communications BuildArch: {arch} # 软件说明 %description OMC is a management application for the 5GC core network. # 打包前脚本 ======== %prep rm -rf ${RPM_BUILD_ROOT} && mkdir -p ${RPM_BUILD_ROOT} cp -rf ${RPM_BUILD_DIR}/* ${RPM_BUILD_ROOT}/ chmod 644 ${RPM_BUILD_ROOT}/usr/local/etc/omc/web/wiregasm/wiregasm.wasm # 安装前脚本 ======== %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=80/tcp --permanent && firewall-cmd --reload" echo " remove: " echo " firewall-cmd --zone=public --remove-port=80/tcp --permanent && firewall-cmd --reload" echo "" # Check if this is the first installation or upgrade if [ ! -f $RootDir/omc.conf ]; then # First installation, perform the related operations chmod +rx /usr/local/bin/omc cp $RootDir/default/omc.conf $RootDir/omc.conf cp $RootDir/default/omc.yaml $RootDir/omc.yaml cp $RootDir/default/sshsvc.yaml $RootDir/sshsvc.yaml # read environment parameter and to do if [ -n "$M_PARAM" ] && [ -n "$C_PARAM" ]; then bash $RootDir/script/setup.sh -i -m $M_PARAM -c $C_PARAM elif [ -n "$C_PARAM" ]; then bash $RootDir/script/setup.sh -i -c $C_PARAM else bash $RootDir/script/setup.sh -i fi if [ $? -ne 0 ]; then echo "Initialization failure." rm -rf $RootDir exit 1 fi systemctl daemon-reload systemctl enable omc.service systemctl enable sshsvc.service systemctl daemon-reload systemctl restart omc.service systemctl restart sshsvc.service else # Operation when upgrading bash $RootDir/script/setup.sh -u if [ $? -ne 0 ]; then echo "Upgrade failed." exit 1 fi systemctl daemon-reload systemctl start omc.service systemctl start sshsvc.service fi rm -rf $RootDir/vendor # 卸载前脚本 ======== %preun # 停止服务 systemctl daemon-reload systemctl stop omc.service systemctl stop sshsvc.service # 卸载后脚本 ======== %postun case "$1" in 0) # 卸载操作 # 删除服务文件 systemctl daemon-reload systemctl disable omc.service systemctl disable sshsvc.service rm -rf /lib/systemd/system/omc.service rm -rf /lib/systemd/system/sshsvc.service systemctl daemon-reload # 移除相关文件 rm -rf /usr/local/bin/omc rm -rf /usr/local/etc/omc ;; 1) # 更新操作 ;; esac # 包含的文件 ======== %files %defattr(-,root,root,-) /lib/systemd/system/* /usr/local/bin/* /usr/local/etc/omc/* /usr/local/omc/* # 更新日志 ======== %changelog * Wed Jan 01 2025 omc - {version} - Build package {date}.