Name:          hikptool
Summary:       A userspace tool for Linux providing problem location on Kunpeng chips
Version:       1.0.0
Release:       9
License:       MulanPSL2
Source:        %{name}-%{version}.tar.gz
ExclusiveOS:   linux
URL:           https://gitee.com/openeuler/hikptool
BuildRoot:     %{_tmppath}/%{name}-%{version}-root
Prefix:        /usr/lib64
Conflicts:     %{name} < %{version}-%{release}
Provides:      %{name} = %{version}-%{release}
BuildRequires: gcc make cmake
Requires:      glibc
ExclusiveArch: aarch64

Patch0001:     0001-socip-Return-EINVAL-when-the-parameter-check-fails.patch
Patch0002:     0002-fix-compiler-security-option-problem.patch
Patch0003:     0003-fix-the-security-compilation-PIE-issue.patch
Patch0004:     0004-hikptool-fix-print-sas_dev-info-error-problem.patch

%description
This package contains the hikptool

%prep
%autosetup -n %{name} -p1
mkdir -p build

%build
cd build
cmake ../
make

%install
mkdir -p ${RPM_BUILD_ROOT}/usr/bin
mkdir -p ${RPM_BUILD_ROOT}/usr/lib64
install -b -m755 ./build/hikptool                                   ${RPM_BUILD_ROOT}/usr/bin
install -b -m755 ./build/libhikptdev/src/rciep/libhikptdev.so.1     ${RPM_BUILD_ROOT}/usr/lib64
install -b -m755 ./build/libhikptdev/src/rciep/libhikptdev.so       ${RPM_BUILD_ROOT}/usr/lib64
install -b -m755 ./build/libhikptdev/src/rciep/libhikptdev.so.1.0.0 ${RPM_BUILD_ROOT}/usr/lib64

%clean
rm -rf ${RPM_BUILD_ROOT}

%files
/usr/lib64/libhikptdev.so.1
/usr/lib64/libhikptdev.so
%attr(0500,root,root) /usr/lib64/libhikptdev.so.1.0.0
%attr(0500,root,root) /usr/bin/hikptool

%pre
if [ "$1" = "2" ] ; then  #2: update
    rm -rf $RPM_INSTALL_PREFIX/libhikptdev.so      > /dev/null 2>&1 || true
    rm -rf $RPM_INSTALL_PREFIX/libhikptdev.so.1    > /dev/null 2>&1 || true
fi

%post
if [[ "$1" = "1" || "$1" = "2" ]] ; then  #1: install 2: update
    ln -sf $RPM_INSTALL_PREFIX/libhikptdev.so.%{version}    $RPM_INSTALL_PREFIX/libhikptdev.so
    ln -sf $RPM_INSTALL_PREFIX/libhikptdev.so.%{version}    $RPM_INSTALL_PREFIX/libhikptdev.so.1
fi
/sbin/ldconfig

%preun
if [ "$1" = "0" ] ; then  #0: uninstall
    rm -rf /var/log/hikp/                           > /dev/null 2>&1 || true
fi

%postun
/sbin/ldconfig

%changelog
* Thu Apr 06 2023 veega2022 <zhuweijia@huawei.com> 1.0.0-9
- fix sas device info print error bug

* Wed Mar 15 2023 veega2022 <zhuweijia@huawei.com> 1.0.0-8
- fix security compilation PIE issue

* Tue Dec 13 2022 veega2022 <zhuweijia@huawei.com> 1.0.0-7
- fix compiler security option problem

* Mon Dec 12 2022 veega2022 <zhuweijia@huawei.com> 1.0.0-6
- Add socip patch for fix return -EINVAL when the parameter check fails

* Thu Nov 24 2022 veega2022 <zhuweijia@huawei.com> 1.0.0-5
- Add nic_ppp dump mac and vlan function and change the hikptool permission to 0500

* Wed Nov 16 2022 veega2022 <zhuweijia@huawei.com> 1.0.0-4
- change the hikptool permission to 4550

* Fri Oct 28 2022 veega2022 <zhuweijia@huawei.com> 1.0.0-3
- Add sas/sata features source code

* Wed Oct 26 2022 veega2022 <zhuweijia@huawei.com> 1.0.0-2
- Add roce/roh/cxl/serdes/socip/pcie features source code

* Wed Oct 12 2022 veega2022 <zhuweijia@huawei.com> 1.0.0-1
- First Spec Version Include hikptool Code
