133 lines
2.9 KiB
RPMSpec
133 lines
2.9 KiB
RPMSpec
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}/
|
|
|
|
|
|
# 安装前脚本 ========
|
|
%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 <omc@example.com> - {version}
|
|
- Build package {date}.
|