211 lines
7.1 KiB
RPMSpec
211 lines
7.1 KiB
RPMSpec
%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: AGrandTech 5GC OMC
|
|
Version: 2.2404.5
|
|
Release: %{release_date}
|
|
Vendor: AGrandTech
|
|
URL: https://www.agrandtech.com/
|
|
License: commercial
|
|
Group: Applications/Communications
|
|
#BuildRoot: $PWD/rpmoutput
|
|
%description
|
|
AGrandTech's 5GC OMC
|
|
|
|
%prep
|
|
rm -rf ${RPM_BUILD_ROOT}/*
|
|
#rm -rf ${RPM_BUILD_ROOT}/lib
|
|
#rm -rf ${RPM_BUILD_ROOT}/usr
|
|
mkdir -p ${RPM_BUILD_ROOT}
|
|
cd ${RPM_BUILD_ROOT}
|
|
#mkdir -p usr/local/omc/
|
|
#mkdir -p usr/local/db/
|
|
#mkdir -p etc/nginx/conf.d
|
|
#mkdir -p lib/systemd/system/
|
|
|
|
#cd ${RPM_BUILD_DIR}
|
|
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/db/bin/*
|
|
chmod +rx ${RPM_BUILD_ROOT}/usr/local/bin/*
|
|
chmod -R 755 ${RPM_BUILD_ROOT}/usr/local/omc/htdocs/front
|
|
chmod +rx ${RPM_BUILD_ROOT}/usr/lib64/*
|
|
#cp -rf omc/.ssh ${RPM_BUILD_ROOT}/usr/local/omc/
|
|
#cp -rf omc/mmllog ${RPM_BUILD_ROOT}/usr/local/omc/
|
|
#cp -rf omc/mmlhome ${RPM_BUILD_ROOT}/usr/local/omc/
|
|
#cp -rf omc/bin ${RPM_BUILD_ROOT}/usr/local/omc/
|
|
#cp -rf omc/etc ${RPM_BUILD_ROOT}/usr/local/omc/
|
|
#cp -rf omc/htdocs ${RPM_BUILD_ROOT}/usr/local/omc/
|
|
#cp -rf omc/log ${RPM_BUILD_ROOT}/usr/local/omc/
|
|
#cp -rf omc/backup ${RPM_BUILD_ROOT}/usr/local/omc/
|
|
#cp -rf omc/upload ${RPM_BUILD_ROOT}/usr/local/omc/
|
|
#cp -rf omc/software ${RPM_BUILD_ROOT}/usr/local/omc/
|
|
#cp -rf omc/license ${RPM_BUILD_ROOT}/usr/local/omc/
|
|
#cp -rf omc/database ${RPM_BUILD_ROOT}/usr/local/omc/
|
|
#cp -rf db/* ${RPM_BUILD_ROOT}/usr/local/db/
|
|
#cp -f nginx/omc.conf ${RPM_BUILD_ROOT}/etc/nginx/conf.d/
|
|
#cp -f systemd/restagent.service ${RPM_BUILD_ROOT}/lib/systemd/system/restagent.service
|
|
#cp -f systemd/crontask.service ${RPM_BUILD_ROOT}/lib/systemd/system/crontask.service
|
|
#cp -f systemd/sshsvc.service ${RPM_BUILD_ROOT}/lib/systemd/system/sshsvc.service
|
|
#cp -f systemd/captrace.service ${RPM_BUILD_ROOT}/lib/systemd/system/captrace.service
|
|
#cp -f systemd/adb.service ${RPM_BUILD_ROOT}/lib/systemd/system/adb.service
|
|
|
|
%build
|
|
#cd %{buildroot}/..
|
|
#make
|
|
|
|
# 安装完成后执行
|
|
%post
|
|
RedisConfDir=/usr/local/db/bin/conf
|
|
OMCEtcDir=/usr/local/omc/etc
|
|
FERootDir=/usr/local/omc/htdocs/front
|
|
UsrLib64Dir=/usr/lib64
|
|
OmcBinDir=/usr/local/omc/bin
|
|
OMCStaticDir=/usr/local/omc/static
|
|
UsrLocalBinDir=/usr/local/bin
|
|
OmcDaemon=omcd
|
|
NginxEtcDir=/etc/nginx
|
|
CFileList="restconf.yaml crontask.yaml tasks.yaml sshsvc.yaml capconf.yaml"
|
|
LogoFileList="zh_brand.png zh_icon.png en_brand.png en_icon.png"
|
|
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}
|
|
fi
|
|
done
|
|
if [ ! -e "${RedisConfDir}/adb.conf" ]; then
|
|
cp ${RedisConfDir}/default/adb.conf ${RedisConfDir};
|
|
fi
|
|
sed -i 's/replica-read-only yes/replica-read-only no/g' ${RedisConfDir}/adb.conf
|
|
|
|
LINE="masterauth helloearth"
|
|
FILE="${RedisConfDir}/adb.conf"
|
|
if ! grep -qxF "$LINE" "$FILE"; then
|
|
# 如果不存在,将其添加到文件末尾
|
|
echo "$LINE" >> "$FILE"
|
|
fi
|
|
|
|
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}/agt.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
|
|
#chmod +rx /usr/local/omc
|
|
#chmod +rx /usr/local/omc/*
|
|
#chmod +rx /usr/local/db/bin/*
|
|
#chmod +rx /usr/local/bin/*
|
|
#chmod -R 755 /usr/local/omc/htdocs/front
|
|
cd ${UsrLib64Dir}
|
|
if [ ! -e libwireshark.so.15 ]; then ln -s libwireshark.so.15.0.12 libwireshark.so.15; fi
|
|
if [ ! -e libwireshark.so ]; then ln -s libwireshark.so.15.0.12 libwireshark.so; fi
|
|
if [ ! -e libwiretap.so.12 ]; then ln -s libwiretap.so.12.0.12 libwiretap.so.12; fi
|
|
if [ ! -e libwiretap.so ]; then ln -s libwiretap.so.12.0.12 libwiretap.so; fi
|
|
if [ ! -e libwsutil.so.13 ]; then ln -s libwsutil.so.13.1.0 libwsutil.so.13; fi
|
|
if [ ! -e libwsutil.so ]; then ln -s libwsutil.so.13.1.0 libwsutil.so; fi
|
|
cd ${UsrLocalBinDir}
|
|
if [ ! -e ${OmcDaemon} ]; then ln -s ${OmcBinDir}/omcsvc.sh ${OmcDaemon}; fi
|
|
sed -i 's/listen 80;/listen 1080;/g' ${NginxEtcDir}/nginx.conf
|
|
sed -i 's/listen \[::\]:80;/listen \[::\]:1080;/g' ${NginxEtcDir}/nginx.conf
|
|
systemctl daemon-reload
|
|
systemctl enable restagent.service
|
|
systemctl enable crontask.service
|
|
systemctl enable sshsvc.service
|
|
systemctl enable captrace.service
|
|
systemctl enable adb.service
|
|
systemctl stop restagent.service
|
|
systemctl stop crontask.service
|
|
systemctl stop sshsvc.service
|
|
systemctl stop captrace.service
|
|
systemctl stop nginx.service
|
|
systemctl stop adb.service
|
|
systemctl start adb.service
|
|
systemctl start nginx.service
|
|
systemctl start captrace.service
|
|
systemctl start sshsvc.service
|
|
systemctl start crontask.service
|
|
systemctl start restagent.service
|
|
|
|
# 卸载时执行
|
|
%postun
|
|
UsrLib64Dir=/usr/lib64
|
|
cd ${UsrLib64Dir}
|
|
rm libwireshark.so.15
|
|
rm libwireshark.so
|
|
rm libwiretap.so.12
|
|
rm libwiretap.so
|
|
rm libwsutil.so.13
|
|
rm libwsutil.so
|
|
if [ "$1" = "0" ] ; then
|
|
sudo systemctl stop restagent.service
|
|
sudo systemctl stop crontask.service
|
|
sudo systemctl stop sshsvc.service
|
|
sudo systemctl stop captrace.service
|
|
sudo systemctl stop adb.service
|
|
sudo systemctl stop nginx.service
|
|
#rm -rf /usr/local/omc
|
|
rm -rf /etc/nginx/conf.d/omc.conf
|
|
sudo systemctl disable restagent.service
|
|
sudo systemctl disable crontask.service
|
|
sudo systemctl disable sshsvc.service
|
|
sudo systemctl disable captrace.service
|
|
sudo systemctl disable adb.service
|
|
sudo systemctl daemon-reload
|
|
else
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl stop nginx.service
|
|
sudo systemctl stop restagent.service
|
|
sudo systemctl stop crontask.service
|
|
sudo systemctl stop sshsvc.service
|
|
sudo systemctl stop captrace.service
|
|
sudo systemctl stop adb.service
|
|
sudo systemctl start nginx.service
|
|
sudo systemctl start adb.service
|
|
sudo systemctl start crontask.service
|
|
sudo systemctl start sshsvc.service
|
|
sudo systemctl start captrace.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
|
|
/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
|
|
/usr/local/omc/depends
|
|
/usr/local/db
|
|
/etc/nginx/conf.d/omc.conf
|
|
/lib/systemd/system/restagent.service
|
|
/lib/systemd/system/crontask.service
|
|
/lib/systemd/system/sshsvc.service
|
|
/lib/systemd/system/captrace.service
|
|
/lib/systemd/system/adb.service
|
|
/usr/lib64/libwireshark.so.15.0.12
|
|
/usr/lib64/libwiretap.so.12.0.12
|
|
/usr/lib64/libwsutil.so.13.1.0
|
|
/usr/local/bin/tshark
|
|
|