8f5dea76创建于 6月12日历史提交
Summary:        libknet
Name:           ubs-knet
Version:        1.0.0
Release:        1
License:        Proprietary
Group:          Development/Libraries
Vendor:         Huawei Technologies Co., Ltd.
%if "%{stack_type}" == "dp"
Requires:       dpstack >= 1.0.0
%elif "%{stack_type}" == "dtoe"
Requires:       libdtoe.so
%endif
Autoreq:        no

%define _rpmfilename %%{NAME}-%%{VERSION}.%%{ARCH}.rpm
%define _topdir %(echo $PWD)/build/rpmbuild
%define _rpmdir %{_topdir}/RPMS
%define _srcrpmdir %{_topdir}/SRPMS
%define knetsysdir /etc

%description
knet

%prep

%build

%install
rm -rf %{buildroot}
install -d %{buildroot}"/usr/lib64"
install -d %{buildroot}"/usr/bin"
install -d %{buildroot}"/usr/include"
install -d %buildroot%{knetsysdir}/knet/
install -d %buildroot%{knetsysdir}/knet/run
install -d %buildroot%{knetsysdir}/rsyslog.d/
install -d %buildroot%{knetsysdir}/logrotate.d/

cp -ar %{_topdir}/BUILD/usr/lib64/libknet_core.so* %{buildroot}"/usr/lib64"
cp -ar %{_topdir}/BUILD/usr/lib64/libknet_frame.so* %{buildroot}"/usr/lib64"
%if "%{stack_type}" == "dp"
    cp -ar %{_topdir}/BUILD/usr/lib64/libdpstack.so* %{buildroot}"/usr/lib64"
    cp -rf %{_topdir}/BUILD/usr/bin/knet_mp_daemon %{buildroot}"/usr/bin"
%elif "%{stack_type}" == "dtoe"
    cp -ar %{_topdir}/BUILD/usr/include/* %{buildroot}"/usr/include"
%elif "%{stack_type}" == "kbdtoe"
    cp -ar %{_topdir}/BUILD/usr/lib64/libkbdtoe.so* %{buildroot}"/usr/lib64"
    cp -ar %{_topdir}/BUILD/usr/include/* %{buildroot}"/usr/include"
    cp -rf %{_topdir}/SOURCES/kbdtoe_rsyslog.conf %buildroot%{knetsysdir}/rsyslog.d/
    cp -rf %{_topdir}/SOURCES/logrotate/kbdtoe %buildroot%{knetsysdir}/logrotate.d/
%endif
cp -rf %{_topdir}/SOURCES/knet_comm.conf %buildroot%{knetsysdir}/knet/
cp -rf %{_topdir}/SOURCES/knet_rsyslog.conf %buildroot%{knetsysdir}/rsyslog.d/
cp -rf %{_topdir}/SOURCES/logrotate/knet %buildroot%{knetsysdir}/logrotate.d/


%pre
if [ -e "/etc/knet/knet_comm.conf" ]; then
    cp -pf /etc/knet/knet_comm.conf /etc/knet/knet_comm.conf.tmp
fi

%post
if [ ! -f /.dockerenv ]; then
    systemctl restart rsyslog
fi

if [ -e "/etc/knet/knet_comm.conf.tmp" ]; then
    diff -q /etc/knet/knet_comm.conf /etc/knet/knet_comm.conf.tmp >/dev/null >&1
    if [ $? -eq 0 ]; then
        rm -f /etc/knet/knet_comm.conf.tmp
    else
        mv /etc/knet/knet_comm.conf.tmp /etc/knet/knet_comm.conf.bak
    fi
fi

%postun
if [ ! -f /.dockerenv ] && [ "$1" = "0" ]; then
    systemctl stop rsyslog
fi

if [[ "$1" = "0" && -e "/etc/knet/knet_comm.conf.bak" ]]; then
    rm -rf /etc/knet/knet_comm.conf.bak
fi

%clean

%files
%defattr(-,root,root,-)

%attr(550, root, root) /usr/lib64/libknet_core.so*
%attr(550, root, root) /usr/lib64/libknet_frame.so*
%if "%{stack_type}" == "dp"
    %attr(550, root, root) /usr/lib64/libdpstack.so*
    %attr(550, root, root) /usr/bin/knet_mp_daemon
%elif "%{stack_type}" == "dtoe"
    %attr(644, root, root) /usr/include/knet_dtoe_api.h
%elif "%{stack_type}" == "kbdtoe"
    %attr(550, root, root) /usr/lib64/libkbdtoe.so*
    %attr(644, root, root) /usr/include/kbdtoe.h
    %attr(640, root, root) %{knetsysdir}/rsyslog.d/kbdtoe_rsyslog.conf
    %attr(640, root, root) %{knetsysdir}/logrotate.d/kbdtoe
%endif
%attr(600, root, root) %{knetsysdir}/knet/knet_comm.conf
%attr(640, root, root) %{knetsysdir}/rsyslog.d/knet_rsyslog.conf
%attr(640, root, root) %{knetsysdir}/logrotate.d/knet
%dir %{knetsysdir}/knet/run

%changelog