%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.2406.4 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 omc.conf" 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